Skip to content
Permalink
Browse files
drm/i915/gt: convert tasklets to use new tasklet_setup() API
In preparation for unconditionally passing the struct tasklet_struct
pointer to all tasklet callbacks, switch to using the new tasklet_setup()
and from_tasklet() to pass the tasklet pointer explicitly.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  • Loading branch information
andy-shev authored and intel-lab-lkp committed Aug 19, 2020
1 parent 25a322f commit 72a087952fafa97f8e7fa8b42fee8234c2a04fd7
Showing 1 changed file with 6 additions and 9 deletions.
@@ -3130,9 +3130,9 @@ static bool preempt_timeout(const struct intel_engine_cs *const engine)
* Check the unread Context Status Buffers and manage the submission of new
* contexts to the ELSP accordingly.
*/
static void execlists_submission_tasklet(unsigned long data)
static void execlists_submission_tasklet(struct tasklet_struct *t)
{
struct intel_engine_cs * const engine = (struct intel_engine_cs *)data;
struct intel_engine_cs * const engine = from_tasklet(engine, t, execlists.tasklet);
bool timeout = preempt_timeout(engine);

process_csb(engine);
@@ -5113,8 +5113,7 @@ int intel_execlists_submission_setup(struct intel_engine_cs *engine)
struct intel_uncore *uncore = engine->uncore;
u32 base = engine->mmio_base;

tasklet_init(&engine->execlists.tasklet,
execlists_submission_tasklet, (unsigned long)engine);
tasklet_setup(&engine->execlists.tasklet, execlists_submission_tasklet);
timer_setup(&engine->execlists.timer, execlists_timeslice, 0);
timer_setup(&engine->execlists.preempt, execlists_preempt, 0);

@@ -5509,9 +5508,9 @@ static intel_engine_mask_t virtual_submission_mask(struct virtual_engine *ve)
return mask;
}

static void virtual_submission_tasklet(unsigned long data)
static void virtual_submission_tasklet(struct tasklet_struct *t)
{
struct virtual_engine * const ve = (struct virtual_engine *)data;
struct virtual_engine * const ve = from_tasklet(ve, t, base.execlists.tasklet);
const int prio = READ_ONCE(ve->base.execlists.queue_priority_hint);
intel_engine_mask_t mask;
unsigned int n;
@@ -5724,9 +5723,7 @@ intel_execlists_create_virtual(struct intel_engine_cs **siblings,

INIT_LIST_HEAD(virtual_queue(ve));
ve->base.execlists.queue_priority_hint = INT_MIN;
tasklet_init(&ve->base.execlists.tasklet,
virtual_submission_tasklet,
(unsigned long)ve);
tasklet_setup(&ve->base.execlists.tasklet, virtual_submission_tasklet);

intel_context_init(&ve->context, &ve->base);

0 comments on commit 72a0879

Please sign in to comment.