From: Allen Pais <allen.lkml@gmail.com>
To: kuba@kernel.org, Nicolas Ferre <nicolas.ferre@microchip.com>,
Claudiu Beznea <claudiu.beznea@tuxon.dev>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>
Cc: jes@trained-monkey.org, kda@linux-powerpc.org,
cai.huoqing@linux.dev, dougmill@linux.ibm.com, npiggin@gmail.com,
christophe.leroy@csgroup.eu, aneesh.kumar@kernel.org,
naveen.n.rao@linux.ibm.com, nnac123@linux.ibm.com,
tlfalcon@linux.ibm.com, cooldavid@cooldavid.org,
marcin.s.wojtas@gmail.com, mlindner@marvell.com,
stephen@networkplumber.org, nbd@nbd.name, sean.wang@mediatek.com,
Mark-MC.Lee@mediatek.com, lorenzo@kernel.org,
matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com,
borisp@nvidia.com, bryan.whitehead@microchip.com,
UNGLinuxDriver@microchip.com, louis.peens@corigine.com,
richardcochran@gmail.com, linux-rdma@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-acenic@sunsite.dk,
linux-net-drivers@amd.com, Allen Pais <allen.lkml@gmail.com>,
netdev@vger.kernel.org
Subject: [PATCH 04/15] net: macb: Convert tasklet API to new bottom half workqueue mechanism
Date: Thu, 20 Jun 2024 22:05:14 -0700 [thread overview]
Message-ID: <20240621050525.3720069-5-allen.lkml@gmail.com> (raw)
In-Reply-To: <20240621050525.3720069-1-allen.lkml@gmail.com>
Migrate tasklet APIs to the new bottom half workqueue mechanism. It
replaces all occurrences of tasklet usage with the appropriate workqueue
APIs throughout the macb driver. This transition ensures compatibility
with the latest design and enhances performance.
Signed-off-by: Allen Pais <allen.lkml@gmail.com>
---
drivers/net/ethernet/cadence/macb.h | 3 ++-
drivers/net/ethernet/cadence/macb_main.c | 10 +++++-----
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h
index aa5700ac9c00..e570cad705d2 100644
--- a/drivers/net/ethernet/cadence/macb.h
+++ b/drivers/net/ethernet/cadence/macb.h
@@ -13,6 +13,7 @@
#include <linux/net_tstamp.h>
#include <linux/interrupt.h>
#include <linux/phy/phy.h>
+#include <linux/workqueue.h>
#if defined(CONFIG_ARCH_DMA_ADDR_T_64BIT) || defined(CONFIG_MACB_USE_HWSTAMP)
#define MACB_EXT_DESC
@@ -1322,7 +1323,7 @@ struct macb {
spinlock_t rx_fs_lock;
unsigned int max_tuples;
- struct tasklet_struct hresp_err_tasklet;
+ struct work_struct hresp_err_bh_work;
int rx_bd_rd_prefetch;
int tx_bd_rd_prefetch;
diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index 241ce9a2fa99..0dc21a9ae215 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -1792,9 +1792,9 @@ static int macb_tx_poll(struct napi_struct *napi, int budget)
return work_done;
}
-static void macb_hresp_error_task(struct tasklet_struct *t)
+static void macb_hresp_error_task(struct work_struct *work)
{
- struct macb *bp = from_tasklet(bp, t, hresp_err_tasklet);
+ struct macb *bp = from_work(bp, work, hresp_err_bh_work);
struct net_device *dev = bp->dev;
struct macb_queue *queue;
unsigned int q;
@@ -1994,7 +1994,7 @@ static irqreturn_t macb_interrupt(int irq, void *dev_id)
}
if (status & MACB_BIT(HRESP)) {
- tasklet_schedule(&bp->hresp_err_tasklet);
+ queue_work(system_bh_wq, &bp->hresp_err_bh_work);
netdev_err(dev, "DMA bus error: HRESP not OK\n");
if (bp->caps & MACB_CAPS_ISR_CLEAR_ON_WRITE)
@@ -5150,7 +5150,7 @@ static int macb_probe(struct platform_device *pdev)
goto err_out_unregister_mdio;
}
- tasklet_setup(&bp->hresp_err_tasklet, macb_hresp_error_task);
+ INIT_WORK(&bp->hresp_err_bh_work, macb_hresp_error_task);
netdev_info(dev, "Cadence %s rev 0x%08x at 0x%08lx irq %d (%pM)\n",
macb_is_gem(bp) ? "GEM" : "MACB", macb_readl(bp, MID),
@@ -5194,7 +5194,7 @@ static void macb_remove(struct platform_device *pdev)
mdiobus_free(bp->mii_bus);
unregister_netdev(dev);
- tasklet_kill(&bp->hresp_err_tasklet);
+ cancel_work_sync(&bp->hresp_err_bh_work);
pm_runtime_disable(&pdev->dev);
pm_runtime_dont_use_autosuspend(&pdev->dev);
if (!pm_runtime_suspended(&pdev->dev)) {
--
2.34.1
next prev parent reply other threads:[~2024-06-21 5:05 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20240621050525.3720069-1-allen.lkml@gmail.com>
2024-06-21 5:05 ` [PATCH 01/15] net: alteon: Convert tasklet API to new bottom half workqueue mechanism Allen Pais
2024-06-21 5:05 ` [PATCH 02/15] net: xgbe: " Allen Pais
2024-06-21 5:05 ` [PATCH 03/15] net: cnic: " Allen Pais
2024-06-21 5:05 ` Allen Pais [this message]
2024-06-21 5:05 ` [PATCH 05/15] net: cavium/liquidio: " Allen Pais
2024-06-21 11:45 ` Sunil Kovvuri Goutham
2024-06-21 5:05 ` [PATCH 06/15] net: octeon: " Allen Pais
2024-06-21 5:05 ` [PATCH 07/15] net: thunderx: " Allen Pais
2024-06-21 11:49 ` Sunil Kovvuri Goutham
2024-06-21 5:05 ` [PATCH 08/15] net: chelsio: " Allen Pais
2024-06-21 5:05 ` [PATCH 09/15] net: sundance: " Allen Pais
2024-06-21 5:05 ` [PATCH 10/15] net: hinic: " Allen Pais
2024-06-25 10:47 ` Paolo Abeni
2024-06-21 5:05 ` [PATCH 11/15] net: ehea: " Allen Pais
2024-06-21 5:05 ` [PATCH 12/15] net: ibmvnic: " Allen Pais
2024-06-21 5:05 ` [PATCH 13/15] net: jme: " Allen Pais
2024-06-25 10:38 ` Paolo Abeni
2024-07-01 10:13 ` Allen
2024-07-01 14:23 ` Paolo Abeni
2024-07-15 17:50 ` Allen
2024-07-16 8:47 ` Paolo Abeni
2024-07-17 16:55 ` Allen
2024-06-21 5:05 ` [PATCH 14/15] net: marvell: " Allen Pais
2024-06-21 5:05 ` [PATCH 15/15] net: mtk-wed: " Allen Pais
2024-06-21 18:39 [PATCH 00/15] ethernet: Convert from tasklet to BH workqueue Allen Pais
2024-06-21 18:39 ` [PATCH 04/15] net: macb: Convert tasklet API to new bottom half workqueue mechanism Allen Pais
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=20240621050525.3720069-5-allen.lkml@gmail.com \
--to=allen.lkml@gmail.com \
--cc=Mark-MC.Lee@mediatek.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=aneesh.kumar@kernel.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=borisp@nvidia.com \
--cc=bryan.whitehead@microchip.com \
--cc=cai.huoqing@linux.dev \
--cc=christophe.leroy@csgroup.eu \
--cc=claudiu.beznea@tuxon.dev \
--cc=cooldavid@cooldavid.org \
--cc=davem@davemloft.net \
--cc=dougmill@linux.ibm.com \
--cc=edumazet@google.com \
--cc=jes@trained-monkey.org \
--cc=kda@linux-powerpc.org \
--cc=kuba@kernel.org \
--cc=linux-acenic@sunsite.dk \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-net-drivers@amd.com \
--cc=linux-rdma@vger.kernel.org \
--cc=lorenzo@kernel.org \
--cc=louis.peens@corigine.com \
--cc=marcin.s.wojtas@gmail.com \
--cc=matthias.bgg@gmail.com \
--cc=mlindner@marvell.com \
--cc=naveen.n.rao@linux.ibm.com \
--cc=nbd@nbd.name \
--cc=netdev@vger.kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=nnac123@linux.ibm.com \
--cc=npiggin@gmail.com \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=sean.wang@mediatek.com \
--cc=stephen@networkplumber.org \
--cc=tlfalcon@linux.ibm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).