All of lore.kernel.org
 help / color / mirror / Atom feed
From: Allen Pais <allen.lkml@gmail.com>
To: herbert@gondor.apana.org.au
Cc: davem@davemloft.net, nicolas.ferre@microchip.com,
	alexandre.belloni@bootlin.com, ludovic.desroches@microchip.com,
	jesper.nilsson@axis.com, lars.persson@axis.com,
	horia.geanta@nxp.com, aymen.sghaier@nxp.com,
	bbrezillon@kernel.org, arno@natisbad.org, schalla@marvell.com,
	matthias.bgg@gmail.com, heiko@sntech.de, krzk@kernel.org,
	vz@mleia.com, k.konieczny@samsung.com,
	linux-crypto@vger.kernel.org, Allen Pais <apais@microsoft.com>,
	Romain Perier <romain.perier@gmail.com>
Subject: [RESEND 05/19] crypto: cavium: convert tasklets to use new tasklet_setup() API
Date: Mon,  7 Dec 2020 14:29:17 +0530	[thread overview]
Message-ID: <20201207085931.661267-6-allen.lkml@gmail.com> (raw)
In-Reply-To: <20201207085931.661267-1-allen.lkml@gmail.com>

From: Allen Pais <apais@microsoft.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.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <apais@microsoft.com>
---
 drivers/crypto/cavium/cpt/cptvf_main.c       |  9 ++++-----
 drivers/crypto/cavium/nitrox/nitrox_common.h |  2 +-
 drivers/crypto/cavium/nitrox/nitrox_isr.c    | 13 +++++--------
 drivers/crypto/cavium/nitrox/nitrox_reqmgr.c |  4 ++--
 4 files changed, 12 insertions(+), 16 deletions(-)

diff --git a/drivers/crypto/cavium/cpt/cptvf_main.c b/drivers/crypto/cavium/cpt/cptvf_main.c
index a15245992cf9..87f4cc6e80c1 100644
--- a/drivers/crypto/cavium/cpt/cptvf_main.c
+++ b/drivers/crypto/cavium/cpt/cptvf_main.c
@@ -21,10 +21,10 @@ struct cptvf_wqe_info {
 	struct cptvf_wqe vq_wqe[CPT_NUM_QS_PER_VF];
 };
 
-static void vq_work_handler(unsigned long data)
+static void vq_work_handler(struct tasklet_struct *t)
 {
-	struct cptvf_wqe_info *cwqe_info = (struct cptvf_wqe_info *)data;
-	struct cptvf_wqe *cwqe = &cwqe_info->vq_wqe[0];
+	struct cptvf_wqe *cwqe = from_tasklet(cwqe, t, twork);
+	struct cptvf_wqe_info *cwqe_info = container_of(cwqe, typeof(*cwqe_info), vq_wqe[0]);;
 
 	vq_post_process(cwqe->cptvf, cwqe->qno);
 }
@@ -45,8 +45,7 @@ static int init_worker_threads(struct cpt_vf *cptvf)
 	}
 
 	for (i = 0; i < cptvf->nr_queues; i++) {
-		tasklet_init(&cwqe_info->vq_wqe[i].twork, vq_work_handler,
-			     (u64)cwqe_info);
+		tasklet_setup(&cwqe_info->vq_wqe[i].twork, vq_work_handler);
 		cwqe_info->vq_wqe[i].qno = i;
 		cwqe_info->vq_wqe[i].cptvf = cptvf;
 	}
diff --git a/drivers/crypto/cavium/nitrox/nitrox_common.h b/drivers/crypto/cavium/nitrox/nitrox_common.h
index e4be69d7e6e5..f73ae8735272 100644
--- a/drivers/crypto/cavium/nitrox/nitrox_common.h
+++ b/drivers/crypto/cavium/nitrox/nitrox_common.h
@@ -19,7 +19,7 @@ void nitrox_put_device(struct nitrox_device *ndev);
 int nitrox_common_sw_init(struct nitrox_device *ndev);
 void nitrox_common_sw_cleanup(struct nitrox_device *ndev);
 
-void pkt_slc_resp_tasklet(unsigned long data);
+void pkt_slc_resp_tasklet(struct tasklet_struct *t);
 int nitrox_process_se_request(struct nitrox_device *ndev,
 			      struct se_crypto_request *req,
 			      completion_t cb,
diff --git a/drivers/crypto/cavium/nitrox/nitrox_isr.c b/drivers/crypto/cavium/nitrox/nitrox_isr.c
index 3dec570a190a..cc6b7c78e070 100644
--- a/drivers/crypto/cavium/nitrox/nitrox_isr.c
+++ b/drivers/crypto/cavium/nitrox/nitrox_isr.c
@@ -200,9 +200,9 @@ static void clear_bmi_err_intr(struct nitrox_device *ndev)
 	dev_err_ratelimited(DEV(ndev), "BMI_INT  0x%016llx\n", value);
 }
 
-static void nps_core_int_tasklet(unsigned long data)
+static void nps_core_int_tasklet(struct tasklet_struct *t)
 {
-	struct nitrox_q_vector *qvec = (void *)(uintptr_t)(data);
+	struct nitrox_q_vector *qvec = from_tasklet(qvec, t, resp_tasklet);
 	struct nitrox_device *ndev = qvec->ndev;
 
 	/* if pf mode do queue recovery */
@@ -342,8 +342,7 @@ int nitrox_register_interrupts(struct nitrox_device *ndev)
 		cpu = qvec->ring % num_online_cpus();
 		irq_set_affinity_hint(vec, get_cpu_mask(cpu));
 
-		tasklet_init(&qvec->resp_tasklet, pkt_slc_resp_tasklet,
-			     (unsigned long)qvec);
+		tasklet_setup(&qvec->resp_tasklet, pkt_slc_resp_tasklet);
 		qvec->valid = true;
 	}
 
