All of lore.kernel.org
 help / color / mirror / Atom feed
From: Allen Pais <allen.cryptic@gmail.com>
To: jdike@addtoit.com, richard@nod.at,
	anton.ivanov@cambridgegreys.com, 3chas3@gmail.com,
	axboe@kernel.dk, stefanr@s5r6.in-berlin.de, airlied@linux.ie,
	daniel@ffwll.ch, sre@kernel.org,
	James.Bottomley@HansenPartnership.com, kys@microsoft.com,
	deller@gmx.de, dmitry.torokhov@gmail.com,
	jassisinghbrar@gmail.com, shawnguo@kernel.org,
	s.hauer@pengutronix.de, maximlevitsky@gmail.com, oakad@yahoo.com,
	ulf.hansson@linaro.org, mporter@kernel.crashing.org,
	alex.bou9@gmail.com, broonie@kernel.org, martyn@welchs.me.uk,
	manohar.vanga@gmail.com, mitch@sfgoth.com, davem@davemloft.net,
	kuba@kernel.org
Cc: keescook@chromium.org, linux-um@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	linux-atm-general@lists.sourceforge.net, netdev@vger.kernel.org,
	linux-block@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	openipmi-developer@lists.sourceforge.net,
	linux1394-devel@lists.sourceforge.net,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	linux-hyperv@vger.kernel.org, linux-parisc@vger.kernel.org,
	linux-input@vger.kernel.org, linux-mmc@vger.kernel.org,
	linux-ntb@googlegroups.com, linux-s390@vger.kernel.org,
	linux-spi@vger.kernel.org, devel@driverdev.osuosl.org,
	Allen Pais <allen.lkml@gmail.com>,
	Romain Perier <romain.perier@gmail.com>
Subject: [PATCH] drm: i915: convert tasklets to use new tasklet_setup() API
Date: Mon, 17 Aug 2020 14:46:04 +0530	[thread overview]
Message-ID: <20200817091617.28119-10-allen.cryptic@gmail.com> (raw)
In-Reply-To: <20200817091617.28119-1-allen.cryptic@gmail.com>

From: Allen Pais <allen.lkml@gmail.com>

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
and remove the .data field.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <allen.lkml@gmail.com>
---
 drivers/gpu/drm/i915/gt/intel_lrc.c           | 31 ++++++++++---------
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |  8 +++--
 2 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 24322ef08aa4..c45e42b9f239 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -3130,9 +3130,10 @@ 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);
@@ -4306,9 +4307,10 @@ static void execlists_reset_rewind(struct intel_engine_cs *engine, bool stalled)
 	spin_unlock_irqrestore(&engine->active.lock, flags);
 }
 
-static void nop_submission_tasklet(unsigned long data)
+static void nop_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);
 
 	/* The driver is wedged; don't process any more events. */
 	WRITE_ONCE(engine->execlists.queue_priority_hint, INT_MIN);
@@ -4391,7 +4393,8 @@ static void execlists_reset_cancel(struct intel_engine_cs *engine)
 	execlists->queue = RB_ROOT_CACHED;
 
 	GEM_BUG_ON(__tasklet_is_enabled(&execlists->tasklet));
-	execlists->tasklet.func = nop_submission_tasklet;
+	execlists->tasklet.func = (void (*)(unsigned long))
+				  nop_submission_tasklet;
 
 	spin_unlock_irqrestore(&engine->active.lock, flags);
 }
@@ -4986,7 +4989,8 @@ void intel_execlists_set_default_submission(struct intel_engine_cs *engine)
 {
 	engine->submit_request = execlists_submit_request;
 	engine->schedule = i915_schedule;
-	engine->execlists.tasklet.func = execlists_submission_tasklet;
+	engine->execlists.tasklet.func = (void (*)(unsigned long))
+		execlists_submission_tasklet;
 
 	engine->reset.prepare = execlists_reset_prepare;
 	engine->reset.rewind = execlists_reset_rewind;
@@ -5113,8 +5117,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 +5512,10 @@ 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 *  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 +5728,8 @@ 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);
 
