Re: [PATCH v2 08/15] net: rnpgbe: Add irq support
From: Yibo Dong
Date: Tue Jul 22 2025 - 23:23:00 EST
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:
> > Initialize irq functions for driver use.
> >
> > Signed-off-by: Dong Yibo <dong100@xxxxxxxxx>
>
> ...
>
> > diff --git a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_lib.c b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_lib.c
>
> ...
>
> > +/**
> > + * rnpgbe_acquire_msix_vectors - Allocate msix vectors
> > + * @mucse: pointer to private structure
> > + * @vectors: number of msix vectors
>
> Please 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.
> > + **/
> > +static int rnpgbe_acquire_msix_vectors(struct mucse *mucse,
> > + int vectors)
>
> ...
>
> > diff --git a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c
>
> ...
>
> > +/**
> > + * 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 Routine
>
> Register
>
Got it, I will fix it.
> > + * @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.
> > +
> > + /* 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.