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

Simon Horman
2025-09-17T12:54:13Z

On Tue, Sep 16, 2025 at 05:11:38PM +0300, Tariq Toukan wrote:
> From: Cosmin Ratiu <cratiu@nvidia.com>
>
> 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@nvidia.com>
> Reviewed-by: Dragos Tatulea <dtatulea@nvidia.com>
> Signed-off-by: Tariq Toukan <tariqt@nvidia.com>

Reviewed-by: Simon Horman <horms@kernel.org>