@@ -5748,7 +5751,7 @@ intel_execlists_create_virtual(struct intel_engine_cs **siblings,
 		 * layering if we handle cloning of the requests and
 		 * submitting a copy into each backend.
 		 */
-		if (sibling->execlists.tasklet.func !=
+		if (sibling->execlists.tasklet.func != (void (*)(unsigned long))
 		    execlists_submission_tasklet) {
 			err = -ENODEV;
 			goto err_put;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index fdfeb4b9b0f5..3013ff54431c 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -344,9 +344,10 @@ static void __guc_dequeue(struct intel_engine_cs *engine)
 	execlists->active = execlists->inflight;
 }
 
-static void guc_submission_tasklet(unsigned long data)
+static void guc_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);
 	struct intel_engine_execlists * const execlists = &engine->execlists;
 	struct i915_request **port, *rq;
 	unsigned long flags;
@@ -591,7 +592,8 @@ static void guc_set_default_submission(struct intel_engine_cs *engine)
 	 */
 	intel_execlists_set_default_submission(engine);
 
-	engine->execlists.tasklet.func = guc_submission_tasklet;
+	engine->execlists.tasklet.func =
+				(void (*)(unsigned long))guc_submission_tasklet;
 
 	/* do not use execlists park/unpark */
 	engine->park = engine->unpark = NULL;
-- 
2.17.1


WARNING: multiple messages have this Message-ID (diff)
From: Allen Pais <allen.cryptic@gmail.com>
To: jdike@addtoit.com, richard@nod.at,
	anton.ivanov@cambridgegreys.com, 3chas3@gmail.com,
	axboe@kernel.dk, stefanr@s5r6.in-berlin.de, airlied@linux.ie,
	daniel@ffwll.ch, sre@kernel.org,
	James.Bottomley@HansenPartnership.com, kys@microsoft.com,
	deller@gmx.de, dmitry.torokhov@gmail.com,
	jassisinghbrar@gmail.com, shawnguo@kernel.org,
	s.hauer@pengutronix.de, maximlevitsky@gmail.com, oakad@yahoo.com,
	ulf.hansson@linaro.org, mporter@kernel.crashing.org,
	alex.bou9@gmail.com, broonie@kernel.org, martyn@welchs.me.uk,
	manohar.vanga@gmail.com, mitch@sfgoth.com, davem@davemloft.net,
	kuba@kernel.org
Cc: devel@driverdev.osuosl.org, linux-s390@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	Romain Perier <romain.perier@gmail.com>,
	keescook@chromium.org, linux-parisc@vger.kernel.org,
	linux-ntb@googlegroups.com, netdev@vger.kernel.org,
	intel-gfx@lists.freedesktop.org,
	linux-atm-general@lists.sourceforge.net,
	linux-um@lists.infradead.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-spi@vger.kernel.org,
	linux-block@vger.kernel.org, Allen Pais <allen.lkml@gmail.com>,
	linux-input@vger.kernel.org, linux-mmc@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux1394-devel@lists.sourceforge.net,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH] drm: i915: convert tasklets to use new tasklet_setup() API
Date: Mon, 17 Aug 2020 14:46:04 +0530	[thread overview]
Message-ID: <20200817091617.28119-10-allen.cryptic@gmail.com> (raw)
In-Reply-To: <20200817091617.28119-1-allen.cryptic@gmail.com>

From: Allen Pais <allen.lkml@gmail.com>

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
and remove the .data field.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <allen.lkml@gmail.com>
---
 drivers/gpu/drm/i915/gt/intel_lrc.c           | 31 ++++++++++---------
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |  8 +++--
 2 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 24322ef08aa4..c45e42b9f239 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -3130,9 +3130,10 @@ 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);
@@ -4306,9 +4307,10 @@ static void execlists_reset_rewind(struct intel_engine_cs *engine, bool stalled)
 	spin_unlock_irqrestore(&engine->active.lock, flags);
 }
 
-static void nop_submission_tasklet(unsigned long data)
+static void nop_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);
 
 	/* The driver is wedged; don't process any more events. */
 	WRITE_ONCE(engine->execlists.queue_priority_hint, INT_MIN);
@@ -4391,7 +4393,8 @@ static void execlists_reset_cancel(struct intel_engine_cs *engine)
 	execlists->queue = RB_ROOT_CACHED;
 
 	GEM_BUG_ON(__tasklet_is_enabled(&execlists->tasklet));
-	execlists->tasklet.func = nop_submission_tasklet;
+	execlists->tasklet.func = (void (*)(unsigned long))
+				  nop_submission_tasklet;
 
 	spin_unlock_irqrestore(&engine->active.lock, flags);
 }
@@ -4986,7 +4989,8 @@ void intel_execlists_set_default_submission(struct intel_engine_cs *engine)
 {
 	engine->submit_request = execlists_submit_request;
 	engine->schedule = i915_schedule;
-	engine->execlists.tasklet.func = execlists_submission_tasklet;
+	engine->execlists.tasklet.func = (void (*)(unsigned long))
+		execlists_submission_tasklet;
 
 	engine->reset.prepare = execlists_reset_prepare;
 	engine->reset.rewind = execlists_reset_rewind;
@@ -5113,8 +5117,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 +5512,10 @@ 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 *  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 +5728,8 @@ 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);
 
