Re: [PATCH net-next V2 04/10] net/mlx5: Store the global doorbell in mlx5_priv

From: Simon Horman
Date: Wed Sep 17 2025 - 09:04:15 EST


On Tue, Sep 16, 2025 at 05:11:38PM +0300, Tariq Toukan wrote:
> From: Cosmin Ratiu <cratiu@xxxxxxxxxx>
>
> The global doorbell is used for more than just Ethernet resources, so
> move it out of mlx5e_hw_objs into a common place (mlx5_priv), to avoid
> non-Ethernet modules (e.g. HWS, ASO) depending on Ethernet structs.
>
> Use this opportunity to consolidate it with the 'uar' pointer already
> there, which was used as an RX doorbell. Underneath the 'uar' pointer is
> identical to 'bfreg->up', so store a single resource and use that
> instead.
>
> For CQ doorbells, care is taken to always use bfreg->up->index instead
> of bfreg->index, which may refer to a subsequent UAR page from the same
> ALLOC_UAR batch on some NICs.
>
> This paves the way for cleanly supporting multiple doorbells in the
> Ethernet driver.
>
> Signed-off-by: Cosmin Ratiu <cratiu@xxxxxxxxxx>
> Reviewed-by: Dragos Tatulea <dtatulea@xxxxxxxxxx>
> Signed-off-by: Tariq Toukan <tariqt@xxxxxxxxxx>

Reviewed-by: Simon Horman <horms@xxxxxxxxxx>