MLX5_PCI_CMD_XPORT = 7, }; enum mlx5_ib_mtt_access_flags { MLX5_MTT_READ = (1 << 0), MLX5_MTT_WRITE = (1 << 1), }; enum { MLX5_MAX_PAGE_SHIFT = 31, }; #define MLX5_MTT_PRESENT (MLX5_MTT_READ | MLX5_MTT_WRITE) enum { MLX5_VFIO_BLOCK_SIZE = 2 * 1024 * ...
此分区类似于 mlx4 的分区,不同之处在于 mlx5_ib 是 pci 设备驱动程序,而不是 mlx5_core。 mlx5_core 本质上是一个提供通用功能的库,旨在供将来推出的其他 Mellanox 设备使用。 mlx5_ib 与 drivers/infiniband/hw 下的任何硬件设备具有类似的作用 kvzalloc alloc_4k alloc_system_page mlx5_cmd_do mlx5...
irq_set->index = VFIO_PCI_MSIX_IRQ_INDEX; irq_set->start = 0; fd_ptr = (int *)&irq_set->data; fd_ptr[MLX5_VFIO_CMD_VEC_IDX] = ctx->cmd_comp_fd; irq_set->start = start; irq_set->count = count; return ioctl(ctx->device_fd, VFIO_DEVICE_SET_IRQS, irq_set); } static...
staticDEFINE_IDA(nvme_subsystems_ida);mlx5_mdev_initmutex_initINIT_LIST_HEADmlx5_cmd_initcmd->wq=create_singlethread_workqueue(cmd->wq_name)alloc_workqueuemlx5_cmdif_debugfs_initdebugfs_create_dir("commands",dev->priv.dbg.dbg_root)...mlx5_tout_init->setdefaulttimeouttout_def_sw_valmlx5_...
WQE 通过写入 EQE 向 EQ 报告完成事件,并且在执行具有更高 cmd_sn 值的新通知请求之前不会生成进一步的事件。cmd_sn 的必需用法在第 449 页的“CQ DoorBell 记录”中进行了描述。每当 verbs 消费者请求完成通知时,软件都应决定是否要响门铃。如果最后一个 cmd_sn 与要响的 cmd_sn 不同,则应响门铃。否则,...
WQE 通过写入 EQE 向 EQ 报告完成事件,并且在执行具有更高 cmd_sn 值的新通知请求之前不会生成进一步的事件。cmd_sn 的必需用法在第 449 页的“CQ DoorBell 记录”中进行了描述。每当 verbs 消费者请求完成通知时,软件都应决定是否要响门铃。如果最后一个 cmd_sn 与要响的 cmd_sn 不同,则应响门铃。否则,...
mlx5_cmd_exec_in(priv->mdev, arm_monitor_counter, in); mlx5_cmd_exec_in(mdev, arm_monitor_counter, in); }static void mlx5e_monitor_counters_work(struct work_struct *work) { struct mlx5e_priv *priv = container_of(work, struct mlx5e_priv, ...
return 1 << MLX5_CAP_GEN(dev, log_max_eq); } #endif /* __MLX5_CORE_H__ */4 changes: 1 addition & 3 deletions 4 drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c Original file line numberDiff line numberDiff line change @@ -711,9 +711,7 @@ int mlx5_irq_table_get_num...
case MLX5_HEALTH_SYNDR_FETCH_PCI_ERR: return "ICM fetch PCI error"; case MLX5_HEALTH_SYNDR_HW_FTL_ERR: return "HW fatal error\n"; case MLX5_HEALTH_SYNDR_ASYNC_EQ_OVERRUN_ERR: return "async EQ buffer overrun"; case MLX5_HEALTH_SYNDR_EQ_ERR: return "EQ error"; case MLX5_HEALTH_...
1 cmdif_checksum: 0 sigerr_cqe: 1 wq_signature: 1 sctr_data_cqe: 1 sho: 1 tph: 0 rf: 0 dct: 1 qos: 1 eth_net_offloads: 1 roce: 1 atomic: 1 cq_oi: 1 cq_resize: 1 cq_moderation: 1 cq_eq_remap: 1 pg: 1 block_lb_mc: 1 scqe_break_moderation: 1 cq_period_start_...