@@ -5748,7 +5751,7 @@ intel_execlists_create_virtual(struct intel_engine_cs **siblings,
 		 * layering if we handle cloning of the requests and
 		 * submitting a copy into each backend.
 		 */
-		if (sibling->execlists.tasklet.func !=
+		if (sibling->execlists.tasklet.func != (void (*)(unsigned long))
 		    execlists_submission_tasklet) {
 			err = -ENODEV;
 			goto err_put;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index fdfeb4b9b0f5..3013ff54431c 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -344,9 +344,10 @@ static void __guc_dequeue(struct intel_engine_cs *engine)
 	execlists->active = execlists->inflight;
 }
 
-static void guc_submission_tasklet(unsigned long data)
+static void guc_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);
 	struct intel_engine_execlists * const execlists = &engine->execlists;
 	struct i915_request **port, *rq;
 	unsigned long flags;
@@ -591,7 +592,8 @@ static void guc_set_default_submission(struct intel_engine_cs *engine)
 	 */
 	intel_execlists_set_default_submission(engine);
 
-	engine->execlists.tasklet.func = guc_submission_tasklet;
+	engine->execlists.tasklet.func =
+				(void (*)(unsigned long))guc_submission_tasklet;
 
 	/* do not use execlists park/unpark */
 	engine->park = engine->unpark = NULL;
-- 
2.17.1

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

WARNING: multiple messages have this Message-ID (diff)
From: Allen Pais <allen.cryptic@gmail.com>
To: jdike@addtoit.com, richard@nod.at,
	anton.ivanov@cambridgegreys.com, 3chas3@gmail.com,
	axboe@kernel.dk, stefanr@s5r6.in-berlin.de, airlied@linux.ie,
	daniel@ffwll.ch, sre@kernel.org,
	James.Bottomley@HansenPartnership.com, kys@microsoft.com,
	deller@gmx.de, dmitry.torokhov@gmail.com,
	jassisinghbrar@gmail.com, shawnguo@kernel.org,
	s.hauer@pengutronix.de, maximlevitsky@gmail.com, oakad@yahoo.com,
	ulf.hansson@linaro.org, mporter@kernel.crashing.org,
	alex.bou9@gmail.com, broonie@kernel.org, martyn@welchs.me.uk,
	manohar.vanga@gmail.com, mitch@sfgoth.com, davem@davemloft.net,
	kuba@kernel.org
Cc: devel@driverdev.osuosl.org, linux-s390@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	Romain Perier <romain.perier@gmail.com>,
	keescook@chromium.org, linux-parisc@vger.kernel.org,
	linux-ntb@googlegroups.com, netdev@vger.kernel.org,
	intel-gfx@lists.freedesktop.org,
	linux-atm-general@lists.sourceforge.net,
	linux-um@lists.infradead.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-spi@vger.kernel.org,
	linux-block@vger.kernel.org, Allen Pais <allen.lkml@gmail.com>,
	linux-input@vger.kernel.org, linux-mmc@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux1394-devel@lists.sourceforge.net,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH] drm: i915: convert tasklets to use new tasklet_setup() API
Date: Mon, 17 Aug 2020 14:46:04 +0530	[thread overview]
Message-ID: <20200817091617.28119-10-allen.cryptic@gmail.com> (raw)
In-Reply-To: <20200817091617.28119-1-allen.cryptic@gmail.com>

From: Allen Pais <allen.lkml@gmail.com>

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
and remove the .data field.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <allen.lkml@gmail.com>
---
 drivers/gpu/drm/i915/gt/intel_lrc.c           | 31 ++++++++++---------
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |  8 +++--
 2 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 24322ef08aa4..c45e42b9f239 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -3130,9 +3130,10 @@ 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);
@@ -4306,9 +4307,10 @@ static void execlists_reset_rewind(struct intel_engine_cs *engine, bool stalled)
 	spin_unlock_irqrestore(&engine->active.lock, flags);
 }
 
-static void nop_submission_tasklet(unsigned long data)
+static void nop_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);
 
 	/* The driver is wedged; don't process any more events. */
 	WRITE_ONCE(engine->execlists.queue_priority_hint, INT_MIN);
@@ -4391,7 +4393,8 @@ static void execlists_reset_cancel(struct intel_engine_cs *engine)
 	execlists->queue = RB_ROOT_CACHED;
 
 	GEM_BUG_ON(__tasklet_is_enabled(&execlists->tasklet));
-	execlists->tasklet.func = nop_submission_tasklet;
+	execlists->tasklet.func = (void (*)(unsigned long))
+				  nop_submission_tasklet;
 
 	spin_unlock_irqrestore(&engine->active.lock, flags);
 }
@@ -4986,7 +4989,8 @@ void intel_execlists_set_default_submission(struct intel_engine_cs *engine)
 {
 	engine->submit_request = execlists_submit_request;
 	engine->schedule = i915_schedule;
-	engine->execlists.tasklet.func = execlists_submission_tasklet;
+	engine->execlists.tasklet.func = (void (*)(unsigned long))
+		execlists_submission_tasklet;
 
 	engine->reset.prepare = execlists_reset_prepare;
 	engine->reset.rewind = execlists_reset_rewind;
@@ -5113,8 +5117,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 +5512,10 @@ 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 *  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 +5728,8 @@ 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);
 
