mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-25 02:52:51 +03:00
gpu: nvgpu: Remove bare channel scheduling
Remove scheduling IOCTL implementations for bare channels. Also removes code that constructs bare channels in runlist. Bug 1842197 Change-Id: I6e833b38e24a2f2c45c7993edf939d365eaf41f0 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1627326 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
14fa8207e2
commit
86691b59c6
@@ -604,8 +604,8 @@ int vgpu_fifo_wait_engine_idle(struct gk20a *g)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int vgpu_fifo_tsg_set_runlist_interleave(struct gk20a *g,
|
||||
u32 tsgid,
|
||||
int vgpu_fifo_set_runlist_interleave(struct gk20a *g,
|
||||
u32 id,
|
||||
u32 runlist_id,
|
||||
u32 new_level)
|
||||
{
|
||||
@@ -618,62 +618,13 @@ static int vgpu_fifo_tsg_set_runlist_interleave(struct gk20a *g,
|
||||
|
||||
msg.cmd = TEGRA_VGPU_CMD_TSG_SET_RUNLIST_INTERLEAVE;
|
||||
msg.handle = vgpu_get_handle(g);
|
||||
p->tsg_id = tsgid;
|
||||
p->tsg_id = id;
|
||||
p->level = new_level;
|
||||
err = vgpu_comm_sendrecv(&msg, sizeof(msg), sizeof(msg));
|
||||
WARN_ON(err || msg.ret);
|
||||
return err ? err : msg.ret;
|
||||
}
|
||||
|
||||
int vgpu_fifo_set_runlist_interleave(struct gk20a *g,
|
||||
u32 id,
|
||||
bool is_tsg,
|
||||
u32 runlist_id,
|
||||
u32 new_level)
|
||||
{
|
||||
struct tegra_vgpu_cmd_msg msg;
|
||||
struct tegra_vgpu_channel_runlist_interleave_params *p =
|
||||
&msg.params.channel_interleave;
|
||||
struct channel_gk20a *ch;
|
||||
int err;
|
||||
|
||||
gk20a_dbg_fn("");
|
||||
|
||||
if (is_tsg)
|
||||
return vgpu_fifo_tsg_set_runlist_interleave(g, id,
|
||||
runlist_id, new_level);
|
||||
|
||||
ch = &g->fifo.channel[id];
|
||||
msg.cmd = TEGRA_VGPU_CMD_CHANNEL_SET_RUNLIST_INTERLEAVE;
|
||||
msg.handle = vgpu_get_handle(ch->g);
|
||||
p->handle = ch->virt_ctx;
|
||||
p->level = new_level;
|
||||
err = vgpu_comm_sendrecv(&msg, sizeof(msg), sizeof(msg));
|
||||
WARN_ON(err || msg.ret);
|
||||
return err ? err : msg.ret;
|
||||
}
|
||||
|
||||
int vgpu_channel_set_timeslice(struct channel_gk20a *ch, u32 timeslice)
|
||||
{
|
||||
struct tegra_vgpu_cmd_msg msg;
|
||||
struct tegra_vgpu_channel_timeslice_params *p =
|
||||
&msg.params.channel_timeslice;
|
||||
int err;
|
||||
|
||||
gk20a_dbg_fn("");
|
||||
|
||||
msg.cmd = TEGRA_VGPU_CMD_CHANNEL_SET_TIMESLICE;
|
||||
msg.handle = vgpu_get_handle(ch->g);
|
||||
p->handle = ch->virt_ctx;
|
||||
p->timeslice_us = timeslice;
|
||||
err = vgpu_comm_sendrecv(&msg, sizeof(msg), sizeof(msg));
|
||||
err = err ? err : msg.ret;
|
||||
WARN_ON(err);
|
||||
if (!err)
|
||||
ch->timeslice_us = p->timeslice_us;
|
||||
return err;
|
||||
}
|
||||
|
||||
int vgpu_fifo_force_reset_ch(struct channel_gk20a *ch,
|
||||
u32 err_code, bool verbose)
|
||||
{
|
||||
|
||||
@@ -42,7 +42,6 @@ int vgpu_fifo_update_runlist(struct gk20a *g, u32 runlist_id,
|
||||
int vgpu_fifo_wait_engine_idle(struct gk20a *g);
|
||||
int vgpu_fifo_set_runlist_interleave(struct gk20a *g,
|
||||
u32 id,
|
||||
bool is_tsg,
|
||||
u32 runlist_id,
|
||||
u32 new_level);
|
||||
int vgpu_channel_set_timeslice(struct channel_gk20a *ch, u32 timeslice);
|
||||
|
||||
@@ -260,7 +260,6 @@ static const struct gpu_ops vgpu_gm20b_ops = {
|
||||
.alloc_inst = vgpu_channel_alloc_inst,
|
||||
.free_inst = vgpu_channel_free_inst,
|
||||
.setup_ramfc = vgpu_channel_setup_ramfc,
|
||||
.channel_set_timeslice = vgpu_channel_set_timeslice,
|
||||
.default_timeslice_us = vgpu_fifo_default_timeslice_us,
|
||||
.setup_userd = gk20a_fifo_setup_userd,
|
||||
.userd_gp_get = gk20a_fifo_userd_gp_get,
|
||||
|
||||
@@ -290,7 +290,6 @@ static const struct gpu_ops vgpu_gp10b_ops = {
|
||||
.alloc_inst = vgpu_channel_alloc_inst,
|
||||
.free_inst = vgpu_channel_free_inst,
|
||||
.setup_ramfc = vgpu_channel_setup_ramfc,
|
||||
.channel_set_timeslice = vgpu_channel_set_timeslice,
|
||||
.default_timeslice_us = vgpu_fifo_default_timeslice_us,
|
||||
.setup_userd = gk20a_fifo_setup_userd,
|
||||
.userd_gp_get = gk20a_fifo_userd_gp_get,
|
||||
|
||||
@@ -331,7 +331,6 @@ static const struct gpu_ops vgpu_gv11b_ops = {
|
||||
.alloc_inst = vgpu_channel_alloc_inst,
|
||||
.free_inst = vgpu_channel_free_inst,
|
||||
.setup_ramfc = vgpu_channel_setup_ramfc,
|
||||
.channel_set_timeslice = vgpu_channel_set_timeslice,
|
||||
.default_timeslice_us = vgpu_fifo_default_timeslice_us,
|
||||
.setup_userd = gk20a_fifo_setup_userd,
|
||||
.userd_gp_get = gv11b_userd_gp_get,
|
||||
|
||||
Reference in New Issue
Block a user