Re: [PATCH v2 08/15] net: rnpgbe: Add irq support
From: Yibo Dong <dong100@mucse.com>
Date: 2025-07-23 03:22:39
Also in:
linux-doc, lkml
On Tue, Jul 22, 2025 at 02:25:57PM +0100, Simon Horman wrote:
On Mon, Jul 21, 2025 at 07:32:31PM +0800, Dong Yibo wrote:quoted
Initialize irq functions for driver use. Signed-off-by: Dong Yibo <dong100@mucse.com>...quoted
diff --git a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_lib.c b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_lib.c...quoted
+/** + * rnpgbe_acquire_msix_vectors - Allocate msix vectors + * @mucse: pointer to private structure + * @vectors: number of msix vectorsPlease also document the return value for functions that have one and a kernel doc. Flagged by ./scripts/kernel-doc --none -Wall
Got it, I will fix it.
quoted
+ **/ +static int rnpgbe_acquire_msix_vectors(struct mucse *mucse, + int vectors)...quoted
diff --git a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c...quoted
+/** + * rnpgbe_msix_other - Other irq handler + * @irq: irq num + * @data: private data + * + * @return: IRQ_HANDLED + **/ +static irqreturn_t rnpgbe_msix_other(int irq, void *data) +{ + struct mucse *mucse = (struct mucse *)data; + + set_bit(__MUCSE_IN_IRQ, &mucse->state); + clear_bit(__MUCSE_IN_IRQ, &mucse->state); + + return IRQ_HANDLED; +} + +/** + * register_mbx_irq - Regist mbx RoutineRegister
Got it, I will fix it.
quoted
+ * @mucse: pointer to private structure + * + * @return: 0 on success, negative on failure + **/ +static int register_mbx_irq(struct mucse *mucse) +{ + struct mucse_hw *hw = &mucse->hw; + struct net_device *netdev = mucse->netdev; + int err = 0;Nit, unlike most of this patch(set) the above doesn't follow reverse xmas tree order - longest line to shortest - for variable declarations. Edward Cree's tool can be useful here. https://github.com/ecree-solarflare/xmastree/
Got it, I will fix it. Great tool! Thanks.
quoted
+ + /* for mbx:vector0 */ + if (mucse->num_other_vectors == 0) + return err; + /* only do this in msix mode */ + if (mucse->flags & M_FLAG_MSIX_ENABLED) { + err = request_irq(mucse->msix_entries[0].vector, + rnpgbe_msix_other, 0, netdev->name, + mucse); + if (err) + goto err_mbx; + hw->mbx.ops.configure(hw, + mucse->msix_entries[0].entry, + true); + hw->mbx.irq_enabled = true; + } +err_mbx: + return err; +}...
Thanks for your feedback.