@@ -5748,7 +5751,7 @@ intel_execlists_create_virtual(struct intel_engine_cs **siblings,
 		 * layering if we handle cloning of the requests and
 		 * submitting a copy into each backend.
 		 */
-		if (sibling->execlists.tasklet.func !=
+		if (sibling->execlists.tasklet.func != (void (*)(unsigned long))
 		    execlists_submission_tasklet) {
 			err = -ENODEV;
 			goto err_put;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index fdfeb4b9b0f5..3013ff54431c 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -344,9 +344,10 @@ static void __guc_dequeue(struct intel_engine_cs *engine)
 	execlists->active = execlists->inflight;
 }
 
-static void guc_submission_tasklet(unsigned long data)
+static void guc_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);
 	struct intel_engine_execlists * const execlists = &engine->execlists;
 	struct i915_request **port, *rq;
 	unsigned long flags;
@@ -591,7 +592,8 @@ static void guc_set_default_submission(struct intel_engine_cs *engine)
 	 */
 	intel_execlists_set_default_submission(engine);
 
-	engine->execlists.tasklet.func = guc_submission_tasklet;
+	engine->execlists.tasklet.func =
+				(void (*)(unsigned long))guc_submission_tasklet;
 
 	/* do not use execlists park/unpark */
 	engine->park = engine->unpark = NULL;
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Allen Pais <allen.cryptic@gmail.com>
To: jdike@addtoit.com, richard@nod.at,
	anton.ivanov@cambridgegreys.com, 3chas3@gmail.com,
	axboe@kernel.dk, stefanr@s5r6.in-berlin.de, airlied@linux.ie,
	daniel@ffwll.ch, sre@kernel.org,
	James.Bottomley@HansenPartnership.com, kys@microsoft.com,
	deller@gmx.de, dmitry.torokhov@gmail.com,
	jassisinghbrar@gmail.com, shawnguo@kernel.org,
	s.hauer@pengutronix.de, maximlevitsky@gmail.com, oakad@yahoo.com,
	ulf.hansson@linaro.org, mporter@kernel.crashing.org,
	alex.bou9@gmail.com, broonie@kernel.org, martyn@welchs.me.uk,
	manohar.vanga@gmail.com, mitch@sfgoth.com, davem@davemloft.net,
	kuba@kernel.org
Cc: devel@driverdev.osuosl.org, linux-s390@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	Romain Perier <romain.perier@gmail.com>,
	keescook@chromium.org, linux-parisc@vger.kernel.org,
	linux-ntb@googlegroups.com, netdev@vger.kernel.org,
	intel-gfx@lists.freedesktop.org,
	linux-atm-general@lists.sourceforge.net,
	linux-um@lists.infradead.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-spi@vger.kernel.org,
	linux-block@vger.kernel.org, Allen Pais <allen.lkml@gmail.com>,
	linux-input@vger.kernel.org, linux-mmc@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux1394-devel@lists.sourceforge.net,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH] drm: i915: convert tasklets to use new tasklet_setup() API
Date: Mon, 17 Aug 2020 14:46:04 +0530	[thread overview]
Message-ID: <20200817091617.28119-10-allen.cryptic@gmail.com> (raw)
In-Reply-To: <20200817091617.28119-1-allen.cryptic@gmail.com>

From: Allen Pais <allen.lkml@gmail.com>

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
and remove the .data field.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <allen.lkml@gmail.com>
---
 drivers/gpu/drm/i915/gt/intel_lrc.c           | 31 ++++++++++---------
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |  8 +++--
 2 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 24322ef08aa4..c45e42b9f239 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -3130,9 +3130,10 @@ 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);
@@ -4306,9 +4307,10 @@ static void execlists_reset_rewind(struct intel_engine_cs *engine, bool stalled)
 	spin_unlock_irqrestore(&engine->active.lock, flags);
 }
 
-static void nop_submission_tasklet(unsigned long data)
+static void nop_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);
 
 	/* The driver is wedged; don't process any more events. */
 	WRITE_ONCE(engine->execlists.queue_priority_hint, INT_MIN);
@@ -4391,7 +4393,8 @@ static void execlists_reset_cancel(struct intel_engine_cs *engine)
 	execlists->queue = RB_ROOT_CACHED;
 
 	GEM_BUG_ON(__tasklet_is_enabled(&execlists->tasklet));
-	execlists->tasklet.func = nop_submission_tasklet;
+	execlists->tasklet.func = (void (*)(unsigned long))
+				  nop_submission_tasklet;
 
 	spin_unlock_irqrestore(&engine->active.lock, flags);
 }
@@ -4986,7 +4989,8 @@ void intel_execlists_set_default_submission(struct intel_engine_cs *engine)
 {
 	engine->submit_request = execlists_submit_request;
 	engine->schedule = i915_schedule;
-	engine->execlists.tasklet.func = execlists_submission_tasklet;
+	engine->execlists.tasklet.func = (void (*)(unsigned long))
+		execlists_submission_tasklet;
 
 	engine->reset.prepare = execlists_reset_prepare;
 	engine->reset.rewind = execlists_reset_rewind;
@@ -5113,8 +5117,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 +5512,10 @@ 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 *  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 +5728,8 @@ 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);
 
