[PATCH RESEND net v3 0/3] disable interrupts and ensure dbell updation

Vimlesh Kumar posted 3 patches 1 week ago
There is a newer version of this series
.../marvell/octeon_ep/octep_cn9k_pf.c         | 21 ++++--
.../marvell/octeon_ep/octep_cnxk_pf.c         | 64 +++++++++++++++----
.../ethernet/marvell/octeon_ep/octep_main.h   |  2 +-
.../marvell/octeon_ep/octep_regs_cn9k_pf.h    |  1 +
.../marvell/octeon_ep/octep_regs_cnxk_pf.h    |  1 +
.../net/ethernet/marvell/octeon_ep/octep_rx.c |  4 +-
.../marvell/octeon_ep_vf/octep_vf_cn9k.c      |  3 +-
.../marvell/octeon_ep_vf/octep_vf_cnxk.c      | 39 ++++++++++-
.../marvell/octeon_ep_vf/octep_vf_main.h      |  2 +-
.../marvell/octeon_ep_vf/octep_vf_rx.c        |  4 +-
10 files changed, 118 insertions(+), 23 deletions(-)
[PATCH RESEND net v3 0/3] disable interrupts and ensure dbell updation
Posted by Vimlesh Kumar 1 week ago
Disable per ring interrupts when netdev goes down and ensure dbell BADDR
updation for both PFs and VFs by adding wait and check for updated value.

Resending based on discussion with reviewer. 

Vimlesh Kumar (3):
  octeon_ep: disable per ring interrupts
  octeon_ep: ensure dbell BADDR updation
  octeon_ep_vf: ensure dbell BADDR updation

V3:
- previous discussion: https://lore.kernel.org/all/20260107131857.3434352-1-vimleshk@marvell.com/
- Use reverse christmas tree order variable declaration.
- Return error if timeout happens during setup oq.
 
V2: https://lore.kernel.org/all/20251219100751.3063135-1-vimleshk@marvell.com/
 
V1: https://lore.kernel.org/all/20251212122304.2562229-1-vimleshk@marvell.com/

 .../marvell/octeon_ep/octep_cn9k_pf.c         | 21 ++++--
 .../marvell/octeon_ep/octep_cnxk_pf.c         | 64 +++++++++++++++----
 .../ethernet/marvell/octeon_ep/octep_main.h   |  2 +-
 .../marvell/octeon_ep/octep_regs_cn9k_pf.h    |  1 +
 .../marvell/octeon_ep/octep_regs_cnxk_pf.h    |  1 +
 .../net/ethernet/marvell/octeon_ep/octep_rx.c |  4 +-
 .../marvell/octeon_ep_vf/octep_vf_cn9k.c      |  3 +-
 .../marvell/octeon_ep_vf/octep_vf_cnxk.c      | 39 ++++++++++-
 .../marvell/octeon_ep_vf/octep_vf_main.h      |  2 +-
 .../marvell/octeon_ep_vf/octep_vf_rx.c        |  4 +-
 10 files changed, 118 insertions(+), 23 deletions(-)

-- 
2.47.0
Re: [PATCH RESEND net v3 0/3] disable interrupts and ensure dbell updation
Posted by Jakub Kicinski 4 days, 10 hours ago
On Fri, 30 Jan 2026 14:15:44 +0000 Vimlesh Kumar wrote:
> Disable per ring interrupts when netdev goes down and ensure dbell BADDR
> updation for both PFs and VFs by adding wait and check for updated value.
> 
> Resending based on discussion with reviewer. 

Looking more closely at this I think the issue Simon flagged is real.
The caller cleans up only the rings for which the init succeeded:

int octep_setup_oqs(struct octep_device *oct)
{
	int i, retval = 0;

	oct->num_oqs = 0;
	for (i = 0; i < CFG_GET_PORTS_ACTIVE_IO_RINGS(oct->conf); i++) {
		retval = octep_setup_oq(oct, i);
		if (retval) {
			dev_err(&oct->pdev->dev,
				"Failed to setup OQ(RxQ)-%d.\n", i);
			goto oq_setup_err;
		}
		dev_dbg(&oct->pdev->dev, "Successfully setup OQ(RxQ)-%d.\n", i);
	}

	return 0;

oq_setup_err:
	while (i) {
		i--;      
		octep_free_oq(oct->oq[i]);
	}
	return -1;