mirror of https://gitee.com/openkylin/linux.git
net/mlx5e: Bring back bfreg uar map dedicated pointer
4K Uar series modified the mlx5e driver to use the new bfreg API, and mistakenly removed the sq->uar_map iomem data path dedicated pointer, which was meant to be read from xmit path for cache locality utilization. Fix that by returning that pointer to the SQ struct. Fixes: 7309cb4ad71e ("IB/mlx5: Support 4k UAR for libmlx5") Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
This commit is contained in:
parent
b70149dd7d
commit
8ca967ab67
|
@ -475,6 +475,7 @@ struct mlx5e_sq {
|
|||
/* read only */
|
||||
struct mlx5_wq_cyc wq;
|
||||
u32 dma_fifo_mask;
|
||||
void __iomem *uar_map;
|
||||
struct netdev_queue *txq;
|
||||
u32 sqn;
|
||||
u16 bf_buf_size;
|
||||
|
@ -831,9 +832,9 @@ static inline void mlx5e_tx_notify_hw(struct mlx5e_sq *sq,
|
|||
*/
|
||||
wmb();
|
||||
if (bf_sz)
|
||||
__iowrite64_copy(sq->bfreg.map + ofst, ctrl, bf_sz);
|
||||
__iowrite64_copy(sq->uar_map + ofst, ctrl, bf_sz);
|
||||
else
|
||||
mlx5_write64((__be32 *)ctrl, sq->bfreg.map + ofst, NULL);
|
||||
mlx5_write64((__be32 *)ctrl, sq->uar_map + ofst, NULL);
|
||||
/* flush the write-combining mapped buffer */
|
||||
wmb();
|
||||
|
||||
|
|
|
@ -1016,6 +1016,7 @@ static int mlx5e_create_sq(struct mlx5e_channel *c,
|
|||
if (err)
|
||||
return err;
|
||||
|
||||
sq->uar_map = sq->bfreg.map;
|
||||
param->wq.db_numa_node = cpu_to_node(c->cpu);
|
||||
|
||||
err = mlx5_wq_cyc_create(mdev, ¶m->wq, sqc_wq, &sq->wq,
|
||||
|
|
Loading…
Reference in New Issue