@@ -5748,7 +5751,7 @@ intel_execlists_create_virtual(struct intel_engine_cs **siblings,
 		 * layering if we handle cloning of the requests and
 		 * submitting a copy into each backend.
 		 */
-		if (sibling->execlists.tasklet.func !=
+		if (sibling->execlists.tasklet.func != (void (*)(unsigned long))
 		    execlists_submission_tasklet) {
 			err = -ENODEV;
 			goto err_put;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index fdfeb4b9b0f5..3013ff54431c 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -344,9 +344,10 @@ static void __guc_dequeue(struct intel_engine_cs *engine)
 	execlists->active = execlists->inflight;
 }
 
-static void guc_submission_tasklet(unsigned long data)
+static void guc_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);
 	struct intel_engine_execlists * const execlists = &engine->execlists;
 	struct i915_request **port, *rq;
 	unsigned long flags;
@@ -591,7 +592,8 @@ static void guc_set_default_submission(struct intel_engine_cs *engine)
 	 */
 	intel_execlists_set_default_submission(engine);
 
-	engine->execlists.tasklet.func = guc_submission_tasklet;
+	engine->execlists.tasklet.func =
+				(void (*)(unsigned long))guc_submission_tasklet;
 
 	/* do not use execlists park/unpark */
 	engine->park = engine->unpark = NULL;
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Allen Pais <allen.cryptic@gmail.com>
To: jdike@addtoit.com, richard@nod.at,
	anton.ivanov@cambridgegreys.com, 3chas3@gmail.com,
	axboe@kernel.dk, stefanr@s5r6.in-berlin.de, airlied@linux.ie,
	daniel@ffwll.ch, sre@kernel.org,
	James.Bottomley@HansenPartnership.com, kys@microsoft.com,
	deller@gmx.de, dmitry.torokhov@gmail.com,
	jassisinghbrar@gmail.com, shawnguo@kernel.org,
	s.hauer@pengutronix.de, maximlevitsky@gmail.com, oakad@yahoo.com,
	ulf.hansson@linaro.org, mporter@kernel.crashing.org,
	alex.bou9@gmail.com, broonie@kernel.org, martyn@welchs.me.uk,
	manohar.vanga@gmail.com, mitch@sfgoth.com, davem@davemloft.net,
	kuba@kernel.org
Cc: devel@driverdev.osuosl.org, linux-s390@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	Romain Perier <romain.perier@gmail.com>,
	keescook@chromium.org, linux-parisc@vger.kernel.org,
	linux-ntb@googlegroups.com, netdev@vger.kernel.org,
	intel-gfx@lists.freedesktop.org,
	linux-atm-general@lists.sourceforge.net,
	linux-um@lists.infradead.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-spi@vger.kernel.org,
	linux-block@vger.kernel.org, Allen Pais <allen.lkml@gmail.com>,
	linux-input@vger.kernel.org, linux-mmc@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux1394-devel@lists.sourceforge.net,
	linux-arm-kernel@lists.infradead.org
Subject: [Intel-gfx] [PATCH] drm: i915: convert tasklets to use new tasklet_setup() API
Date: Mon, 17 Aug 2020 14:46:04 +0530	[thread overview]
Message-ID: <20200817091617.28119-10-allen.cryptic@gmail.com> (raw)
In-Reply-To: <20200817091617.28119-1-allen.cryptic@gmail.com>

From: Allen Pais <allen.lkml@gmail.com>

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
and remove the .data field.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <allen.lkml@gmail.com>
---
 drivers/gpu/drm/i915/gt/intel_lrc.c           | 31 ++++++++++---------
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |  8 +++--
 2 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 24322ef08aa4..c45e42b9f239 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -3130,9 +3130,10 @@ 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);
@@ -4306,9 +4307,10 @@ static void execlists_reset_rewind(struct intel_engine_cs *engine, bool stalled)
 	spin_unlock_irqrestore(&engine->active.lock, flags);
 }
 
-static void nop_submission_tasklet(unsigned long data)
+static void nop_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);
 
 	/* The driver is wedged; don't process any more events. */
 	WRITE_ONCE(engine->execlists.queue_priority_hint, INT_MIN);
@@ -4391,7 +4393,8 @@ static void execlists_reset_cancel(struct intel_engine_cs *engine)
 	execlists->queue = RB_ROOT_CACHED;
 
 	GEM_BUG_ON(__tasklet_is_enabled(&execlists->tasklet));
-	execlists->tasklet.func = nop_submission_tasklet;
+	execlists->tasklet.func = (void (*)(unsigned long))
+				  nop_submission_tasklet;
 
 	spin_unlock_irqrestore(&engine->active.lock, flags);
 }
@@ -4986,7 +4989,8 @@ void intel_execlists_set_default_submission(struct intel_engine_cs *engine)
 {
 	engine->submit_request = execlists_submit_request;
 	engine->schedule = i915_schedule;
-	engine->execlists.tasklet.func = execlists_submission_tasklet;
+	engine->execlists.tasklet.func = (void (*)(unsigned long))
+		execlists_submission_tasklet;
 
 	engine->reset.prepare = execlists_reset_prepare;
 	engine->reset.rewind = execlists_reset_rewind;
@@ -5113,8 +5117,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 +5512,10 @@ 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 *  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 +5728,8 @@ 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);
 
