/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | wq.h | 80 void *wqc, struct mlx5_wq_cyc *wq, 82 void mlx5_wq_cyc_wqe_dump(struct mlx5_wq_cyc *wq, u16 ix, u8 nstrides); 83 void mlx5_wq_cyc_reset(struct mlx5_wq_cyc *wq); 86 void *qpc, struct mlx5_wq_qp *wq, 90 void *cqc, struct mlx5_cqwq *wq, 94 void *wqc, struct mlx5_wq_ll *wq, 96 void mlx5_wq_ll_reset(struct mlx5_wq_ll *wq); 100 static inline u32 mlx5_wq_cyc_get_size(struct mlx5_wq_cyc *wq) in mlx5_wq_cyc_get_size() argument 102 return (u32)wq->fbc.sz_m1 + 1; in mlx5_wq_cyc_get_size() 105 static inline int mlx5_wq_cyc_is_full(struct mlx5_wq_cyc *wq) in mlx5_wq_cyc_is_full() argument 110 mlx5_wq_cyc_missing(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_missing() argument 115 mlx5_wq_cyc_is_empty(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_is_empty() argument 120 mlx5_wq_cyc_push(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_push() argument 126 mlx5_wq_cyc_push_n(struct mlx5_wq_cyc *wq, u8 n) mlx5_wq_cyc_push_n() argument 132 mlx5_wq_cyc_pop(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_pop() argument 137 mlx5_wq_cyc_update_db_record(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_update_db_record() argument 142 mlx5_wq_cyc_ctr2ix(struct mlx5_wq_cyc *wq, u16 ctr) mlx5_wq_cyc_ctr2ix() argument 147 mlx5_wq_cyc_get_head(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_get_head() argument 152 mlx5_wq_cyc_get_tail(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_get_tail() argument 157 mlx5_wq_cyc_get_wqe(struct mlx5_wq_cyc *wq, u16 ix) mlx5_wq_cyc_get_wqe() argument 162 mlx5_wq_cyc_get_contig_wqebbs(struct mlx5_wq_cyc *wq, u16 ix) mlx5_wq_cyc_get_contig_wqebbs() argument 175 mlx5_wq_cyc_get_counter(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_get_counter() argument 180 mlx5_cqwq_get_size(struct mlx5_cqwq *wq) mlx5_cqwq_get_size() argument 185 mlx5_cqwq_get_log_stride_size(struct mlx5_cqwq *wq) mlx5_cqwq_get_log_stride_size() argument 190 mlx5_cqwq_ctr2ix(struct mlx5_cqwq *wq, u32 ctr) mlx5_cqwq_ctr2ix() argument 195 mlx5_cqwq_get_ci(struct mlx5_cqwq *wq) mlx5_cqwq_get_ci() argument 200 mlx5_cqwq_get_wqe(struct mlx5_cqwq *wq, u32 ix) mlx5_cqwq_get_wqe() argument 210 mlx5_cqwq_get_ctr_wrap_cnt(struct mlx5_cqwq *wq, u32 ctr) mlx5_cqwq_get_ctr_wrap_cnt() argument 215 mlx5_cqwq_get_wrap_cnt(struct mlx5_cqwq *wq) mlx5_cqwq_get_wrap_cnt() argument 220 mlx5_cqwq_pop(struct mlx5_cqwq *wq) mlx5_cqwq_pop() argument 225 mlx5_cqwq_update_db_record(struct mlx5_cqwq *wq) mlx5_cqwq_update_db_record() argument 230 mlx5_cqwq_get_cqe(struct mlx5_cqwq *wq) mlx5_cqwq_get_cqe() argument 246 mlx5_wq_ll_get_size(struct mlx5_wq_ll *wq) mlx5_wq_ll_get_size() argument 251 mlx5_wq_ll_is_full(struct mlx5_wq_ll *wq) mlx5_wq_ll_is_full() argument 256 mlx5_wq_ll_is_empty(struct mlx5_wq_ll *wq) mlx5_wq_ll_is_empty() argument 261 mlx5_wq_ll_missing(struct mlx5_wq_ll *wq) mlx5_wq_ll_missing() argument 266 mlx5_wq_ll_get_wqe(struct mlx5_wq_ll *wq, u16 ix) mlx5_wq_ll_get_wqe() argument 271 mlx5_wq_ll_get_wqe_next_ix(struct mlx5_wq_ll *wq, u16 ix) mlx5_wq_ll_get_wqe_next_ix() argument 278 mlx5_wq_ll_push(struct mlx5_wq_ll *wq, u16 head_next) mlx5_wq_ll_push() argument 285 mlx5_wq_ll_pop(struct mlx5_wq_ll *wq, __be16 ix, __be16 *next_tail_next) mlx5_wq_ll_pop() argument 293 mlx5_wq_ll_update_db_record(struct mlx5_wq_ll *wq) mlx5_wq_ll_update_db_record() argument 298 mlx5_wq_ll_get_head(struct mlx5_wq_ll *wq) mlx5_wq_ll_get_head() argument 303 mlx5_wq_ll_get_counter(struct mlx5_wq_ll *wq) mlx5_wq_ll_get_counter() argument [all...] |
/kernel/linux/linux-5.10/drivers/scsi/fnic/ |
H A D | vnic_wq.c | 28 static int vnic_wq_get_ctrl(struct vnic_dev *vdev, struct vnic_wq *wq, in vnic_wq_get_ctrl() argument 31 wq->ctrl = vnic_dev_get_res(vdev, res_type, index); in vnic_wq_get_ctrl() 33 if (!wq->ctrl) in vnic_wq_get_ctrl() 40 static int vnic_wq_alloc_ring(struct vnic_dev *vdev, struct vnic_wq *wq, in vnic_wq_alloc_ring() argument 43 return vnic_dev_alloc_desc_ring(vdev, &wq->ring, desc_count, desc_size); in vnic_wq_alloc_ring() 47 static int vnic_wq_alloc_bufs(struct vnic_wq *wq) in vnic_wq_alloc_bufs() argument 50 unsigned int i, j, count = wq->ring.desc_count; in vnic_wq_alloc_bufs() 54 wq->bufs[i] = kzalloc(VNIC_WQ_BUF_BLK_SZ, GFP_ATOMIC); in vnic_wq_alloc_bufs() 55 if (!wq->bufs[i]) { in vnic_wq_alloc_bufs() 62 buf = wq in vnic_wq_alloc_bufs() 84 vnic_wq_free(struct vnic_wq *wq) vnic_wq_free() argument 102 vnic_wq_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int index, unsigned int desc_count, unsigned int desc_size) vnic_wq_alloc() argument 132 vnic_wq_devcmd2_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int desc_count, unsigned int desc_size) vnic_wq_devcmd2_alloc() argument 153 vnic_wq_init_start(struct vnic_wq *wq, unsigned int cq_index, unsigned int fetch_index, unsigned int posted_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) vnic_wq_init_start() argument 177 vnic_wq_init(struct vnic_wq *wq, unsigned int cq_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) vnic_wq_init() argument 194 vnic_wq_error_status(struct vnic_wq *wq) vnic_wq_error_status() argument 199 vnic_wq_enable(struct vnic_wq *wq) vnic_wq_enable() argument 204 vnic_wq_disable(struct vnic_wq *wq) vnic_wq_disable() argument 222 vnic_wq_clean(struct vnic_wq *wq, void (*buf_clean)(struct vnic_wq *wq, struct vnic_wq_buf *buf)) vnic_wq_clean() argument [all...] |
H A D | vnic_wq_copy.h | 36 static inline unsigned int vnic_wq_copy_desc_avail(struct vnic_wq_copy *wq) in vnic_wq_copy_desc_avail() argument 38 return wq->ring.desc_avail; in vnic_wq_copy_desc_avail() 41 static inline unsigned int vnic_wq_copy_desc_in_use(struct vnic_wq_copy *wq) in vnic_wq_copy_desc_in_use() argument 43 return wq->ring.desc_count - 1 - wq->ring.desc_avail; in vnic_wq_copy_desc_in_use() 46 static inline void *vnic_wq_copy_next_desc(struct vnic_wq_copy *wq) in vnic_wq_copy_next_desc() argument 48 struct fcpio_host_req *desc = wq->ring.descs; in vnic_wq_copy_next_desc() 49 return &desc[wq->to_use_index]; in vnic_wq_copy_next_desc() 52 static inline void vnic_wq_copy_post(struct vnic_wq_copy *wq) in vnic_wq_copy_post() argument 55 ((wq in vnic_wq_copy_post() 69 vnic_wq_copy_desc_process(struct vnic_wq_copy *wq, u16 index) vnic_wq_copy_desc_process() argument 83 vnic_wq_copy_service(struct vnic_wq_copy *wq, u16 completed_index, void (*q_service)(struct vnic_wq_copy *wq, struct fcpio_host_req *wq_desc)) vnic_wq_copy_service() argument [all...] |
H A D | vnic_wq_copy.c | 25 void vnic_wq_copy_enable(struct vnic_wq_copy *wq) in vnic_wq_copy_enable() argument 27 iowrite32(1, &wq->ctrl->enable); in vnic_wq_copy_enable() 30 int vnic_wq_copy_disable(struct vnic_wq_copy *wq) in vnic_wq_copy_disable() argument 34 iowrite32(0, &wq->ctrl->enable); in vnic_wq_copy_disable() 38 if (!(ioread32(&wq->ctrl->running))) in vnic_wq_copy_disable() 45 wq->index, ioread32(&wq->ctrl->fetch_index), in vnic_wq_copy_disable() 46 ioread32(&wq->ctrl->posted_index)); in vnic_wq_copy_disable() 51 void vnic_wq_copy_clean(struct vnic_wq_copy *wq, in vnic_wq_copy_clean() argument 52 void (*q_clean)(struct vnic_wq_copy *wq, in vnic_wq_copy_clean() 69 vnic_wq_copy_free(struct vnic_wq_copy *wq) vnic_wq_copy_free() argument 78 vnic_wq_copy_alloc(struct vnic_dev *vdev, struct vnic_wq_copy *wq, unsigned int index, unsigned int desc_count, unsigned int desc_size) vnic_wq_copy_alloc() argument 96 vnic_wq_copy_init(struct vnic_wq_copy *wq, unsigned int cq_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) vnic_wq_copy_init() argument [all...] |
/kernel/linux/linux-6.6/drivers/scsi/fnic/ |
H A D | vnic_wq.c | 16 static int vnic_wq_get_ctrl(struct vnic_dev *vdev, struct vnic_wq *wq, in vnic_wq_get_ctrl() argument 19 wq->ctrl = vnic_dev_get_res(vdev, res_type, index); in vnic_wq_get_ctrl() 21 if (!wq->ctrl) in vnic_wq_get_ctrl() 28 static int vnic_wq_alloc_ring(struct vnic_dev *vdev, struct vnic_wq *wq, in vnic_wq_alloc_ring() argument 31 return vnic_dev_alloc_desc_ring(vdev, &wq->ring, desc_count, desc_size); in vnic_wq_alloc_ring() 35 static int vnic_wq_alloc_bufs(struct vnic_wq *wq) in vnic_wq_alloc_bufs() argument 38 unsigned int i, j, count = wq->ring.desc_count; in vnic_wq_alloc_bufs() 42 wq->bufs[i] = kzalloc(VNIC_WQ_BUF_BLK_SZ, GFP_ATOMIC); in vnic_wq_alloc_bufs() 43 if (!wq->bufs[i]) { in vnic_wq_alloc_bufs() 50 buf = wq in vnic_wq_alloc_bufs() 72 vnic_wq_free(struct vnic_wq *wq) vnic_wq_free() argument 90 vnic_wq_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int index, unsigned int desc_count, unsigned int desc_size) vnic_wq_alloc() argument 120 vnic_wq_devcmd2_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int desc_count, unsigned int desc_size) vnic_wq_devcmd2_alloc() argument 141 vnic_wq_init_start(struct vnic_wq *wq, unsigned int cq_index, unsigned int fetch_index, unsigned int posted_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) vnic_wq_init_start() argument 165 vnic_wq_init(struct vnic_wq *wq, unsigned int cq_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) vnic_wq_init() argument 182 vnic_wq_error_status(struct vnic_wq *wq) vnic_wq_error_status() argument 187 vnic_wq_enable(struct vnic_wq *wq) vnic_wq_enable() argument 192 vnic_wq_disable(struct vnic_wq *wq) vnic_wq_disable() argument 210 vnic_wq_clean(struct vnic_wq *wq, void (*buf_clean)(struct vnic_wq *wq, struct vnic_wq_buf *buf)) vnic_wq_clean() argument [all...] |
H A D | vnic_wq_copy.h | 24 static inline unsigned int vnic_wq_copy_desc_avail(struct vnic_wq_copy *wq) in vnic_wq_copy_desc_avail() argument 26 return wq->ring.desc_avail; in vnic_wq_copy_desc_avail() 29 static inline unsigned int vnic_wq_copy_desc_in_use(struct vnic_wq_copy *wq) in vnic_wq_copy_desc_in_use() argument 31 return wq->ring.desc_count - 1 - wq->ring.desc_avail; in vnic_wq_copy_desc_in_use() 34 static inline void *vnic_wq_copy_next_desc(struct vnic_wq_copy *wq) in vnic_wq_copy_next_desc() argument 36 struct fcpio_host_req *desc = wq->ring.descs; in vnic_wq_copy_next_desc() 37 return &desc[wq->to_use_index]; in vnic_wq_copy_next_desc() 40 static inline void vnic_wq_copy_post(struct vnic_wq_copy *wq) in vnic_wq_copy_post() argument 43 ((wq in vnic_wq_copy_post() 57 vnic_wq_copy_desc_process(struct vnic_wq_copy *wq, u16 index) vnic_wq_copy_desc_process() argument 71 vnic_wq_copy_service(struct vnic_wq_copy *wq, u16 completed_index, void (*q_service)(struct vnic_wq_copy *wq, struct fcpio_host_req *wq_desc)) vnic_wq_copy_service() argument [all...] |
H A D | vnic_wq_copy.c | 13 void vnic_wq_copy_enable(struct vnic_wq_copy *wq) in vnic_wq_copy_enable() argument 15 iowrite32(1, &wq->ctrl->enable); in vnic_wq_copy_enable() 18 int vnic_wq_copy_disable(struct vnic_wq_copy *wq) in vnic_wq_copy_disable() argument 22 iowrite32(0, &wq->ctrl->enable); in vnic_wq_copy_disable() 26 if (!(ioread32(&wq->ctrl->running))) in vnic_wq_copy_disable() 33 wq->index, ioread32(&wq->ctrl->fetch_index), in vnic_wq_copy_disable() 34 ioread32(&wq->ctrl->posted_index)); in vnic_wq_copy_disable() 39 void vnic_wq_copy_clean(struct vnic_wq_copy *wq, in vnic_wq_copy_clean() argument 40 void (*q_clean)(struct vnic_wq_copy *wq, in vnic_wq_copy_clean() 57 vnic_wq_copy_free(struct vnic_wq_copy *wq) vnic_wq_copy_free() argument 66 vnic_wq_copy_alloc(struct vnic_dev *vdev, struct vnic_wq_copy *wq, unsigned int index, unsigned int desc_count, unsigned int desc_size) vnic_wq_copy_alloc() argument 84 vnic_wq_copy_init(struct vnic_wq_copy *wq, unsigned int cq_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) vnic_wq_copy_init() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | wq.h | 80 void *wqc, struct mlx5_wq_cyc *wq, 82 void mlx5_wq_cyc_wqe_dump(struct mlx5_wq_cyc *wq, u16 ix, u8 nstrides); 83 void mlx5_wq_cyc_reset(struct mlx5_wq_cyc *wq); 86 void *qpc, struct mlx5_wq_qp *wq, 90 void *cqc, struct mlx5_cqwq *wq, 94 void *wqc, struct mlx5_wq_ll *wq, 96 void mlx5_wq_ll_reset(struct mlx5_wq_ll *wq); 100 static inline u32 mlx5_wq_cyc_get_size(struct mlx5_wq_cyc *wq) in mlx5_wq_cyc_get_size() argument 102 return (u32)wq->fbc.sz_m1 + 1; in mlx5_wq_cyc_get_size() 105 static inline int mlx5_wq_cyc_is_full(struct mlx5_wq_cyc *wq) in mlx5_wq_cyc_is_full() argument 110 mlx5_wq_cyc_missing(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_missing() argument 115 mlx5_wq_cyc_is_empty(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_is_empty() argument 120 mlx5_wq_cyc_push(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_push() argument 126 mlx5_wq_cyc_push_n(struct mlx5_wq_cyc *wq, u16 n) mlx5_wq_cyc_push_n() argument 132 mlx5_wq_cyc_pop(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_pop() argument 137 mlx5_wq_cyc_update_db_record(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_update_db_record() argument 142 mlx5_wq_cyc_ctr2ix(struct mlx5_wq_cyc *wq, u16 ctr) mlx5_wq_cyc_ctr2ix() argument 147 mlx5_wq_cyc_get_head(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_get_head() argument 152 mlx5_wq_cyc_get_tail(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_get_tail() argument 157 mlx5_wq_cyc_get_wqe(struct mlx5_wq_cyc *wq, u16 ix) mlx5_wq_cyc_get_wqe() argument 162 mlx5_wq_cyc_get_contig_wqebbs(struct mlx5_wq_cyc *wq, u16 ix) mlx5_wq_cyc_get_contig_wqebbs() argument 175 mlx5_wq_cyc_get_counter(struct mlx5_wq_cyc *wq) mlx5_wq_cyc_get_counter() argument 180 mlx5_cqwq_get_size(struct mlx5_cqwq *wq) mlx5_cqwq_get_size() argument 185 mlx5_cqwq_get_log_stride_size(struct mlx5_cqwq *wq) mlx5_cqwq_get_log_stride_size() argument 190 mlx5_cqwq_ctr2ix(struct mlx5_cqwq *wq, u32 ctr) mlx5_cqwq_ctr2ix() argument 195 mlx5_cqwq_get_ci(struct mlx5_cqwq *wq) mlx5_cqwq_get_ci() argument 200 mlx5_cqwq_get_wqe(struct mlx5_cqwq *wq, u32 ix) mlx5_cqwq_get_wqe() argument 210 mlx5_cqwq_get_ctr_wrap_cnt(struct mlx5_cqwq *wq, u32 ctr) mlx5_cqwq_get_ctr_wrap_cnt() argument 215 mlx5_cqwq_get_wrap_cnt(struct mlx5_cqwq *wq) mlx5_cqwq_get_wrap_cnt() argument 220 mlx5_cqwq_pop(struct mlx5_cqwq *wq) mlx5_cqwq_pop() argument 225 mlx5_cqwq_update_db_record(struct mlx5_cqwq *wq) mlx5_cqwq_update_db_record() argument 230 mlx5_cqwq_get_cqe(struct mlx5_cqwq *wq) mlx5_cqwq_get_cqe() argument 247 mlx5_cqwq_get_cqe_enahnced_comp(struct mlx5_cqwq *wq) mlx5_cqwq_get_cqe_enahnced_comp() argument 263 mlx5_wq_ll_get_size(struct mlx5_wq_ll *wq) mlx5_wq_ll_get_size() argument 268 mlx5_wq_ll_is_full(struct mlx5_wq_ll *wq) mlx5_wq_ll_is_full() argument 273 mlx5_wq_ll_is_empty(struct mlx5_wq_ll *wq) mlx5_wq_ll_is_empty() argument 278 mlx5_wq_ll_missing(struct mlx5_wq_ll *wq) mlx5_wq_ll_missing() argument 283 mlx5_wq_ll_get_wqe(struct mlx5_wq_ll *wq, u16 ix) mlx5_wq_ll_get_wqe() argument 288 mlx5_wq_ll_get_wqe_next_ix(struct mlx5_wq_ll *wq, u16 ix) mlx5_wq_ll_get_wqe_next_ix() argument 295 mlx5_wq_ll_push(struct mlx5_wq_ll *wq, u16 head_next) mlx5_wq_ll_push() argument 302 mlx5_wq_ll_pop(struct mlx5_wq_ll *wq, __be16 ix, __be16 *next_tail_next) mlx5_wq_ll_pop() argument 310 mlx5_wq_ll_update_db_record(struct mlx5_wq_ll *wq) mlx5_wq_ll_update_db_record() argument 315 mlx5_wq_ll_get_head(struct mlx5_wq_ll *wq) mlx5_wq_ll_get_head() argument 320 mlx5_wq_ll_get_counter(struct mlx5_wq_ll *wq) mlx5_wq_ll_get_counter() argument [all...] |
/kernel/linux/linux-5.10/drivers/scsi/snic/ |
H A D | vnic_wq.c | 26 static inline int vnic_wq_get_ctrl(struct vnic_dev *vdev, struct vnic_wq *wq, in vnic_wq_get_ctrl() argument 29 wq->ctrl = svnic_dev_get_res(vdev, res_type, index); in vnic_wq_get_ctrl() 30 if (!wq->ctrl) in vnic_wq_get_ctrl() 36 static inline int vnic_wq_alloc_ring(struct vnic_dev *vdev, struct vnic_wq *wq, in vnic_wq_alloc_ring() argument 39 return svnic_dev_alloc_desc_ring(vdev, &wq->ring, desc_count, in vnic_wq_alloc_ring() 43 static int vnic_wq_alloc_bufs(struct vnic_wq *wq) in vnic_wq_alloc_bufs() argument 46 unsigned int i, j, count = wq->ring.desc_count; in vnic_wq_alloc_bufs() 50 wq->bufs[i] = kzalloc(VNIC_WQ_BUF_BLK_SZ, GFP_ATOMIC); in vnic_wq_alloc_bufs() 51 if (!wq->bufs[i]) { in vnic_wq_alloc_bufs() 59 buf = wq in vnic_wq_alloc_bufs() 81 svnic_wq_free(struct vnic_wq *wq) svnic_wq_free() argument 99 vnic_wq_devcmd2_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int desc_count, unsigned int desc_size) vnic_wq_devcmd2_alloc() argument 123 svnic_wq_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int index, unsigned int desc_count, unsigned int desc_size) svnic_wq_alloc() argument 154 vnic_wq_init_start(struct vnic_wq *wq, unsigned int cq_index, unsigned int fetch_index, unsigned int posted_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) vnic_wq_init_start() argument 177 svnic_wq_init(struct vnic_wq *wq, unsigned int cq_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) svnic_wq_init() argument 185 svnic_wq_error_status(struct vnic_wq *wq) svnic_wq_error_status() argument 190 svnic_wq_enable(struct vnic_wq *wq) svnic_wq_enable() argument 195 svnic_wq_disable(struct vnic_wq *wq) svnic_wq_disable() argument 213 svnic_wq_clean(struct vnic_wq *wq, void (*buf_clean)(struct vnic_wq *wq, struct vnic_wq_buf *buf)) svnic_wq_clean() argument [all...] |
H A D | vnic_wq.h | 85 static inline unsigned int svnic_wq_desc_avail(struct vnic_wq *wq) in svnic_wq_desc_avail() argument 88 return wq->ring.desc_avail; in svnic_wq_desc_avail() 91 static inline unsigned int svnic_wq_desc_used(struct vnic_wq *wq) in svnic_wq_desc_used() argument 94 return wq->ring.desc_count - wq->ring.desc_avail - 1; in svnic_wq_desc_used() 97 static inline void *svnic_wq_next_desc(struct vnic_wq *wq) in svnic_wq_next_desc() argument 99 return wq->to_use->desc; in svnic_wq_next_desc() 102 static inline void svnic_wq_post(struct vnic_wq *wq, in svnic_wq_post() argument 106 struct vnic_wq_buf *buf = wq->to_use; in svnic_wq_post() 121 iowrite32(buf->index, &wq in svnic_wq_post() 128 svnic_wq_service(struct vnic_wq *wq, struct cq_desc *cq_desc, u16 completed_index, void (*buf_service)(struct vnic_wq *wq, struct cq_desc *cq_desc, struct vnic_wq_buf *buf, void *opaque), void *opaque) svnic_wq_service() argument [all...] |
/kernel/linux/linux-6.6/drivers/scsi/snic/ |
H A D | vnic_wq.c | 12 static inline int vnic_wq_get_ctrl(struct vnic_dev *vdev, struct vnic_wq *wq, in vnic_wq_get_ctrl() argument 15 wq->ctrl = svnic_dev_get_res(vdev, res_type, index); in vnic_wq_get_ctrl() 16 if (!wq->ctrl) in vnic_wq_get_ctrl() 22 static inline int vnic_wq_alloc_ring(struct vnic_dev *vdev, struct vnic_wq *wq, in vnic_wq_alloc_ring() argument 25 return svnic_dev_alloc_desc_ring(vdev, &wq->ring, desc_count, in vnic_wq_alloc_ring() 29 static int vnic_wq_alloc_bufs(struct vnic_wq *wq) in vnic_wq_alloc_bufs() argument 32 unsigned int i, j, count = wq->ring.desc_count; in vnic_wq_alloc_bufs() 36 wq->bufs[i] = kzalloc(VNIC_WQ_BUF_BLK_SZ, GFP_ATOMIC); in vnic_wq_alloc_bufs() 37 if (!wq->bufs[i]) { in vnic_wq_alloc_bufs() 45 buf = wq in vnic_wq_alloc_bufs() 67 svnic_wq_free(struct vnic_wq *wq) svnic_wq_free() argument 85 vnic_wq_devcmd2_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int desc_count, unsigned int desc_size) vnic_wq_devcmd2_alloc() argument 109 svnic_wq_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int index, unsigned int desc_count, unsigned int desc_size) svnic_wq_alloc() argument 140 vnic_wq_init_start(struct vnic_wq *wq, unsigned int cq_index, unsigned int fetch_index, unsigned int posted_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) vnic_wq_init_start() argument 163 svnic_wq_init(struct vnic_wq *wq, unsigned int cq_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) svnic_wq_init() argument 171 svnic_wq_error_status(struct vnic_wq *wq) svnic_wq_error_status() argument 176 svnic_wq_enable(struct vnic_wq *wq) svnic_wq_enable() argument 181 svnic_wq_disable(struct vnic_wq *wq) svnic_wq_disable() argument 199 svnic_wq_clean(struct vnic_wq *wq, void (*buf_clean)(struct vnic_wq *wq, struct vnic_wq_buf *buf)) svnic_wq_clean() argument [all...] |
H A D | vnic_wq.h | 71 static inline unsigned int svnic_wq_desc_avail(struct vnic_wq *wq) in svnic_wq_desc_avail() argument 74 return wq->ring.desc_avail; in svnic_wq_desc_avail() 77 static inline unsigned int svnic_wq_desc_used(struct vnic_wq *wq) in svnic_wq_desc_used() argument 80 return wq->ring.desc_count - wq->ring.desc_avail - 1; in svnic_wq_desc_used() 83 static inline void *svnic_wq_next_desc(struct vnic_wq *wq) in svnic_wq_next_desc() argument 85 return wq->to_use->desc; in svnic_wq_next_desc() 88 static inline void svnic_wq_post(struct vnic_wq *wq, in svnic_wq_post() argument 92 struct vnic_wq_buf *buf = wq->to_use; in svnic_wq_post() 107 iowrite32(buf->index, &wq in svnic_wq_post() 114 svnic_wq_service(struct vnic_wq *wq, struct cq_desc *cq_desc, u16 completed_index, void (*buf_service)(struct vnic_wq *wq, struct cq_desc *cq_desc, struct vnic_wq_buf *buf, void *opaque), void *opaque) svnic_wq_service() argument [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/cisco/enic/ |
H A D | vnic_wq.c | 31 static int vnic_wq_alloc_bufs(struct vnic_wq *wq) in vnic_wq_alloc_bufs() argument 34 unsigned int i, j, count = wq->ring.desc_count; in vnic_wq_alloc_bufs() 38 wq->bufs[i] = kzalloc(VNIC_WQ_BUF_BLK_SZ(count), GFP_KERNEL); in vnic_wq_alloc_bufs() 39 if (!wq->bufs[i]) in vnic_wq_alloc_bufs() 44 buf = wq->bufs[i]; in vnic_wq_alloc_bufs() 47 buf->desc = (u8 *)wq->ring.descs + in vnic_wq_alloc_bufs() 48 wq->ring.desc_size * buf->index; in vnic_wq_alloc_bufs() 50 buf->next = wq->bufs[0]; in vnic_wq_alloc_bufs() 54 buf->next = wq->bufs[i + 1]; in vnic_wq_alloc_bufs() 64 wq in vnic_wq_alloc_bufs() 69 vnic_wq_free(struct vnic_wq *wq) vnic_wq_free() argument 88 vnic_wq_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int index, unsigned int desc_count, unsigned int desc_size) vnic_wq_alloc() argument 117 enic_wq_devcmd2_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int desc_count, unsigned int desc_size) enic_wq_devcmd2_alloc() argument 134 enic_wq_init_start(struct vnic_wq *wq, unsigned int cq_index, unsigned int fetch_index, unsigned int posted_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) enic_wq_init_start() argument 157 vnic_wq_init(struct vnic_wq *wq, unsigned int cq_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) vnic_wq_init() argument 166 vnic_wq_error_status(struct vnic_wq *wq) vnic_wq_error_status() argument 171 vnic_wq_enable(struct vnic_wq *wq) vnic_wq_enable() argument 176 vnic_wq_disable(struct vnic_wq *wq) vnic_wq_disable() argument 195 vnic_wq_clean(struct vnic_wq *wq, void (*buf_clean)(struct vnic_wq *wq, struct vnic_wq_buf *buf)) vnic_wq_clean() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/cisco/enic/ |
H A D | vnic_wq.c | 18 static int vnic_wq_alloc_bufs(struct vnic_wq *wq) in vnic_wq_alloc_bufs() argument 21 unsigned int i, j, count = wq->ring.desc_count; in vnic_wq_alloc_bufs() 25 wq->bufs[i] = kzalloc(VNIC_WQ_BUF_BLK_SZ(count), GFP_KERNEL); in vnic_wq_alloc_bufs() 26 if (!wq->bufs[i]) in vnic_wq_alloc_bufs() 31 buf = wq->bufs[i]; in vnic_wq_alloc_bufs() 34 buf->desc = (u8 *)wq->ring.descs + in vnic_wq_alloc_bufs() 35 wq->ring.desc_size * buf->index; in vnic_wq_alloc_bufs() 37 buf->next = wq->bufs[0]; in vnic_wq_alloc_bufs() 41 buf->next = wq->bufs[i + 1]; in vnic_wq_alloc_bufs() 51 wq in vnic_wq_alloc_bufs() 56 vnic_wq_free(struct vnic_wq *wq) vnic_wq_free() argument 75 vnic_wq_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int index, unsigned int desc_count, unsigned int desc_size) vnic_wq_alloc() argument 104 enic_wq_devcmd2_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int desc_count, unsigned int desc_size) enic_wq_devcmd2_alloc() argument 121 enic_wq_init_start(struct vnic_wq *wq, unsigned int cq_index, unsigned int fetch_index, unsigned int posted_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) enic_wq_init_start() argument 144 vnic_wq_init(struct vnic_wq *wq, unsigned int cq_index, unsigned int error_interrupt_enable, unsigned int error_interrupt_offset) vnic_wq_init() argument 153 vnic_wq_error_status(struct vnic_wq *wq) vnic_wq_error_status() argument 158 vnic_wq_enable(struct vnic_wq *wq) vnic_wq_enable() argument 163 vnic_wq_disable(struct vnic_wq *wq) vnic_wq_disable() argument 182 vnic_wq_clean(struct vnic_wq *wq, void (*buf_clean)(struct vnic_wq *wq, struct vnic_wq_buf *buf)) vnic_wq_clean() argument [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/huawei/hinic/ |
H A D | hinic_hw_wq.c | 34 #define WQ_SIZE(wq) ((wq)->q_depth * (wq)->wqebb_size) 44 #define WQ_BASE_VADDR(wqs, wq) \ 45 ((void *)((wqs)->page_vaddr[(wq)->page_idx]) \ 46 + (wq)->block_idx * WQ_BLOCK_SIZE) 48 #define WQ_BASE_PADDR(wqs, wq) \ 49 ((wqs)->page_paddr[(wq)->page_idx] \ 50 + (wq)->block_idx * WQ_BLOCK_SIZE) 52 #define WQ_BASE_ADDR(wqs, wq) \ 81 WQE_PAGE_OFF(struct hinic_wq *wq, u16 idx) WQE_PAGE_OFF() argument 87 WQE_PAGE_NUM(struct hinic_wq *wq, u16 idx) WQE_PAGE_NUM() argument 377 alloc_wqes_shadow(struct hinic_wq *wq) alloc_wqes_shadow() argument 403 free_wqes_shadow(struct hinic_wq *wq) free_wqes_shadow() argument 418 free_wq_pages(struct hinic_wq *wq, struct hinic_hwif *hwif, int num_q_pages) free_wq_pages() argument 445 alloc_wq_pages(struct hinic_wq *wq, struct hinic_hwif *hwif, int max_pages) alloc_wq_pages() argument 504 hinic_wq_allocate(struct hinic_wqs *wqs, struct hinic_wq *wq, u16 wqebb_size, u32 wq_page_size, u16 q_depth, u16 max_wqe_size) hinic_wq_allocate() argument 580 hinic_wq_free(struct hinic_wqs *wqs, struct hinic_wq *wq) hinic_wq_free() argument 600 hinic_wqs_cmdq_alloc(struct hinic_cmdq_pages *cmdq_pages, struct hinic_wq *wq, struct hinic_hwif *hwif, int cmdq_blocks, u16 wqebb_size, u32 wq_page_size, u16 q_depth, u16 max_wqe_size) hinic_wqs_cmdq_alloc() argument 689 hinic_wqs_cmdq_free(struct hinic_cmdq_pages *cmdq_pages, struct hinic_wq *wq, int cmdq_blocks) hinic_wqs_cmdq_free() argument 700 copy_wqe_to_shadow(struct hinic_wq *wq, void *shadow_addr, int num_wqebbs, u16 idx) copy_wqe_to_shadow() argument 717 copy_wqe_from_shadow(struct hinic_wq *wq, void *shadow_addr, int num_wqebbs, u16 idx) copy_wqe_from_shadow() argument 741 hinic_get_wqe(struct hinic_wq *wq, unsigned int wqe_size, u16 *prod_idx) hinic_get_wqe() argument 790 hinic_return_wqe(struct hinic_wq *wq, unsigned int wqe_size) hinic_return_wqe() argument 804 hinic_put_wqe(struct hinic_wq *wq, unsigned int wqe_size) hinic_put_wqe() argument 822 hinic_read_wqe(struct hinic_wq *wq, unsigned int wqe_size, u16 *cons_idx) hinic_read_wqe() argument 863 hinic_read_wqe_direct(struct hinic_wq *wq, u16 cons_idx) hinic_read_wqe_direct() argument 875 wqe_shadow(struct hinic_wq *wq, struct hinic_hw_wqe *wqe) wqe_shadow() argument 889 hinic_write_wqe(struct hinic_wq *wq, struct hinic_hw_wqe *wqe, unsigned int wqe_size) hinic_write_wqe() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/huawei/hinic/ |
H A D | hinic_hw_wq.c | 34 #define WQ_SIZE(wq) ((wq)->q_depth * (wq)->wqebb_size) 44 #define WQ_BASE_VADDR(wqs, wq) \ 45 ((void *)((wqs)->page_vaddr[(wq)->page_idx]) \ 46 + (wq)->block_idx * WQ_BLOCK_SIZE) 48 #define WQ_BASE_PADDR(wqs, wq) \ 49 ((wqs)->page_paddr[(wq)->page_idx] \ 50 + (wq)->block_idx * WQ_BLOCK_SIZE) 52 #define WQ_BASE_ADDR(wqs, wq) \ 81 WQE_PAGE_OFF(struct hinic_wq *wq, u16 idx) WQE_PAGE_OFF() argument 87 WQE_PAGE_NUM(struct hinic_wq *wq, u16 idx) WQE_PAGE_NUM() argument 376 alloc_wqes_shadow(struct hinic_wq *wq) alloc_wqes_shadow() argument 402 free_wqes_shadow(struct hinic_wq *wq) free_wqes_shadow() argument 417 free_wq_pages(struct hinic_wq *wq, struct hinic_hwif *hwif, int num_q_pages) free_wq_pages() argument 444 alloc_wq_pages(struct hinic_wq *wq, struct hinic_hwif *hwif, int max_pages) alloc_wq_pages() argument 503 hinic_wq_allocate(struct hinic_wqs *wqs, struct hinic_wq *wq, u16 wqebb_size, u32 wq_page_size, u16 q_depth, u16 max_wqe_size) hinic_wq_allocate() argument 579 hinic_wq_free(struct hinic_wqs *wqs, struct hinic_wq *wq) hinic_wq_free() argument 599 hinic_wqs_cmdq_alloc(struct hinic_cmdq_pages *cmdq_pages, struct hinic_wq *wq, struct hinic_hwif *hwif, int cmdq_blocks, u16 wqebb_size, u32 wq_page_size, u16 q_depth, u16 max_wqe_size) hinic_wqs_cmdq_alloc() argument 688 hinic_wqs_cmdq_free(struct hinic_cmdq_pages *cmdq_pages, struct hinic_wq *wq, int cmdq_blocks) hinic_wqs_cmdq_free() argument 699 copy_wqe_to_shadow(struct hinic_wq *wq, void *shadow_addr, int num_wqebbs, u16 idx) copy_wqe_to_shadow() argument 716 copy_wqe_from_shadow(struct hinic_wq *wq, void *shadow_addr, int num_wqebbs, u16 idx) copy_wqe_from_shadow() argument 740 hinic_get_wqe(struct hinic_wq *wq, unsigned int wqe_size, u16 *prod_idx) hinic_get_wqe() argument 789 hinic_return_wqe(struct hinic_wq *wq, unsigned int wqe_size) hinic_return_wqe() argument 803 hinic_put_wqe(struct hinic_wq *wq, unsigned int wqe_size) hinic_put_wqe() argument 821 hinic_read_wqe(struct hinic_wq *wq, unsigned int wqe_size, u16 *cons_idx) hinic_read_wqe() argument 862 hinic_read_wqe_direct(struct hinic_wq *wq, u16 cons_idx) hinic_read_wqe_direct() argument 874 wqe_shadow(struct hinic_wq *wq, struct hinic_hw_wqe *wqe) wqe_shadow() argument 888 hinic_write_wqe(struct hinic_wq *wq, struct hinic_hw_wqe *wqe, unsigned int wqe_size) hinic_write_wqe() argument [all...] |
/kernel/linux/linux-6.6/fs/btrfs/ |
H A D | async-thread.c | 50 struct btrfs_fs_info * __pure btrfs_workqueue_owner(const struct btrfs_workqueue *wq) in btrfs_workqueue_owner() argument 52 return wq->fs_info; in btrfs_workqueue_owner() 57 return work->wq->fs_info; in btrfs_work_owner() 60 bool btrfs_workqueue_normal_congested(const struct btrfs_workqueue *wq) in btrfs_workqueue_normal_congested() argument 63 * We could compare wq->pending with num_online_cpus() in btrfs_workqueue_normal_congested() 68 if (wq->thresh == NO_THRESHOLD) in btrfs_workqueue_normal_congested() 71 return atomic_read(&wq->pending) > wq->thresh * 2; in btrfs_workqueue_normal_congested() 74 static void btrfs_init_workqueue(struct btrfs_workqueue *wq, in btrfs_init_workqueue() argument 77 wq in btrfs_init_workqueue() 155 thresh_queue_hook(struct btrfs_workqueue *wq) thresh_queue_hook() argument 167 thresh_exec_hook(struct btrfs_workqueue *wq) thresh_exec_hook() argument 210 run_ordered_work(struct btrfs_workqueue *wq, struct btrfs_work *self) run_ordered_work() argument 298 struct btrfs_workqueue *wq = work->wq; btrfs_work_helper() local 342 btrfs_queue_work(struct btrfs_workqueue *wq, struct btrfs_work *work) btrfs_queue_work() argument 357 btrfs_destroy_workqueue(struct btrfs_workqueue *wq) btrfs_destroy_workqueue() argument 366 btrfs_workqueue_set_max(struct btrfs_workqueue *wq, int limit_active) btrfs_workqueue_set_max() argument 372 btrfs_flush_workqueue(struct btrfs_workqueue *wq) btrfs_flush_workqueue() argument [all...] |
/kernel/linux/linux-6.6/fs/autofs/ |
H A D | waitq.c | 17 struct autofs_wait_queue *wq, *nwq; in autofs_catatonic_mode() local 28 wq = sbi->queues; in autofs_catatonic_mode() 30 while (wq) { in autofs_catatonic_mode() 31 nwq = wq->next; in autofs_catatonic_mode() 32 wq->status = -ENOENT; /* Magic is gone - report failure */ in autofs_catatonic_mode() 33 kfree(wq->name.name - wq->offset); in autofs_catatonic_mode() 34 wq->name.name = NULL; in autofs_catatonic_mode() 35 wake_up(&wq->queue); in autofs_catatonic_mode() 36 if (!--wq in autofs_catatonic_mode() 79 autofs_notify_daemon(struct autofs_sb_info *sbi, struct autofs_wait_queue *wq, int type) autofs_notify_daemon() argument 182 struct autofs_wait_queue *wq; autofs_find_wait() local 208 struct autofs_wait_queue *wq; validate_request() local 307 struct autofs_wait_queue *wq; autofs_wait() local 490 struct autofs_wait_queue *wq, **wql; autofs_wait_release() local [all...] |
/kernel/linux/linux-5.10/fs/btrfs/ |
H A D | async-thread.c | 56 struct btrfs_fs_info * __pure btrfs_workqueue_owner(const struct __btrfs_workqueue *wq) in btrfs_workqueue_owner() argument 58 return wq->fs_info; in btrfs_workqueue_owner() 63 return work->wq->fs_info; in btrfs_work_owner() 66 bool btrfs_workqueue_normal_congested(const struct btrfs_workqueue *wq) in btrfs_workqueue_normal_congested() argument 69 * We could compare wq->normal->pending with num_online_cpus() in btrfs_workqueue_normal_congested() 74 if (wq->normal->thresh == NO_THRESHOLD) in btrfs_workqueue_normal_congested() 77 return atomic_read(&wq->normal->pending) > wq->normal->thresh * 2; in btrfs_workqueue_normal_congested() 100 * For threshold-able wq, let its concurrency grow on demand. in __btrfs_alloc_workqueue() 127 __btrfs_destroy_workqueue(struct __btrfs_workqueue *wq); 165 thresh_queue_hook(struct __btrfs_workqueue *wq) thresh_queue_hook() argument 177 thresh_exec_hook(struct __btrfs_workqueue *wq) thresh_exec_hook() argument 220 run_ordered_work(struct __btrfs_workqueue *wq, struct btrfs_work *self) run_ordered_work() argument 308 struct __btrfs_workqueue *wq; btrfs_work_helper() local 353 __btrfs_queue_work(struct __btrfs_workqueue *wq, struct btrfs_work *work) __btrfs_queue_work() argument 369 btrfs_queue_work(struct btrfs_workqueue *wq, struct btrfs_work *work) btrfs_queue_work() argument 382 __btrfs_destroy_workqueue(struct __btrfs_workqueue *wq) __btrfs_destroy_workqueue() argument 389 btrfs_destroy_workqueue(struct btrfs_workqueue *wq) btrfs_destroy_workqueue() argument 399 btrfs_workqueue_set_max(struct btrfs_workqueue *wq, int limit_active) btrfs_workqueue_set_max() argument 413 btrfs_flush_workqueue(struct btrfs_workqueue *wq) btrfs_flush_workqueue() argument [all...] |
/kernel/linux/linux-6.6/io_uring/ |
H A D | io-wq.c | 21 #include "io-wq.h" 35 IO_WQ_BIT_EXIT = 0, /* wq exiting */ 43 * One for each thread in a wq pool 51 struct io_wq *wq; member 136 static bool create_io_worker(struct io_wq *wq, int index); 138 static bool io_acct_cancel_pending_work(struct io_wq *wq, 142 static void io_wq_cancel_tw_create(struct io_wq *wq); 155 static inline struct io_wq_acct *io_get_acct(struct io_wq *wq, bool bound) in io_get_acct() argument 157 return &wq->acct[bound ? IO_WQ_ACCT_BOUND : IO_WQ_ACCT_UNBOUND]; in io_get_acct() 160 static inline struct io_wq_acct *io_work_get_acct(struct io_wq *wq, in io_work_get_acct() argument 171 io_worker_ref_put(struct io_wq *wq) io_worker_ref_put() argument 190 struct io_wq *wq = worker->wq; io_worker_cancel_cb() local 213 struct io_wq *wq = worker->wq; io_worker_exit() local 306 io_wq_create_worker(struct io_wq *wq, struct io_wq_acct *acct) io_wq_create_worker() argument 337 struct io_wq *wq; create_worker_cb() local 366 struct io_wq *wq = worker->wq; io_queue_worker_create() local 411 struct io_wq *wq = worker->wq; io_wq_dec_running() local 431 __io_worker_busy(struct io_wq *wq, struct io_worker *worker) __io_worker_busy() argument 458 io_wait_on_hash(struct io_wq *wq, unsigned int hash) io_wait_on_hash() argument 482 struct io_wq *wq = worker->wq; global() variable 553 struct io_wq *wq = worker->wq; global() variable 630 struct io_wq *wq = worker->wq; io_wq_worker() local 725 io_init_new_worker(struct io_wq *wq, struct io_worker *worker, struct task_struct *tsk) io_init_new_worker() argument 769 struct io_wq *wq; create_worker_cont() local 816 create_io_worker(struct io_wq *wq, int index) create_io_worker() argument 861 io_wq_for_each_worker(struct io_wq *wq, bool (*func)(struct io_worker *, void *), void *data) io_wq_for_each_worker() argument 889 io_run_cancel(struct io_wq_work *work, struct io_wq *wq) io_run_cancel() argument 898 io_wq_insert_work(struct io_wq *wq, struct io_wq_work *work) io_wq_insert_work() argument 924 io_wq_enqueue(struct io_wq *wq, struct io_wq_work *work) io_wq_enqueue() argument 1016 io_wq_remove_pending(struct io_wq *wq, struct io_wq_work *work, struct io_wq_work_node *prev) io_wq_remove_pending() argument 1035 io_acct_cancel_pending_work(struct io_wq *wq, struct io_wq_acct *acct, struct io_cb_cancel_data *match) io_acct_cancel_pending_work() argument 1059 io_wq_cancel_pending_work(struct io_wq *wq, struct io_cb_cancel_data *match) io_wq_cancel_pending_work() argument 1075 io_wq_cancel_running_work(struct io_wq *wq, struct io_cb_cancel_data *match) io_wq_cancel_running_work() argument 1083 io_wq_cancel_cb(struct io_wq *wq, work_cancel_fn *cancel, void *data, bool cancel_all) io_wq_cancel_cb() argument 1125 struct io_wq *wq = container_of(wait, struct io_wq, wait); io_wq_hash_wake() local 1144 struct io_wq *wq; io_wq_create() local 1208 io_wq_exit_start(struct io_wq *wq) io_wq_exit_start() argument 1213 io_wq_cancel_tw_create(struct io_wq *wq) io_wq_cancel_tw_create() argument 1231 io_wq_exit_workers(struct io_wq *wq) io_wq_exit_workers() argument 1252 io_wq_destroy(struct io_wq *wq) io_wq_destroy() argument 1266 io_wq_put_and_exit(struct io_wq *wq) io_wq_put_and_exit() argument 1290 __io_wq_cpu_online(struct io_wq *wq, unsigned int cpu, bool online) __io_wq_cpu_online() argument 1305 struct io_wq *wq = hlist_entry_safe(node, struct io_wq, cpuhp_node); io_wq_cpu_online() local 1312 struct io_wq *wq = hlist_entry_safe(node, struct io_wq, cpuhp_node); io_wq_cpu_offline() local 1336 io_wq_max_workers(struct io_wq *wq, int *new_count) io_wq_max_workers() argument [all...] |
/kernel/linux/linux-5.10/fs/autofs/ |
H A D | waitq.c | 17 struct autofs_wait_queue *wq, *nwq; in autofs_catatonic_mode() local 28 wq = sbi->queues; in autofs_catatonic_mode() 30 while (wq) { in autofs_catatonic_mode() 31 nwq = wq->next; in autofs_catatonic_mode() 32 wq->status = -ENOENT; /* Magic is gone - report failure */ in autofs_catatonic_mode() 33 kfree(wq->name.name); in autofs_catatonic_mode() 34 wq->name.name = NULL; in autofs_catatonic_mode() 35 wake_up_interruptible(&wq->queue); in autofs_catatonic_mode() 36 if (!--wq->wait_ctr) in autofs_catatonic_mode() 37 kfree(wq); in autofs_catatonic_mode() 79 autofs_notify_daemon(struct autofs_sb_info *sbi, struct autofs_wait_queue *wq, int type) autofs_notify_daemon() argument 227 struct autofs_wait_queue *wq; autofs_find_wait() local 253 struct autofs_wait_queue *wq; validate_request() local 352 struct autofs_wait_queue *wq; autofs_wait() local 530 struct autofs_wait_queue *wq, **wql; autofs_wait_release() local [all...] |
/kernel/linux/linux-5.10/drivers/dma/idxd/ |
H A D | device.c | 62 static void free_hw_descs(struct idxd_wq *wq) in free_hw_descs() argument 66 for (i = 0; i < wq->num_descs; i++) in free_hw_descs() 67 kfree(wq->hw_descs[i]); in free_hw_descs() 69 kfree(wq->hw_descs); in free_hw_descs() 72 static int alloc_hw_descs(struct idxd_wq *wq, int num) in alloc_hw_descs() argument 74 struct device *dev = &wq->idxd->pdev->dev; in alloc_hw_descs() 78 wq->hw_descs = kcalloc_node(num, sizeof(struct dsa_hw_desc *), in alloc_hw_descs() 80 if (!wq->hw_descs) in alloc_hw_descs() 84 wq->hw_descs[i] = kzalloc_node(sizeof(*wq in alloc_hw_descs() 95 free_descs(struct idxd_wq *wq) free_descs() argument 105 alloc_descs(struct idxd_wq *wq, int num) alloc_descs() argument 129 idxd_wq_alloc_resources(struct idxd_wq *wq) idxd_wq_alloc_resources() argument 185 idxd_wq_free_resources(struct idxd_wq *wq) idxd_wq_free_resources() argument 198 idxd_wq_enable(struct idxd_wq *wq) idxd_wq_enable() argument 222 idxd_wq_disable(struct idxd_wq *wq) idxd_wq_disable() argument 248 idxd_wq_drain(struct idxd_wq *wq) idxd_wq_drain() argument 264 idxd_wq_reset(struct idxd_wq *wq) idxd_wq_reset() argument 280 idxd_wq_map_portal(struct idxd_wq *wq) idxd_wq_map_portal() argument 298 idxd_wq_unmap_portal(struct idxd_wq *wq) idxd_wq_unmap_portal() argument 305 idxd_wq_disable_cleanup(struct idxd_wq *wq) idxd_wq_disable_cleanup() argument 450 struct idxd_wq *wq = &idxd->wqs[i]; idxd_device_wqs_clear_state() local 558 idxd_wq_config_write(struct idxd_wq *wq) idxd_wq_config_write() argument 614 struct idxd_wq *wq = &idxd->wqs[i]; idxd_wqs_config_write() local 680 struct idxd_wq *wq; idxd_wqs_setup() local [all...] |
/kernel/linux/linux-6.6/drivers/dma/idxd/ |
H A D | cdev.c | 43 struct idxd_wq *wq; member 55 static void idxd_cdev_evl_drain_pasid(struct idxd_wq *wq, u32 pasid); 101 struct idxd_wq *wq = ctx->wq; in cdev_file_attr_visible() local 103 if (!wq_pasid_enabled(wq)) in cdev_file_attr_visible() 122 struct idxd_wq *wq = ctx->wq; in idxd_file_dev_release() local 123 struct idxd_device *idxd = wq->idxd; in idxd_file_dev_release() 131 if (wq_shared(wq)) { in idxd_file_dev_release() 135 /* The wq disabl in idxd_file_dev_release() 165 struct idxd_wq *wq = idxd_cdev->wq; idxd_cdev_dev_release() local 193 struct idxd_wq *wq = ctx->wq; idxd_xa_pasid_remove() local 204 idxd_user_counter_increment(struct idxd_wq *wq, u32 pasid, int index) idxd_user_counter_increment() argument 225 struct idxd_wq *wq; idxd_cdev_open() local 333 idxd_cdev_evl_drain_pasid(struct idxd_wq *wq, u32 pasid) idxd_cdev_evl_drain_pasid() argument 365 struct idxd_wq *wq = ctx->wq; idxd_cdev_release() local 377 check_vma(struct idxd_wq *wq, struct vm_area_struct *vma, const char *func) check_vma() argument 396 struct idxd_wq *wq = ctx->wq; idxd_cdev_mmap() local 422 struct idxd_wq *wq = ctx->wq; idxd_cdev_poll() local 448 idxd_wq_add_cdev(struct idxd_wq *wq) idxd_wq_add_cdev() argument 499 idxd_wq_del_cdev(struct idxd_wq *wq) idxd_wq_del_cdev() argument 512 struct idxd_wq *wq = idxd_dev_to_wq(idxd_dev); idxd_user_drv_probe() local 572 struct idxd_wq *wq = idxd_dev_to_wq(idxd_dev); idxd_user_drv_remove() local 640 idxd_copy_cr(struct idxd_wq *wq, ioasid_t pasid, unsigned long addr, void *cr, int len) idxd_copy_cr() argument [all...] |
H A D | device.c | 18 static void idxd_wq_disable_cleanup(struct idxd_wq *wq); 41 static void free_hw_descs(struct idxd_wq *wq) in free_hw_descs() argument 45 for (i = 0; i < wq->num_descs; i++) in free_hw_descs() 46 kfree(wq->hw_descs[i]); in free_hw_descs() 48 kfree(wq->hw_descs); in free_hw_descs() 51 static int alloc_hw_descs(struct idxd_wq *wq, int num) in alloc_hw_descs() argument 53 struct device *dev = &wq->idxd->pdev->dev; in alloc_hw_descs() 57 wq->hw_descs = kcalloc_node(num, sizeof(struct dsa_hw_desc *), in alloc_hw_descs() 59 if (!wq->hw_descs) in alloc_hw_descs() 63 wq in alloc_hw_descs() 74 free_descs(struct idxd_wq *wq) free_descs() argument 84 alloc_descs(struct idxd_wq *wq, int num) alloc_descs() argument 108 idxd_wq_alloc_resources(struct idxd_wq *wq) idxd_wq_alloc_resources() argument 165 idxd_wq_free_resources(struct idxd_wq *wq) idxd_wq_free_resources() argument 178 idxd_wq_enable(struct idxd_wq *wq) idxd_wq_enable() argument 203 idxd_wq_disable(struct idxd_wq *wq, bool reset_config) idxd_wq_disable() argument 232 idxd_wq_drain(struct idxd_wq *wq) idxd_wq_drain() argument 248 idxd_wq_reset(struct idxd_wq *wq) idxd_wq_reset() argument 264 idxd_wq_map_portal(struct idxd_wq *wq) idxd_wq_map_portal() argument 281 idxd_wq_unmap_portal(struct idxd_wq *wq) idxd_wq_unmap_portal() argument 295 struct idxd_wq *wq = idxd->wqs[i]; idxd_wqs_unmap_portal() local 302 __idxd_wq_set_pasid_locked(struct idxd_wq *wq, int pasid) __idxd_wq_set_pasid_locked() argument 318 idxd_wq_set_pasid(struct idxd_wq *wq, int pasid) idxd_wq_set_pasid() argument 335 idxd_wq_disable_pasid(struct idxd_wq *wq) idxd_wq_disable_pasid() argument 361 idxd_wq_disable_cleanup(struct idxd_wq *wq) idxd_wq_disable_cleanup() argument 380 idxd_wq_device_reset_cleanup(struct idxd_wq *wq) idxd_wq_device_reset_cleanup() argument 390 struct idxd_wq *wq = container_of(ref, struct idxd_wq, wq_active); idxd_wq_ref_release() local 395 idxd_wq_init_percpu_ref(struct idxd_wq *wq) idxd_wq_init_percpu_ref() argument 409 __idxd_wq_quiesce(struct idxd_wq *wq) __idxd_wq_quiesce() argument 418 idxd_wq_quiesce(struct idxd_wq *wq) idxd_wq_quiesce() argument 709 struct idxd_wq *wq = idxd->wqs[i]; idxd_device_wqs_clear_state() local 906 idxd_wq_config_write(struct idxd_wq *wq) idxd_wq_config_write() argument 1001 struct idxd_wq *wq = idxd->wqs[i]; idxd_wqs_config_write() local 1065 struct idxd_wq *wq; idxd_wqs_setup() local 1127 idxd_wq_load_config(struct idxd_wq *wq) idxd_wq_load_config() argument 1170 struct idxd_wq *wq; idxd_group_load_config() local 1234 struct idxd_wq *wq = idxd->wqs[i]; idxd_device_load_config() local 1300 idxd_wq_free_irq(struct idxd_wq *wq) idxd_wq_free_irq() argument 1318 idxd_wq_request_irq(struct idxd_wq *wq) idxd_wq_request_irq() argument 1360 drv_enable_wq(struct idxd_wq *wq) drv_enable_wq() argument 1493 drv_disable_wq(struct idxd_wq *wq) drv_disable_wq() argument 1579 struct idxd_wq *wq = idxd->wqs[i]; idxd_device_drv_remove() local [all...] |
H A D | dma.c | 20 return idxd_chan->wq; in to_idxd_wq() 27 struct idxd_device *idxd = desc->wq->idxd; in idxd_dma_complete_txd() 56 idxd_free_desc(desc->wq, desc); in idxd_dma_complete_txd() 66 static inline void idxd_prep_desc_common(struct idxd_wq *wq, in idxd_prep_desc_common() argument 88 struct idxd_wq *wq = to_idxd_wq(c); in idxd_dma_prep_interrupt() local 92 if (wq->state != IDXD_WQ_ENABLED) in idxd_dma_prep_interrupt() 96 desc = idxd_alloc_desc(wq, IDXD_OP_BLOCK); in idxd_dma_prep_interrupt() 100 idxd_prep_desc_common(wq, desc->hw, DSA_OPCODE_NOOP, in idxd_dma_prep_interrupt() 110 struct idxd_wq *wq = to_idxd_wq(c); in idxd_dma_submit_memcpy() local 112 struct idxd_device *idxd = wq in idxd_dma_submit_memcpy() 137 struct idxd_wq *wq = to_idxd_wq(chan); idxd_dma_alloc_chan_resources() local 148 struct idxd_wq *wq = to_idxd_wq(chan); idxd_dma_free_chan_resources() local 174 struct idxd_wq *wq = to_idxd_wq(c); idxd_dma_tx_submit() local 248 idxd_register_dma_channel(struct idxd_wq *wq) idxd_register_dma_channel() argument 285 idxd_unregister_dma_channel(struct idxd_wq *wq) idxd_unregister_dma_channel() argument 301 struct idxd_wq *wq = idxd_dev_to_wq(idxd_dev); idxd_dmaengine_drv_probe() local 339 struct idxd_wq *wq = idxd_dev_to_wq(idxd_dev); idxd_dmaengine_drv_remove() local [all...] |