@@ -363,8 +362,7 @@ int nitrox_register_interrupts(struct nitrox_device *ndev)
 	cpu = num_online_cpus();
 	irq_set_affinity_hint(vec, get_cpu_mask(cpu));
 
-	tasklet_init(&qvec->resp_tasklet, nps_core_int_tasklet,
-		     (unsigned long)qvec);
+	tasklet_setup(&qvec->resp_tasklet, nps_core_int_tasklet);
 	qvec->valid = true;
 
 	return 0;
@@ -441,8 +439,7 @@ int nitrox_sriov_register_interupts(struct nitrox_device *ndev)
 	cpu = num_online_cpus();
 	irq_set_affinity_hint(vec, get_cpu_mask(cpu));
 
-	tasklet_init(&qvec->resp_tasklet, nps_core_int_tasklet,
-		     (unsigned long)qvec);
+	tasklet_setup(&qvec->resp_tasklet, nps_core_int_tasklet);
 	qvec->valid = true;
 
 	return 0;
diff --git a/drivers/crypto/cavium/nitrox/nitrox_reqmgr.c b/drivers/crypto/cavium/nitrox/nitrox_reqmgr.c
index 5826c2c98a50..1c113be87ada 100644
--- a/drivers/crypto/cavium/nitrox/nitrox_reqmgr.c
+++ b/drivers/crypto/cavium/nitrox/nitrox_reqmgr.c
@@ -579,9 +579,9 @@ static void process_response_list(struct nitrox_cmdq *cmdq)
 /**
  * pkt_slc_resp_tasklet - post processing of SE responses
  */
-void pkt_slc_resp_tasklet(unsigned long data)
+void pkt_slc_resp_tasklet(struct tasklet_struct *t)
 {
-	struct nitrox_q_vector *qvec = (void *)(uintptr_t)(data);
+	struct nitrox_q_vector *qvec = from_tasklet(qvec, t, resp_tasklet);
 	struct nitrox_cmdq *cmdq = qvec->cmdq;
 	union nps_pkt_slc_cnts slc_cnts;
 
-- 
2.25.1


  parent reply	other threads:[~2020-12-07  9:01 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-07  8:59 [RESEND 00/19] crypto: convert tasklets to use new tasklet_setup API() Allen Pais
2020-12-07  8:59 ` [RESEND 01/19] crypto: amcc: convert tasklets to use new tasklet_setup() API Allen Pais
2020-12-07  8:59 ` [RESEND 02/19] crypto: atmel: " Allen Pais
2020-12-07  8:59 ` [RESEND 03/19] crypto: axis: " Allen Pais
2020-12-07  8:59 ` [RESEND 04/19] crypto: caam: " Allen Pais
2020-12-14 17:21   ` Horia Geantă
2020-12-07  8:59 ` Allen Pais [this message]
2020-12-07  8:59 ` [RESEND 06/19] crypto: ccp: " Allen Pais
2020-12-07  8:59 ` [RESEND 07/19] crypto: ccree: " Allen Pais
2020-12-07 18:23   ` kernel test robot
2020-12-09  6:46   ` Gilad Ben-Yossef
2020-12-09 11:35     ` Allen
2020-12-07  8:59 ` [RESEND 08/19] crypto: hifn_795x: " Allen Pais
2020-12-07  8:59 ` [RESEND 09/19] crypto: img-hash: " Allen Pais
2020-12-07  8:59 ` [RESEND 10/19] crypto: ixp4xx: " Allen Pais
2020-12-07  8:59 ` [RESEND 11/19] crypto: mediatek: " Allen Pais
2020-12-07  8:59 ` [RESEND 12/19] crypto: omap: " Allen Pais
2020-12-07  8:59 ` [RESEND 13/19] crypto: picoxcell: " Allen Pais
2020-12-07  8:59 ` [RESEND 14/19] crypto: qat: " Allen Pais
2020-12-07  8:59 ` [RESEND 15/19] crypto: qce: " Allen Pais
2020-12-07  8:59 ` [RESEND 16/19] crypto: rockchip: " Allen Pais
2020-12-07  8:59 ` [RESEND 17/19] crypto: s5p: " Allen Pais
2020-12-07  9:50   ` Krzysztof Kozlowski
2020-12-07  8:59 ` [RESEND 18/19] crypto: talitos: " Allen Pais
2020-12-07  8:59 ` [RESEND 19/19] crypto: octeontx: " Allen Pais
2020-12-07  9:13 ` [RESEND 00/19] crypto: convert tasklets to use new tasklet_setup API() Krzysztof Kozlowski

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=20201207085931.661267-6-allen.lkml@gmail.com \
    --to=allen.lkml@gmail.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=apais@microsoft.com \
    --cc=arno@natisbad.org \
    --cc=aymen.sghaier@nxp.com \
    --cc=bbrezillon@kernel.org \
    --cc=davem@davemloft.net \
    --cc=heiko@sntech.de \
    --cc=herbert@gondor.apana.org.au \
    --cc=horia.geanta@nxp.com \
    --cc=jesper.nilsson@axis.com \
    --cc=k.konieczny@samsung.com \
    --cc=krzk@kernel.org \
    --cc=lars.persson@axis.com \
    --cc=linux-crypto@vger.kernel.org \
    --cc=ludovic.desroches@microchip.com \
    --cc=matthias.bgg@gmail.com \
    --cc=nicolas.ferre@microchip.com \
    --cc=romain.perier@gmail.com \
    --cc=schalla@marvell.com \
    --cc=vz@mleia.com \
    /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.