@@ -5748,7 +5751,7 @@ intel_execlists_create_virtual(struct intel_engine_cs **siblings,
 		 * layering if we handle cloning of the requests and
 		 * submitting a copy into each backend.
 		 */
-		if (sibling->execlists.tasklet.func !=
+		if (sibling->execlists.tasklet.func != (void (*)(unsigned long))
 		    execlists_submission_tasklet) {
 			err = -ENODEV;
 			goto err_put;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index fdfeb4b9b0f5..3013ff54431c 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -344,9 +344,10 @@ static void __guc_dequeue(struct intel_engine_cs *engine)
 	execlists->active = execlists->inflight;
 }
 
-static void guc_submission_tasklet(unsigned long data)
+static void guc_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);
 	struct intel_engine_execlists * const execlists = &engine->execlists;
 	struct i915_request **port, *rq;
 	unsigned long flags;
@@ -591,7 +592,8 @@ static void guc_set_default_submission(struct intel_engine_cs *engine)
 	 */
 	intel_execlists_set_default_submission(engine);
 
-	engine->execlists.tasklet.func = guc_submission_tasklet;
+	engine->execlists.tasklet.func =
+				(void (*)(unsigned long))guc_submission_tasklet;
 
 	/* do not use execlists park/unpark */
 	engine->park = engine->unpark = NULL;
-- 
2.17.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2020-08-17  9:18 UTC|newest]

Thread overview: 242+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-17  9:15 [PATCH] arch: um: convert tasklets to use new tasklet_setup() API Allen Pais
2020-08-17  9:15 ` [Intel-gfx] " Allen Pais
2020-08-17  9:15 ` Allen Pais
2020-08-17  9:15 ` Allen Pais
2020-08-17  9:15 ` Allen Pais
2020-08-17  9:15 ` [PATCH] block: " Allen Pais
2020-08-17  9:15   ` [Intel-gfx] " Allen Pais
2020-08-17  9:15   ` Allen Pais
2020-08-17  9:15   ` Allen Pais
2020-08-17  9:15   ` Allen Pais
2020-08-17 13:56   ` Jens Axboe
2020-08-17 13:56     ` Jens Axboe
2020-08-17 13:56     ` [Intel-gfx] " Jens Axboe
2020-08-17 13:56     ` Jens Axboe
2020-08-17 13:56     ` Jens Axboe
2020-08-17 13:56     ` Jens Axboe
2020-08-17 19:29     ` Kees Cook
2020-08-17 19:29       ` [Intel-gfx] " Kees Cook
2020-08-17 19:29       ` Kees Cook
2020-08-17 19:29       ` Kees Cook
2020-08-17 19:29       ` Kees Cook
2020-08-17 19:44       ` Jens Axboe
2020-08-17 19:44         ` Jens Axboe
2020-08-17 19:44         ` [Intel-gfx] " Jens Axboe
2020-08-17 19:44         ` Jens Axboe
2020-08-17 19:44         ` Jens Axboe
2020-08-17 19:44         ` Jens Axboe
2020-08-17 19:48         ` Kees Cook
2020-08-17 19:48           ` [Intel-gfx] " Kees Cook
2020-08-17 19:48           ` Kees Cook
2020-08-17 19:48           ` Kees Cook
2020-08-17 19:48           ` Kees Cook
2020-08-17 20:02           ` Jens Axboe
2020-08-17 20:02             ` Jens Axboe
2020-08-17 20:02             ` [Intel-gfx] " Jens Axboe
2020-08-17 20:02             ` Jens Axboe
2020-08-17 20:02             ` Jens Axboe
2020-08-17 20:02             ` Jens Axboe
2020-08-18 20:00             ` James Bottomley
2020-08-18 20:00               ` James Bottomley
2020-08-18 20:00               ` [Intel-gfx] " James Bottomley
2020-08-18 20:00               ` James Bottomley
2020-08-18 20:00               ` James Bottomley
2020-08-18 20:00               ` James Bottomley
2020-08-18 20:10               ` Kees Cook
2020-08-18 20:10                 ` [Intel-gfx] " Kees Cook
2020-08-18 20:10                 ` Kees Cook
2020-08-18 20:10                 ` Kees Cook
2020-08-18 20:10                 ` Kees Cook
2020-08-18 21:00                 ` James Bottomley
2020-08-18 21:00                   ` James Bottomley
2020-08-18 21:00                   ` [Intel-gfx] " James Bottomley
2020-08-18 21:00                   ` James Bottomley
2020-08-18 21:00                   ` James Bottomley
2020-08-18 21:00                   ` James Bottomley
2020-08-19 10:48                 ` Allen
2020-08-19 10:48                   ` Allen
2020-08-19 10:48                   ` [Intel-gfx] " Allen
2020-08-19 10:48                   ` Allen
2020-08-19 10:48                   ` Allen
2020-08-19 10:48                   ` Allen
2020-08-19 13:00               ` Jens Axboe
2020-08-19 13:00                 ` Jens Axboe
2020-08-19 13:00                 ` [Intel-gfx] " Jens Axboe
2020-08-19 13:00                 ` Jens Axboe
2020-08-19 13:00                 ` Jens Axboe
2020-08-19 13:00                 ` Jens Axboe
2020-08-19 13:11                 ` Greg KH
2020-08-19 13:11                   ` Greg KH
2020-08-19 13:11                   ` [Intel-gfx] " Greg KH
2020-08-19 13:11                   ` Greg KH
2020-08-19 13:11                   ` Greg KH
2020-08-19 13:11                   ` Greg KH
2020-08-19 13:17                   ` Jens Axboe
2020-08-19 13:17                     ` Jens Axboe
2020-08-19 13:17                     ` [Intel-gfx] " Jens Axboe
2020-08-19 13:17                     ` Jens Axboe
2020-08-19 13:17                     ` Jens Axboe
2020-08-19 13:17                     ` Jens Axboe
2020-08-19 13:30                     ` Greg KH
2020-08-19 13:30                       ` Greg KH
2020-08-19 13:30                       ` [Intel-gfx] " Greg KH
2020-08-19 13:30                       ` Greg KH
2020-08-19 13:30                       ` Greg KH
2020-08-19 13:30                       ` Greg KH
2020-08-19 14:59                 ` James Bottomley
2020-08-19 14:59                   ` James Bottomley
2020-08-19 14:59                   ` [Intel-gfx] " James Bottomley
2020-08-19 14:59                   ` James Bottomley
2020-08-19 14:59                   ` James Bottomley
2020-08-19 14:59                   ` James Bottomley
2020-08-19 16:24                   ` Allen
2020-08-19 16:24                     ` Allen
2020-08-19 16:24                     ` [Intel-gfx] " Allen
2020-08-19 16:24                     ` Allen
2020-08-19 16:24                     ` Allen
2020-08-19 16:24                     ` Allen
2020-08-19 16:56                     ` Jens Axboe
2020-08-19 16:56                       ` Jens Axboe
2020-08-19 16:56                       ` [Intel-gfx] " Jens Axboe
2020-08-19 16:56                       ` Jens Axboe
2020-08-19 16:56                       ` Jens Axboe
2020-08-19 16:56                       ` Jens Axboe
2020-08-19 21:39                     ` James Bottomley
2020-08-19 21:39                       ` James Bottomley
2020-08-19 21:39                       ` [Intel-gfx] " James Bottomley
2020-08-19 21:39                       ` James Bottomley
2020-08-19 21:39                       ` James Bottomley
2020-08-19 21:39                       ` James Bottomley
2020-08-26  1:51                       ` Allen Pais
2020-08-26  1:51                         ` Allen Pais
2020-08-26  1:51                         ` [Intel-gfx] " Allen Pais
2020-08-26  1:51                         ` Allen Pais
2020-08-26  1:51                         ` Allen Pais
2020-08-26  1:51                         ` Allen Pais
2020-08-26  9:55                         ` Dan Carpenter
2020-08-26  9:55                           ` Dan Carpenter
2020-08-26  9:55                           ` [Intel-gfx] " Dan Carpenter
2020-08-26  9:55                           ` Dan Carpenter
2020-08-26  9:55                           ` Dan Carpenter
2020-08-26  9:55                           ` Dan Carpenter
2020-08-26 15:13                           ` Kees Cook
2020-08-26 15:13                             ` [Intel-gfx] " Kees Cook
2020-08-26 15:13                             ` Kees Cook
2020-08-26 15:13                             ` Kees Cook
2020-08-26 15:13                             ` Kees Cook
2020-08-27  1:37                             ` Allen
2020-08-27  1:37                               ` Allen
2020-08-27  1:37                               ` [Intel-gfx] " Allen
2020-08-27  1:37                               ` Allen
2020-08-27  1:37                               ` Allen
2020-08-27  1:37                               ` Allen
2020-08-17  9:15 ` [PATCH] char: ipmi: " Allen Pais
2020-08-17  9:15   ` [Intel-gfx] " Allen Pais
2020-08-17  9:15   ` Allen Pais
2020-08-17  9:15   ` Allen Pais
2020-08-17  9:15   ` Allen Pais
2020-08-17 12:15   ` Corey Minyard
2020-08-17 12:15     ` Corey Minyard
2020-08-17 12:15     ` [Intel-gfx] " Corey Minyard
2020-08-17 12:15     ` Corey Minyard
2020-08-17 12:15     ` Corey Minyard
2020-08-17 12:15     ` Corey Minyard
2020-08-18  9:16     ` Allen
2020-08-18  9:16       ` Allen
2020-08-18  9:16       ` [Intel-gfx] " Allen
2020-08-18  9:16       ` Allen
2020-08-18  9:16       ` Allen
2020-08-18  9:16       ` Allen
2020-08-18 11:32       ` Corey Minyard
2020-08-18 11:32         ` Corey Minyard
2020-08-18 11:32         ` [Intel-gfx] " Corey Minyard
2020-08-18 11:32         ` Corey Minyard
2020-08-18 11:32         ` Corey Minyard
2020-08-18 11:32         ` Corey Minyard
2020-08-17  9:15 ` [PATCH] driver: hv: " Allen Pais
2020-08-17  9:15   ` [Intel-gfx] " Allen Pais
2020-08-17  9:15   ` Allen Pais
2020-08-17  9:15   ` Allen Pais
2020-08-17  9:15   ` Allen Pais
2020-08-17  9:15 ` [PATCH] drivers: atm: " Allen Pais
2020-08-17  9:15   ` [Intel-gfx] " Allen Pais
2020-08-17  9:15   ` Allen Pais
2020-08-17  9:15   ` Allen Pais
2020-08-17  9:15   ` Allen Pais
2020-08-17  9:16 ` [PATCH] drivers: ntb: " Allen Pais
2020-08-17  9:16   ` [Intel-gfx] " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16 ` [PATCH] drivers: rapidio: " Allen Pais
2020-08-17  9:16   ` [Intel-gfx] " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16 ` [PATCH] drivers: s390: " Allen Pais
2020-08-17  9:16   ` [Intel-gfx] " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16 ` [PATCH] drivers: vme: " Allen Pais
2020-08-17  9:16   ` [Intel-gfx] " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16 ` Allen Pais [this message]
2020-08-17  9:16   ` [Intel-gfx] [PATCH] drm: i915: " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16 ` [PATCH] firewire: ohci: " Allen Pais
2020-08-17  9:16   ` [Intel-gfx] " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16 ` [PATCH 1/2] hsi: nokia-modem: " Allen Pais
2020-08-17  9:16   ` [Intel-gfx] " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16 ` [PATCH] input: serio: " Allen Pais
2020-08-17  9:16   ` [Intel-gfx] " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16 ` [PATCH 1/2] mailbox: bcm: " Allen Pais
2020-08-17  9:16   ` [Intel-gfx] " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16 ` [PATCH 1/2] memstick: jmb38x: " Allen Pais
2020-08-17  9:16   ` [Intel-gfx] " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16 ` [PATCH 1/2] misc: ibmvmc: " Allen Pais
2020-08-17  9:16   ` [Intel-gfx] " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16 ` [PATCH] net: atm: convert tasklets callbacks to use from_tasklet() Allen Pais
2020-08-17  9:16   ` [Intel-gfx] " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16 ` [PATCH] platform: goldfish: convert tasklets to use new tasklet_setup() API Allen Pais
2020-08-17  9:16   ` [Intel-gfx] " Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-08-17  9:16   ` Allen Pais
2020-10-18 21:50 ` [PATCH] arch: um: " Richard Weinberger
2020-10-18 21:50   ` Richard Weinberger
2020-10-18 21:50   ` [Intel-gfx] " Richard Weinberger
2020-10-18 21:50   ` Richard Weinberger
2020-10-18 21:50   ` Richard Weinberger
     [not found]   ` <7307c1ca-696f-060d-78a2-d4bf05221e71@cambridgegreys.com>
2020-10-19  8:26     ` Fwd: " Anton Ivanov
2020-10-19 20:55       ` Richard Weinberger
2020-10-19  7:39 ` Anton Ivanov
2020-10-19  7:39   ` Anton Ivanov
2020-10-19  7:39   ` [Intel-gfx] " Anton Ivanov
2020-10-19  7:39   ` Anton Ivanov
2020-10-19  7:39   ` Anton Ivanov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200817091617.28119-10-allen.cryptic@gmail.com \
    --to=allen.cryptic@gmail.com \
    --cc=3chas3@gmail.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=airlied@linux.ie \
    --cc=alex.bou9@gmail.com \
    --cc=allen.lkml@gmail.com \
    --cc=anton.ivanov@cambridgegreys.com \
    --cc=axboe@kernel.dk \
    --cc=broonie@kernel.org \
    --cc=daniel@ffwll.ch \
    --cc=davem@davemloft.net \
    --cc=deller@gmx.de \
    --cc=devel@driverdev.osuosl.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jassisinghbrar@gmail.com \
    --cc=jdike@addtoit.com \
    --cc=keescook@chromium.org \
    --cc=kuba@kernel.org \
    --cc=kys@microsoft.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-atm-general@lists.sourceforge.net \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-ntb@googlegroups.com \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=linux-um@lists.infradead.org \
    --cc=linux1394-devel@lists.sourceforge.net \
    --cc=manohar.vanga@gmail.com \
    --cc=martyn@welchs.me.uk \
    --cc=maximlevitsky@gmail.com \
    --cc=mitch@sfgoth.com \
    --cc=mporter@kernel.crashing.org \
    --cc=netdev@vger.kernel.org \
    --cc=oakad@yahoo.com \
    --cc=openipmi-developer@lists.sourceforge.net \
    --cc=richard@nod.at \
    --cc=romain.perier@gmail.com \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=sre@kernel.org \
    --cc=stefanr@s5r6.in-berlin.de \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.