wc 55 arch/alpha/include/asm/sfp-machine.h #define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ wc 58 arch/alpha/include/asm/sfp-machine.h _FP_FRAC_COPY_##wc(R,X); \ wc 77 arch/arm/xen/enlighten.c struct pvclock_wall_clock *wall_clock = &(s->wc); wc 138 arch/c6x/platforms/cache.c unsigned int wc = 0; wc 140 arch/c6x/platforms/cache.c for (; wcnt; wcnt -= wc, start += wc) { wc 160 arch/c6x/platforms/cache.c wc = 0xffff; wc 162 arch/c6x/platforms/cache.c wc = wcnt; wc 165 arch/c6x/platforms/cache.c imcr_set(wc_reg, wc & 0xffff); wc 183 arch/c6x/platforms/cache.c unsigned int wc = 0; wc 185 arch/c6x/platforms/cache.c for (; wcnt; wcnt -= wc, start += wc) { wc 192 arch/c6x/platforms/cache.c wc = 0xffff; wc 194 arch/c6x/platforms/cache.c wc = wcnt; wc 197 arch/c6x/platforms/cache.c imcr_set(wc_reg, wc & 0xffff); wc 40 arch/nds32/include/asm/sfp-machine.h #define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ wc 45 arch/nds32/include/asm/sfp-machine.h _FP_FRAC_COPY_##wc(R, Y); \ wc 48 arch/nds32/include/asm/sfp-machine.h _FP_FRAC_COPY_##wc(R, X); \ wc 144 arch/powerpc/include/asm/sfp-machine.h #define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ wc 150 arch/powerpc/include/asm/sfp-machine.h _FP_FRAC_COPY_##wc(R,X); \ wc 155 arch/powerpc/include/asm/sfp-machine.h _FP_FRAC_COPY_##wc(R,Y); \ wc 45 arch/sh/include/asm/sfp-machine.h #define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ wc 51 arch/sh/include/asm/sfp-machine.h _FP_FRAC_COPY_##wc(R,Y); \ wc 56 arch/sh/include/asm/sfp-machine.h _FP_FRAC_COPY_##wc(R,X); \ wc 61 arch/sparc/include/asm/sfp-machine_32.h #define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ wc 67 arch/sparc/include/asm/sfp-machine_32.h _FP_FRAC_COPY_##wc(R,X); \ wc 72 arch/sparc/include/asm/sfp-machine_32.h _FP_FRAC_COPY_##wc(R,Y); \ wc 59 arch/sparc/include/asm/sfp-machine_64.h #define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ wc 65 arch/sparc/include/asm/sfp-machine_64.h _FP_FRAC_COPY_##wc(R,X); \ wc 70 arch/sparc/include/asm/sfp-machine_64.h _FP_FRAC_COPY_##wc(R,Y); \ wc 1672 arch/x86/kvm/x86.c struct pvclock_wall_clock wc; wc 1702 arch/x86/kvm/x86.c wc.sec = (u32)boot.tv_sec; /* overflow in 2106 guest time */ wc 1703 arch/x86/kvm/x86.c wc.nsec = boot.tv_nsec; wc 1704 arch/x86/kvm/x86.c wc.version = version; wc 1706 arch/x86/kvm/x86.c kvm_write_guest(kvm, wall_clock, &wc, sizeof(wc)); wc 70 arch/x86/xen/time.c struct pvclock_wall_clock *wall_clock = &(s->wc); wc 824 block/blk-settings.c void blk_queue_write_cache(struct request_queue *q, bool wc, bool fua) wc 826 block/blk-settings.c if (wc) wc 150 block/blk-wbt.c else if (rwb->wc && !wb_recent_wait(rwb)) wc 638 block/blk-wbt.c RQWB(rqos)->wc = write_cache_on; wc 844 block/blk-wbt.c rwb->wc = 1; wc 62 block/blk-wbt.h unsigned int wc; wc 120 block/blk-wbt.h static inline void wbt_set_write_cache(struct request_queue *q, bool wc) wc 176 drivers/bluetooth/btmtksdio.c struct mtk_hci_wmt_cmd wc; wc 184 drivers/bluetooth/btmtksdio.c hdr = (struct mtk_wmt_hdr *)&wc; wc 189 drivers/bluetooth/btmtksdio.c memcpy(wc.data, wmt_params->data, wmt_params->dlen); wc 193 drivers/bluetooth/btmtksdio.c err = __hci_cmd_send(hdev, 0xfc6f, hlen, &wc); wc 156 drivers/bluetooth/btmtkuart.c struct mtk_hci_wmt_cmd wc; wc 164 drivers/bluetooth/btmtkuart.c hdr = (struct mtk_wmt_hdr *)&wc; wc 169 drivers/bluetooth/btmtkuart.c memcpy(wc.data, wmt_params->data, wmt_params->dlen); wc 173 drivers/bluetooth/btmtkuart.c err = __hci_cmd_send(hdev, 0xfc6f, hlen, &wc); wc 2698 drivers/bluetooth/btusb.c struct btmtk_hci_wmt_cmd wc; wc 2712 drivers/bluetooth/btusb.c hdr = (struct btmtk_wmt_hdr *)&wc; wc 2717 drivers/bluetooth/btusb.c memcpy(wc.data, wmt_params->data, wmt_params->dlen); wc 2721 drivers/bluetooth/btusb.c err = __hci_cmd_send(hdev, 0xfc6f, hlen, &wc); wc 363 drivers/dax/super.c void dax_write_cache(struct dax_device *dax_dev, bool wc) wc 365 drivers/dax/super.c if (wc) wc 401 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c bool wc, uint32_t reg, uint32_t val) wc 405 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c WRITE_DATA_DST_SEL(0) | (wc ? WR_CONFIRM : 0)); wc 806 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c bool wc, uint32_t reg, uint32_t val) wc 811 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c (wc ? WR_CONFIRM : 0)); wc 931 drivers/gpu/drm/msm/dsi/dsi_host.c u32 wc; wc 970 drivers/gpu/drm/msm/dsi/dsi_host.c wc = hdisplay * dsi_get_bpp(msm_host->format) / 8 + 1; wc 973 drivers/gpu/drm/msm/dsi/dsi_host.c DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT(wc) | wc 4216 drivers/gpu/drm/omapdrm/dss/dsi.c int bl, wc, pps, tot; wc 4218 drivers/gpu/drm/omapdrm/dss/dsi.c wc = DIV_ROUND_UP(t->hact * t->bitspp, 8); wc 4219 drivers/gpu/drm/omapdrm/dss/dsi.c pps = DIV_ROUND_UP(wc + 6, t->ndl); /* pixel packet size */ wc 278 drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c static u32 sun6i_dsi_build_blk0_pkt(u8 vc, u16 wc) wc 281 drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c wc & 0xff, wc >> 8); wc 485 drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c u16 wc; wc 513 drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c wc = mode->hdisplay * mipi_dsi_pixel_format_to_bpp(device->format) / 8; wc 514 drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c val |= SUN6I_DSI_PIXEL_PH_WC(wc); wc 525 drivers/ide/ide-disk.c bool wc = false; wc 549 drivers/ide/ide-disk.c wc = true; wc 554 drivers/ide/ide-disk.c blk_queue_write_cache(drive->queue, wc, false); wc 82 drivers/infiniband/core/agent.c const struct ib_wc *wc, const struct ib_device *device, wc 102 drivers/infiniband/core/agent.c ah = ib_create_ah_from_wc(agent->qp->pd, wc, grh, port_num); wc 112 drivers/infiniband/core/agent.c send_buf = ib_create_send_mad(agent, wc->src_qp, wc->pkey_index, 0, wc 48 drivers/infiniband/core/agent.h const struct ib_wc *wc, const struct ib_device *device, wc 380 drivers/infiniband/core/cm.c return ib_create_send_mad(port->mad_agent, 1, mad_recv_wc->wc->pkey_index, wc 392 drivers/infiniband/core/cm.c ah = ib_create_ah_from_wc(port->mad_agent->qp->pd, mad_recv_wc->wc, wc 456 drivers/infiniband/core/cm.c static int cm_init_av_for_lap(struct cm_port *port, struct ib_wc *wc, wc 463 drivers/infiniband/core/cm.c av->pkey_index = wc->pkey_index; wc 473 drivers/infiniband/core/cm.c port->port_num, wc, wc 482 drivers/infiniband/core/cm.c static int cm_init_av_for_response(struct cm_port *port, struct ib_wc *wc, wc 486 drivers/infiniband/core/cm.c av->pkey_index = wc->pkey_index; wc 488 drivers/infiniband/core/cm.c port->port_num, wc, wc 1634 drivers/infiniband/core/cm.c u16 pkey_index = work->mad_recv_wc->wc->pkey_index; wc 1908 drivers/infiniband/core/cm.c static void cm_process_routed_req(struct cm_req_msg *req_msg, struct ib_wc *wc) wc 1912 drivers/infiniband/core/cm.c req_msg->primary_local_lid = ib_lid_be16(wc->slid); wc 1913 drivers/infiniband/core/cm.c cm_req_set_primary_sl(req_msg, wc->sl); wc 1917 drivers/infiniband/core/cm.c req_msg->primary_remote_lid = cpu_to_be16(wc->dlid_path_bits); wc 1922 drivers/infiniband/core/cm.c req_msg->alt_local_lid = ib_lid_be16(wc->slid); wc 1923 drivers/infiniband/core/cm.c cm_req_set_alt_sl(req_msg, wc->sl); wc 1927 drivers/infiniband/core/cm.c req_msg->alt_remote_lid = cpu_to_be16(wc->dlid_path_bits); wc 1948 drivers/infiniband/core/cm.c ret = cm_init_av_for_response(work->port, work->mad_recv_wc->wc, wc 1976 drivers/infiniband/core/cm.c cm_process_routed_req(req_msg, work->mad_recv_wc->wc); wc 3282 drivers/infiniband/core/cm.c ret = cm_init_av_for_lap(work->port, work->mad_recv_wc->wc, wc 3555 drivers/infiniband/core/cm.c struct ib_wc *wc; wc 3566 drivers/infiniband/core/cm.c wc = work->mad_recv_wc->wc; wc 3567 drivers/infiniband/core/cm.c cm_id_priv->av.dgid.global.subnet_prefix = cpu_to_be64(wc->slid); wc 3569 drivers/infiniband/core/cm.c ret = cm_init_av_for_response(work->port, work->mad_recv_wc->wc, wc 81 drivers/infiniband/core/cq.c struct ib_wc *wc = &wcs[i]; wc 83 drivers/infiniband/core/cq.c if (wc->wr_cqe) wc 84 drivers/infiniband/core/cq.c wc->wr_cqe->done(cq, wc); wc 86 drivers/infiniband/core/cq.c WARN_ON_ONCE(wc->status == IB_WC_SUCCESS); wc 131 drivers/infiniband/core/cq.c completed = __ib_process_cq(cq, budget, cq->wc, IB_POLL_BATCH); wc 154 drivers/infiniband/core/cq.c completed = __ib_process_cq(cq, IB_POLL_BUDGET_WORKQUEUE, cq->wc, wc 204 drivers/infiniband/core/cq.c cq->wc = kmalloc_array(IB_POLL_BATCH, sizeof(*cq->wc), GFP_KERNEL); wc 205 drivers/infiniband/core/cq.c if (!cq->wc) wc 248 drivers/infiniband/core/cq.c kfree(cq->wc); wc 312 drivers/infiniband/core/cq.c kfree(cq->wc); wc 114 drivers/infiniband/core/mad.c struct ib_wc *wc); wc 115 drivers/infiniband/core/mad.c static void ib_mad_send_done(struct ib_cq *cq, struct ib_wc *wc); wc 761 drivers/infiniband/core/mad.c u16 pkey_index, u8 port_num, struct ib_wc *wc) wc 763 drivers/infiniband/core/mad.c memset(wc, 0, sizeof *wc); wc 764 drivers/infiniband/core/mad.c wc->wr_cqe = cqe; wc 765 drivers/infiniband/core/mad.c wc->status = IB_WC_SUCCESS; wc 766 drivers/infiniband/core/mad.c wc->opcode = IB_WC_RECV; wc 767 drivers/infiniband/core/mad.c wc->pkey_index = pkey_index; wc 768 drivers/infiniband/core/mad.c wc->byte_len = sizeof(struct ib_mad) + sizeof(struct ib_grh); wc 769 drivers/infiniband/core/mad.c wc->src_qp = IB_QP0; wc 770 drivers/infiniband/core/mad.c wc->qp = qp; wc 771 drivers/infiniband/core/mad.c wc->slid = slid; wc 772 drivers/infiniband/core/mad.c wc->sl = 0; wc 773 drivers/infiniband/core/mad.c wc->dlid_path_bits = 0; wc 774 drivers/infiniband/core/mad.c wc->port_num = port_num; wc 1411 drivers/infiniband/core/mad.c struct ib_wc *wc) wc 1932 drivers/infiniband/core/mad.c if (has_grh != !!(rwc->wc->wc_flags & IB_WC_GRH)) wc 1942 drivers/infiniband/core/mad.c rwc->wc->dlid_path_bits) & wc 1957 drivers/infiniband/core/mad.c return rdma_ah_get_dlid(&attr) == rwc->wc->slid; wc 1971 drivers/infiniband/core/mad.c const struct ib_mad_recv_wc *wc) wc 1976 drivers/infiniband/core/mad.c mad_hdr = &wc->recv_buf.mad->mad_hdr; wc 1980 drivers/infiniband/core/mad.c rcv_has_same_class(wr, wc) && wc 1986 drivers/infiniband/core/mad.c rcv_has_same_gid(mad_agent_priv, wr, wc))) wc 1998 drivers/infiniband/core/mad.c rcv_has_same_class(wr, wc) && wc 2004 drivers/infiniband/core/mad.c rcv_has_same_gid(mad_agent_priv, wr, wc))) wc 2029 drivers/infiniband/core/mad.c mad_recv_wc->wc->pkey_index); wc 2097 drivers/infiniband/core/mad.c const struct ib_wc *wc, wc 2129 drivers/infiniband/core/mad.c response->header.recv_wc.wc = &response->header.wc; wc 2134 drivers/infiniband/core/mad.c &response->grh, wc, wc 2156 drivers/infiniband/core/mad.c response->header.recv_wc.wc = &response->header.wc; wc 2184 drivers/infiniband/core/mad.c struct ib_wc *wc, wc 2218 drivers/infiniband/core/mad.c response->header.recv_wc.wc = &response->header.wc; wc 2224 drivers/infiniband/core/mad.c &response->grh, wc, wc 2228 drivers/infiniband/core/mad.c recv->header.wc.byte_len, wc 2240 drivers/infiniband/core/mad.c struct ib_wc *wc, wc 2250 drivers/infiniband/core/mad.c return handle_opa_smi(port_priv, qp_info, wc, port_num, recv, wc 2253 drivers/infiniband/core/mad.c return handle_ib_smi(port_priv, qp_info, wc, port_num, recv, response); wc 2256 drivers/infiniband/core/mad.c static void ib_mad_recv_done(struct ib_cq *cq, struct ib_wc *wc) wc 2260 drivers/infiniband/core/mad.c container_of(wc->wr_cqe, struct ib_mad_list_head, cqe); wc 2274 drivers/infiniband/core/mad.c if (wc->status != IB_WC_SUCCESS) { wc 2297 drivers/infiniband/core/mad.c recv->header.wc = *wc; wc 2298 drivers/infiniband/core/mad.c recv->header.recv_wc.wc = &recv->header.wc; wc 2301 drivers/infiniband/core/mad.c recv->header.recv_wc.mad_len = wc->byte_len - sizeof(struct ib_grh); wc 2318 drivers/infiniband/core/mad.c trace_ib_mad_recv_done_handler(qp_info, wc, wc 2327 drivers/infiniband/core/mad.c port_num = wc->port_num; wc 2333 drivers/infiniband/core/mad.c if (handle_smi(port_priv, qp_info, wc, port_num, recv, wc 2342 drivers/infiniband/core/mad.c port_priv->device, 0, port_priv->port_num, wc, wc 2348 drivers/infiniband/core/mad.c wc->pkey_index = resp_mad_pkey_index; wc 2355 drivers/infiniband/core/mad.c &recv->grh, wc, wc 2376 drivers/infiniband/core/mad.c agent_send_response((const struct ib_mad_hdr *)response->mad, &recv->grh, wc, wc 2507 drivers/infiniband/core/mad.c static void ib_mad_send_done(struct ib_cq *cq, struct ib_wc *wc) wc 2511 drivers/infiniband/core/mad.c container_of(wc->wr_cqe, struct ib_mad_list_head, cqe); wc 2522 drivers/infiniband/core/mad.c if (wc->status != IB_WC_SUCCESS) { wc 2523 drivers/infiniband/core/mad.c if (!ib_mad_send_error(port_priv, wc)) wc 2533 drivers/infiniband/core/mad.c trace_ib_mad_send_done_handler(mad_send_wr, wc); wc 2558 drivers/infiniband/core/mad.c mad_send_wc.status = wc->status; wc 2559 drivers/infiniband/core/mad.c mad_send_wc.vendor_err = wc->vendor_err; wc 2573 drivers/infiniband/core/mad.c wc->status = IB_WC_LOC_QP_OP_ERR; wc 2596 drivers/infiniband/core/mad.c struct ib_wc *wc) wc 2599 drivers/infiniband/core/mad.c container_of(wc->wr_cqe, struct ib_mad_list_head, cqe); wc 2610 drivers/infiniband/core/mad.c if (wc->status == IB_WC_WR_FLUSH_ERR) { wc 2749 drivers/infiniband/core/mad.c struct ib_wc wc; wc 2785 drivers/infiniband/core/mad.c recv_mad_agent->agent.port_num, &wc); wc 2787 drivers/infiniband/core/mad.c local->mad_priv->header.recv_wc.wc = &wc; wc 74 drivers/infiniband/core/mad_priv.h struct ib_wc wc; wc 142 drivers/infiniband/core/mad_rmpp.c msg = ib_create_send_mad(&rmpp_recv->agent->agent, recv_wc->wc->src_qp, wc 143 drivers/infiniband/core/mad_rmpp.c recv_wc->wc->pkey_index, 1, hdr_len, wc 163 drivers/infiniband/core/mad_rmpp.c ah = ib_create_ah_from_wc(agent->qp->pd, recv_wc->wc, wc 169 drivers/infiniband/core/mad_rmpp.c msg = ib_create_send_mad(agent, recv_wc->wc->src_qp, wc 170 drivers/infiniband/core/mad_rmpp.c recv_wc->wc->pkey_index, 1, wc 296 drivers/infiniband/core/mad_rmpp.c mad_recv_wc->wc, wc 319 drivers/infiniband/core/mad_rmpp.c rmpp_recv->src_qp = mad_recv_wc->wc->src_qp; wc 320 drivers/infiniband/core/mad_rmpp.c rmpp_recv->slid = mad_recv_wc->wc->slid; wc 340 drivers/infiniband/core/mad_rmpp.c rmpp_recv->src_qp == mad_recv_wc->wc->src_qp && wc 341 drivers/infiniband/core/mad_rmpp.c rmpp_recv->slid == mad_recv_wc->wc->slid && wc 611 drivers/infiniband/core/mad_rmpp.c struct ib_mad_send_wc wc; wc 626 drivers/infiniband/core/mad_rmpp.c wc.status = IB_WC_REM_ABORT_ERR; wc 627 drivers/infiniband/core/mad_rmpp.c wc.vendor_err = rmpp_status; wc 628 drivers/infiniband/core/mad_rmpp.c wc.send_buf = &mad_send_wr->send_buf; wc 629 drivers/infiniband/core/mad_rmpp.c ib_mad_complete_send_wr(mad_send_wr, &wc); wc 718 drivers/infiniband/core/mad_rmpp.c struct ib_mad_send_wc wc; wc 723 drivers/infiniband/core/mad_rmpp.c wc.status = IB_WC_SUCCESS; wc 724 drivers/infiniband/core/mad_rmpp.c wc.vendor_err = 0; wc 725 drivers/infiniband/core/mad_rmpp.c wc.send_buf = &mad_send_wr->send_buf; wc 726 drivers/infiniband/core/mad_rmpp.c ib_mad_complete_send_wr(mad_send_wr, &wc); wc 2204 drivers/infiniband/core/sa_query.c if (mad_recv_wc->wc->status == IB_WC_SUCCESS) wc 235 drivers/infiniband/core/user_mad.c if (mad_recv_wc->wc->status != IB_WC_SUCCESS) wc 247 drivers/infiniband/core/user_mad.c packet->mad.hdr.qpn = cpu_to_be32(mad_recv_wc->wc->src_qp); wc 254 drivers/infiniband/core/user_mad.c mad_recv_wc->wc->slid); wc 256 drivers/infiniband/core/user_mad.c packet->mad.hdr.lid = ib_lid_be16(mad_recv_wc->wc->slid); wc 257 drivers/infiniband/core/user_mad.c packet->mad.hdr.sl = mad_recv_wc->wc->sl; wc 258 drivers/infiniband/core/user_mad.c packet->mad.hdr.path_bits = mad_recv_wc->wc->dlid_path_bits; wc 259 drivers/infiniband/core/user_mad.c packet->mad.hdr.pkey_index = mad_recv_wc->wc->pkey_index; wc 260 drivers/infiniband/core/user_mad.c packet->mad.hdr.grh_present = !!(mad_recv_wc->wc->wc_flags & IB_WC_GRH); wc 267 drivers/infiniband/core/user_mad.c mad_recv_wc->wc, wc 1140 drivers/infiniband/core/uverbs_cmd.c struct ib_wc *wc) wc 1144 drivers/infiniband/core/uverbs_cmd.c tmp.wr_id = wc->wr_id; wc 1145 drivers/infiniband/core/uverbs_cmd.c tmp.status = wc->status; wc 1146 drivers/infiniband/core/uverbs_cmd.c tmp.opcode = wc->opcode; wc 1147 drivers/infiniband/core/uverbs_cmd.c tmp.vendor_err = wc->vendor_err; wc 1148 drivers/infiniband/core/uverbs_cmd.c tmp.byte_len = wc->byte_len; wc 1149 drivers/infiniband/core/uverbs_cmd.c tmp.ex.imm_data = wc->ex.imm_data; wc 1150 drivers/infiniband/core/uverbs_cmd.c tmp.qp_num = wc->qp->qp_num; wc 1151 drivers/infiniband/core/uverbs_cmd.c tmp.src_qp = wc->src_qp; wc 1152 drivers/infiniband/core/uverbs_cmd.c tmp.wc_flags = wc->wc_flags; wc 1153 drivers/infiniband/core/uverbs_cmd.c tmp.pkey_index = wc->pkey_index; wc 1154 drivers/infiniband/core/uverbs_cmd.c if (rdma_cap_opa_ah(ib_dev, wc->port_num)) wc 1155 drivers/infiniband/core/uverbs_cmd.c tmp.slid = OPA_TO_IB_UCAST_LID(wc->slid); wc 1157 drivers/infiniband/core/uverbs_cmd.c tmp.slid = ib_lid_cpu16(wc->slid); wc 1158 drivers/infiniband/core/uverbs_cmd.c tmp.sl = wc->sl; wc 1159 drivers/infiniband/core/uverbs_cmd.c tmp.dlid_path_bits = wc->dlid_path_bits; wc 1160 drivers/infiniband/core/uverbs_cmd.c tmp.port_num = wc->port_num; wc 1176 drivers/infiniband/core/uverbs_cmd.c struct ib_wc wc; wc 1193 drivers/infiniband/core/uverbs_cmd.c ret = ib_poll_cq(cq, 1, &wc); wc 1199 drivers/infiniband/core/uverbs_cmd.c ret = copy_wc_to_user(cq->device, data_ptr, &wc); wc 767 drivers/infiniband/core/verbs.c const struct ib_wc *wc, const struct ib_grh *grh, wc 784 drivers/infiniband/core/verbs.c if (wc->wc_flags & IB_WC_WITH_NETWORK_HDR_TYPE) wc 785 drivers/infiniband/core/verbs.c net_type = wc->network_hdr_type; wc 795 drivers/infiniband/core/verbs.c rdma_ah_set_sl(ah_attr, wc->sl); wc 799 drivers/infiniband/core/verbs.c u16 vlan_id = wc->wc_flags & IB_WC_WITH_VLAN ? wc 800 drivers/infiniband/core/verbs.c wc->vlan_id : 0xffff; wc 802 drivers/infiniband/core/verbs.c if (!(wc->wc_flags & IB_WC_GRH)) wc 825 drivers/infiniband/core/verbs.c rdma_ah_set_dlid(ah_attr, wc->slid); wc 826 drivers/infiniband/core/verbs.c rdma_ah_set_path_bits(ah_attr, wc->dlid_path_bits); wc 828 drivers/infiniband/core/verbs.c if ((wc->wc_flags & IB_WC_GRH) == 0) wc 896 drivers/infiniband/core/verbs.c struct ib_ah *ib_create_ah_from_wc(struct ib_pd *pd, const struct ib_wc *wc, wc 903 drivers/infiniband/core/verbs.c ret = ib_init_ah_attr_from_wc(pd->device, port_num, wc, grh, &ah_attr); wc 2619 drivers/infiniband/core/verbs.c static void ib_drain_qp_done(struct ib_cq *cq, struct ib_wc *wc) wc 2621 drivers/infiniband/core/verbs.c struct ib_drain_cqe *cqe = container_of(wc->wr_cqe, struct ib_drain_cqe, wc 2718 drivers/infiniband/hw/bnxt_re/ib_verbs.c static void bnxt_re_process_req_wc(struct ib_wc *wc, struct bnxt_qplib_cqe *cqe) wc 2722 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_SEND; wc 2725 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_SEND; wc 2726 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_WITH_IMM; wc 2729 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_SEND; wc 2730 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_WITH_INVALIDATE; wc 2733 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_RDMA_WRITE; wc 2736 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_RDMA_WRITE; wc 2737 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_WITH_IMM; wc 2740 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_RDMA_READ; wc 2743 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_COMP_SWAP; wc 2746 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_FETCH_ADD; wc 2749 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_LOCAL_INV; wc 2752 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_REG_MR; wc 2755 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_SEND; wc 2759 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->status = __req_to_ib_wc_status(cqe->status); wc 2968 drivers/infiniband/hw/bnxt_re/ib_verbs.c static void bnxt_re_process_res_rawqp1_wc(struct ib_wc *wc, wc 2971 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_RECV; wc 2972 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->status = __rawqp1_to_ib_wc_status(cqe->status); wc 2973 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_GRH; wc 3002 drivers/infiniband/hw/bnxt_re/ib_verbs.c static void bnxt_re_process_res_rc_wc(struct ib_wc *wc, wc 3005 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_RECV; wc 3006 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->status = __rc_to_ib_wc_status(cqe->status); wc 3009 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_WITH_IMM; wc 3011 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_WITH_INVALIDATE; wc 3014 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_RECV_RDMA_WITH_IMM; wc 3018 drivers/infiniband/hw/bnxt_re/ib_verbs.c struct ib_wc *wc, wc 3036 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wr_id = sqp_entry->wrid; wc 3037 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->byte_len = orig_cqe->length; wc 3038 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->qp = &qp1_qp->ib_qp; wc 3040 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->ex.imm_data = orig_cqe->immdata; wc 3041 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->src_qp = orig_cqe->src_qp; wc 3042 drivers/infiniband/hw/bnxt_re/ib_verbs.c memcpy(wc->smac, orig_cqe->smac, ETH_ALEN); wc 3044 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->vlan_id = vlan_id; wc 3045 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->sl = sl; wc 3046 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_WITH_VLAN; wc 3048 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->port_num = 1; wc 3049 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->vendor_err = orig_cqe->status; wc 3051 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_RECV; wc 3052 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->status = __rawqp1_to_ib_wc_status(orig_cqe->status); wc 3053 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_GRH; wc 3058 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->network_hdr_type = bnxt_re_to_ib_nw_type(nw_type); wc 3059 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_WITH_NETWORK_HDR_TYPE; wc 3064 drivers/infiniband/hw/bnxt_re/ib_verbs.c struct ib_wc *wc, wc 3069 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->opcode = IB_WC_RECV; wc 3070 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->status = __rc_to_ib_wc_status(cqe->status); wc 3073 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_WITH_IMM; wc 3076 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_GRH; wc 3077 drivers/infiniband/hw/bnxt_re/ib_verbs.c memcpy(wc->smac, cqe->smac, ETH_ALEN); wc 3078 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_WITH_SMAC; wc 3080 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->vlan_id = (cqe->cfa_meta & 0xFFF); wc 3081 drivers/infiniband/hw/bnxt_re/ib_verbs.c if (wc->vlan_id < 0x1000) wc 3082 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_WITH_VLAN; wc 3086 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->network_hdr_type = bnxt_re_to_ib_nw_type(nw_type); wc 3087 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wc_flags |= IB_WC_WITH_NETWORK_HDR_TYPE; wc 3114 drivers/infiniband/hw/bnxt_re/ib_verbs.c int bnxt_re_poll_cq(struct ib_cq *ib_cq, int num_entries, struct ib_wc *wc) wc 3159 drivers/infiniband/hw/bnxt_re/ib_verbs.c memset(wc, 0, sizeof(*wc)); wc 3161 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wr_id = cqe->wr_id; wc 3162 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->byte_len = cqe->length; wc 3172 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->qp = &qp->ib_qp; wc 3173 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->ex.imm_data = cqe->immdata; wc 3174 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->src_qp = cqe->src_qp; wc 3175 drivers/infiniband/hw/bnxt_re/ib_verbs.c memcpy(wc->smac, cqe->smac, ETH_ALEN); wc 3176 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->port_num = 1; wc 3177 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->vendor_err = cqe->status; wc 3186 drivers/infiniband/hw/bnxt_re/ib_verbs.c memset(wc, 0, sizeof(*wc)); wc 3189 drivers/infiniband/hw/bnxt_re/ib_verbs.c bnxt_re_process_req_wc(wc, cqe); wc 3198 drivers/infiniband/hw/bnxt_re/ib_verbs.c memset(wc, 0, sizeof(*wc)); wc 3209 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc->wr_id = sqp_entry->wrid; wc 3210 drivers/infiniband/hw/bnxt_re/ib_verbs.c bnxt_re_process_res_rawqp1_wc(wc, cqe); wc 3213 drivers/infiniband/hw/bnxt_re/ib_verbs.c bnxt_re_process_res_rc_wc(wc, cqe); wc 3225 drivers/infiniband/hw/bnxt_re/ib_verbs.c (qp, wc, cqe); wc 3229 drivers/infiniband/hw/bnxt_re/ib_verbs.c bnxt_re_process_res_ud_wc(qp, wc, cqe); wc 3237 drivers/infiniband/hw/bnxt_re/ib_verbs.c wc++; wc 196 drivers/infiniband/hw/bnxt_re/ib_verbs.h int bnxt_re_poll_cq(struct ib_cq *cq, int num_entries, struct ib_wc *wc); wc 36 drivers/infiniband/hw/cxgb3/iwch_cq.c struct iwch_qp *qhp, struct ib_wc *wc) wc 59 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->wr_id = cookie; wc 60 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->qp = qhp ? &qhp->ibqp : NULL; wc 61 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->vendor_err = CQE_STATUS(cqe); wc 62 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->wc_flags = 0; wc 72 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->byte_len = CQE_LEN(cqe); wc 74 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->byte_len = 0; wc 75 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->opcode = IB_WC_RECV; wc 78 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->ex.invalidate_rkey = CQE_WRID_STAG(cqe); wc 79 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->wc_flags |= IB_WC_WITH_INVALIDATE; wc 84 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->opcode = IB_WC_RDMA_WRITE; wc 87 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->opcode = IB_WC_RDMA_READ; wc 88 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->byte_len = CQE_LEN(cqe); wc 94 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->opcode = IB_WC_SEND; wc 97 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->opcode = IB_WC_LOCAL_INV; wc 100 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->opcode = IB_WC_REG_MR; wc 111 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->status = IB_WC_WR_FLUSH_ERR; wc 116 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->status = IB_WC_SUCCESS; wc 119 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->status = IB_WC_LOC_ACCESS_ERR; wc 122 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->status = IB_WC_LOC_PROT_ERR; wc 126 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->status = IB_WC_LOC_ACCESS_ERR; wc 129 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->status = IB_WC_GENERAL_ERR; wc 132 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->status = IB_WC_LOC_LEN_ERR; wc 136 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->status = IB_WC_MW_BIND_ERR; wc 151 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->status = IB_WC_FATAL_ERR; wc 154 drivers/infiniband/hw/cxgb3/iwch_cq.c wc->status = IB_WC_WR_FLUSH_ERR; wc 176 drivers/infiniband/hw/cxgb3/iwch_cq.c struct ib_wc *wc) wc 190 drivers/infiniband/hw/cxgb3/iwch_cq.c ret = __iwch_poll_cq_one(rhp, chp, qhp, wc); wc 193 drivers/infiniband/hw/cxgb3/iwch_cq.c ret = __iwch_poll_cq_one(rhp, chp, NULL, wc); wc 198 drivers/infiniband/hw/cxgb3/iwch_cq.c int iwch_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) wc 218 drivers/infiniband/hw/cxgb3/iwch_cq.c err = iwch_poll_cq_one(rhp, chp, wc + npolled); wc 333 drivers/infiniband/hw/cxgb3/iwch_provider.h int iwch_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); wc 755 drivers/infiniband/hw/cxgb4/cq.c struct ib_wc *wc, struct c4iw_srq *srq) wc 769 drivers/infiniband/hw/cxgb4/cq.c wc->wr_id = cookie; wc 770 drivers/infiniband/hw/cxgb4/cq.c wc->qp = qhp ? &qhp->ibqp : NULL; wc 771 drivers/infiniband/hw/cxgb4/cq.c wc->vendor_err = CQE_STATUS(&cqe); wc 772 drivers/infiniband/hw/cxgb4/cq.c wc->wc_flags = 0; wc 790 drivers/infiniband/hw/cxgb4/cq.c wc->byte_len = CQE_LEN(&cqe); wc 792 drivers/infiniband/hw/cxgb4/cq.c wc->byte_len = 0; wc 796 drivers/infiniband/hw/cxgb4/cq.c wc->opcode = IB_WC_RECV; wc 800 drivers/infiniband/hw/cxgb4/cq.c wc->opcode = IB_WC_RECV; wc 801 drivers/infiniband/hw/cxgb4/cq.c wc->ex.invalidate_rkey = CQE_WRID_STAG(&cqe); wc 802 drivers/infiniband/hw/cxgb4/cq.c wc->wc_flags |= IB_WC_WITH_INVALIDATE; wc 803 drivers/infiniband/hw/cxgb4/cq.c c4iw_invalidate_mr(qhp->rhp, wc->ex.invalidate_rkey); wc 806 drivers/infiniband/hw/cxgb4/cq.c wc->opcode = IB_WC_RECV_RDMA_WITH_IMM; wc 807 drivers/infiniband/hw/cxgb4/cq.c wc->ex.imm_data = CQE_IMM_DATA(&cqe); wc 808 drivers/infiniband/hw/cxgb4/cq.c wc->wc_flags |= IB_WC_WITH_IMM; wc 820 drivers/infiniband/hw/cxgb4/cq.c wc->opcode = IB_WC_RDMA_WRITE; wc 823 drivers/infiniband/hw/cxgb4/cq.c wc->opcode = IB_WC_RDMA_READ; wc 824 drivers/infiniband/hw/cxgb4/cq.c wc->byte_len = CQE_LEN(&cqe); wc 828 drivers/infiniband/hw/cxgb4/cq.c wc->opcode = IB_WC_SEND; wc 829 drivers/infiniband/hw/cxgb4/cq.c wc->wc_flags |= IB_WC_WITH_INVALIDATE; wc 833 drivers/infiniband/hw/cxgb4/cq.c wc->opcode = IB_WC_SEND; wc 837 drivers/infiniband/hw/cxgb4/cq.c wc->opcode = IB_WC_LOCAL_INV; wc 840 drivers/infiniband/hw/cxgb4/cq.c wc->opcode = IB_WC_REG_MR; wc 856 drivers/infiniband/hw/cxgb4/cq.c wc->status = IB_WC_WR_FLUSH_ERR; wc 861 drivers/infiniband/hw/cxgb4/cq.c wc->status = IB_WC_SUCCESS; wc 864 drivers/infiniband/hw/cxgb4/cq.c wc->status = IB_WC_LOC_ACCESS_ERR; wc 867 drivers/infiniband/hw/cxgb4/cq.c wc->status = IB_WC_LOC_PROT_ERR; wc 871 drivers/infiniband/hw/cxgb4/cq.c wc->status = IB_WC_LOC_ACCESS_ERR; wc 874 drivers/infiniband/hw/cxgb4/cq.c wc->status = IB_WC_GENERAL_ERR; wc 877 drivers/infiniband/hw/cxgb4/cq.c wc->status = IB_WC_LOC_LEN_ERR; wc 881 drivers/infiniband/hw/cxgb4/cq.c wc->status = IB_WC_MW_BIND_ERR; wc 897 drivers/infiniband/hw/cxgb4/cq.c wc->status = IB_WC_FATAL_ERR; wc 900 drivers/infiniband/hw/cxgb4/cq.c wc->status = IB_WC_WR_FLUSH_ERR; wc 905 drivers/infiniband/hw/cxgb4/cq.c wc->status = IB_WC_FATAL_ERR; wc 921 drivers/infiniband/hw/cxgb4/cq.c static int c4iw_poll_cq_one(struct c4iw_cq *chp, struct ib_wc *wc) wc 939 drivers/infiniband/hw/cxgb4/cq.c ret = __c4iw_poll_cq_one(chp, qhp, wc, srq); wc 944 drivers/infiniband/hw/cxgb4/cq.c ret = __c4iw_poll_cq_one(chp, NULL, wc, NULL); wc 949 drivers/infiniband/hw/cxgb4/cq.c int c4iw_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) wc 961 drivers/infiniband/hw/cxgb4/cq.c err = c4iw_poll_cq_one(chp, wc + npolled); wc 970 drivers/infiniband/hw/cxgb4/iw_cxgb4.h int c4iw_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); wc 197 drivers/infiniband/hw/hfi1/pio.c static int wildcard_to_pool(int wc) wc 199 drivers/infiniband/hw/hfi1/pio.c if (wc >= 0) wc 201 drivers/infiniband/hw/hfi1/pio.c return -wc - 1; wc 2818 drivers/infiniband/hw/hfi1/rc.c struct ib_wc wc; wc 2947 drivers/infiniband/hw/hfi1/rc.c wc.ex.imm_data = ohdr->u.imm_data; wc 2948 drivers/infiniband/hw/hfi1/rc.c wc.wc_flags = IB_WC_WITH_IMM; wc 2955 drivers/infiniband/hw/hfi1/rc.c wc.ex.invalidate_rkey = rkey; wc 2956 drivers/infiniband/hw/hfi1/rc.c wc.wc_flags = IB_WC_WITH_INVALIDATE; wc 2963 drivers/infiniband/hw/hfi1/rc.c wc.wc_flags = 0; wc 2964 drivers/infiniband/hw/hfi1/rc.c wc.ex.imm_data = 0; wc 2972 drivers/infiniband/hw/hfi1/rc.c wc.byte_len = tlen + qp->r_rcv_len; wc 2973 drivers/infiniband/hw/hfi1/rc.c if (unlikely(wc.byte_len > qp->r_len)) wc 2980 drivers/infiniband/hw/hfi1/rc.c wc.wr_id = qp->r_wr_id; wc 2981 drivers/infiniband/hw/hfi1/rc.c wc.status = IB_WC_SUCCESS; wc 2984 drivers/infiniband/hw/hfi1/rc.c wc.opcode = IB_WC_RECV_RDMA_WITH_IMM; wc 2986 drivers/infiniband/hw/hfi1/rc.c wc.opcode = IB_WC_RECV; wc 2987 drivers/infiniband/hw/hfi1/rc.c wc.qp = &qp->ibqp; wc 2988 drivers/infiniband/hw/hfi1/rc.c wc.src_qp = qp->remote_qpn; wc 2989 drivers/infiniband/hw/hfi1/rc.c wc.slid = rdma_ah_get_dlid(&qp->remote_ah_attr) & U16_MAX; wc 3001 drivers/infiniband/hw/hfi1/rc.c wc.sl = rdma_ah_get_sl(&qp->remote_ah_attr); wc 3003 drivers/infiniband/hw/hfi1/rc.c wc.vendor_err = 0; wc 3004 drivers/infiniband/hw/hfi1/rc.c wc.pkey_index = 0; wc 3005 drivers/infiniband/hw/hfi1/rc.c wc.dlid_path_bits = 0; wc 3006 drivers/infiniband/hw/hfi1/rc.c wc.port_num = 0; wc 3008 drivers/infiniband/hw/hfi1/rc.c rvt_recv_cq(qp, &wc, ib_bth_is_solicited(ohdr)); wc 3053 drivers/infiniband/hw/hfi1/rc.c wc.ex.imm_data = ohdr->u.rc.imm_data; wc 3054 drivers/infiniband/hw/hfi1/rc.c wc.wc_flags = IB_WC_WITH_IMM; wc 316 drivers/infiniband/hw/hfi1/uc.c struct ib_wc wc; wc 435 drivers/infiniband/hw/hfi1/uc.c wc.ex.imm_data = ohdr->u.imm_data; wc 436 drivers/infiniband/hw/hfi1/uc.c wc.wc_flags = IB_WC_WITH_IMM; wc 440 drivers/infiniband/hw/hfi1/uc.c wc.ex.imm_data = 0; wc 441 drivers/infiniband/hw/hfi1/uc.c wc.wc_flags = 0; wc 449 drivers/infiniband/hw/hfi1/uc.c wc.byte_len = tlen + qp->r_rcv_len; wc 450 drivers/infiniband/hw/hfi1/uc.c if (unlikely(wc.byte_len > qp->r_len)) wc 452 drivers/infiniband/hw/hfi1/uc.c wc.opcode = IB_WC_RECV; wc 456 drivers/infiniband/hw/hfi1/uc.c wc.wr_id = qp->r_wr_id; wc 457 drivers/infiniband/hw/hfi1/uc.c wc.status = IB_WC_SUCCESS; wc 458 drivers/infiniband/hw/hfi1/uc.c wc.qp = &qp->ibqp; wc 459 drivers/infiniband/hw/hfi1/uc.c wc.src_qp = qp->remote_qpn; wc 460 drivers/infiniband/hw/hfi1/uc.c wc.slid = rdma_ah_get_dlid(&qp->remote_ah_attr) & U16_MAX; wc 472 drivers/infiniband/hw/hfi1/uc.c wc.sl = rdma_ah_get_sl(&qp->remote_ah_attr); wc 474 drivers/infiniband/hw/hfi1/uc.c wc.vendor_err = 0; wc 475 drivers/infiniband/hw/hfi1/uc.c wc.pkey_index = 0; wc 476 drivers/infiniband/hw/hfi1/uc.c wc.dlid_path_bits = 0; wc 477 drivers/infiniband/hw/hfi1/uc.c wc.port_num = 0; wc 479 drivers/infiniband/hw/hfi1/uc.c rvt_recv_cq(qp, &wc, ib_bth_is_solicited(ohdr)); wc 515 drivers/infiniband/hw/hfi1/uc.c wc.ex.imm_data = ohdr->u.rc.imm_data; wc 530 drivers/infiniband/hw/hfi1/uc.c wc.ex.imm_data = ohdr->u.imm_data; wc 532 drivers/infiniband/hw/hfi1/uc.c wc.wc_flags = IB_WC_WITH_IMM; wc 551 drivers/infiniband/hw/hfi1/uc.c wc.byte_len = qp->r_len; wc 552 drivers/infiniband/hw/hfi1/uc.c wc.opcode = IB_WC_RECV_RDMA_WITH_IMM; wc 83 drivers/infiniband/hw/hfi1/ud.c struct ib_wc wc; wc 149 drivers/infiniband/hw/hfi1/ud.c memset(&wc, 0, sizeof(wc)); wc 150 drivers/infiniband/hw/hfi1/ud.c wc.byte_len = length + sizeof(struct ib_grh); wc 153 drivers/infiniband/hw/hfi1/ud.c wc.wc_flags = IB_WC_WITH_IMM; wc 154 drivers/infiniband/hw/hfi1/ud.c wc.ex.imm_data = swqe->wr.ex.imm_data; wc 179 drivers/infiniband/hw/hfi1/ud.c if (unlikely(wc.byte_len > qp->r_len)) { wc 216 drivers/infiniband/hw/hfi1/ud.c wc.wc_flags |= IB_WC_GRH; wc 235 drivers/infiniband/hw/hfi1/ud.c wc.wr_id = qp->r_wr_id; wc 236 drivers/infiniband/hw/hfi1/ud.c wc.status = IB_WC_SUCCESS; wc 237 drivers/infiniband/hw/hfi1/ud.c wc.opcode = IB_WC_RECV; wc 238 drivers/infiniband/hw/hfi1/ud.c wc.qp = &qp->ibqp; wc 239 drivers/infiniband/hw/hfi1/ud.c wc.src_qp = sqp->ibqp.qp_num; wc 243 drivers/infiniband/hw/hfi1/ud.c wc.pkey_index = rvt_get_swqe_pkey_index(swqe); wc 245 drivers/infiniband/hw/hfi1/ud.c wc.pkey_index = sqp->s_pkey_index; wc 247 drivers/infiniband/hw/hfi1/ud.c wc.pkey_index = 0; wc 249 drivers/infiniband/hw/hfi1/ud.c wc.slid = (ppd->lid | (rdma_ah_get_path_bits(ah_attr) & wc 252 drivers/infiniband/hw/hfi1/ud.c if (wc.slid == 0 && sqp->ibqp.qp_type == IB_QPT_GSI) wc 253 drivers/infiniband/hw/hfi1/ud.c wc.slid = be16_to_cpu(IB_LID_PERMISSIVE); wc 254 drivers/infiniband/hw/hfi1/ud.c wc.sl = rdma_ah_get_sl(ah_attr); wc 255 drivers/infiniband/hw/hfi1/ud.c wc.dlid_path_bits = rdma_ah_get_dlid(ah_attr) & ((1 << ppd->lmc) - 1); wc 256 drivers/infiniband/hw/hfi1/ud.c wc.port_num = qp->port_num; wc 258 drivers/infiniband/hw/hfi1/ud.c rvt_recv_cq(qp, &wc, swqe->wr.send_flags & IB_SEND_SOLICITED); wc 857 drivers/infiniband/hw/hfi1/ud.c struct ib_wc wc; wc 968 drivers/infiniband/hw/hfi1/ud.c wc.ex.imm_data = packet->ohdr->u.ud.imm_data; wc 969 drivers/infiniband/hw/hfi1/ud.c wc.wc_flags = IB_WC_WITH_IMM; wc 971 drivers/infiniband/hw/hfi1/ud.c wc.ex.imm_data = 0; wc 972 drivers/infiniband/hw/hfi1/ud.c wc.wc_flags = 0; wc 981 drivers/infiniband/hw/hfi1/ud.c wc.byte_len = tlen + sizeof(struct ib_grh); wc 1003 drivers/infiniband/hw/hfi1/ud.c if (unlikely(wc.byte_len > qp->r_len)) { wc 1010 drivers/infiniband/hw/hfi1/ud.c wc.wc_flags |= IB_WC_GRH; wc 1021 drivers/infiniband/hw/hfi1/ud.c wc.wc_flags |= IB_WC_GRH; wc 1025 drivers/infiniband/hw/hfi1/ud.c rvt_copy_sge(qp, &qp->r_sge, data, wc.byte_len - sizeof(struct ib_grh), wc 1030 drivers/infiniband/hw/hfi1/ud.c wc.wr_id = qp->r_wr_id; wc 1031 drivers/infiniband/hw/hfi1/ud.c wc.status = IB_WC_SUCCESS; wc 1032 drivers/infiniband/hw/hfi1/ud.c wc.opcode = IB_WC_RECV; wc 1033 drivers/infiniband/hw/hfi1/ud.c wc.vendor_err = 0; wc 1034 drivers/infiniband/hw/hfi1/ud.c wc.qp = &qp->ibqp; wc 1035 drivers/infiniband/hw/hfi1/ud.c wc.src_qp = src_qp; wc 1048 drivers/infiniband/hw/hfi1/ud.c wc.pkey_index = (unsigned)mgmt_pkey_idx; wc 1050 drivers/infiniband/hw/hfi1/ud.c wc.pkey_index = 0; wc 1054 drivers/infiniband/hw/hfi1/ud.c wc.slid = slid & U16_MAX; wc 1055 drivers/infiniband/hw/hfi1/ud.c wc.sl = sl_from_sc; wc 1060 drivers/infiniband/hw/hfi1/ud.c wc.dlid_path_bits = hfi1_check_mcast(dlid) ? 0 : wc 1062 drivers/infiniband/hw/hfi1/ud.c wc.port_num = qp->port_num; wc 1064 drivers/infiniband/hw/hfi1/ud.c rvt_recv_cq(qp, &wc, solicited); wc 974 drivers/infiniband/hw/hns/hns_roce_device.h int (*poll_cq)(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); wc 1030 drivers/infiniband/hw/hns/hns_roce_hw_v1.c struct ib_wc wc[HNS_ROCE_V1_RESV_QP]; wc 1074 drivers/infiniband/hw/hns/hns_roce_hw_v1.c ret = hns_roce_v1_poll_cq(&mr_free_cq->ib_cq, ne, wc); wc 2186 drivers/infiniband/hw/hns/hns_roce_hw_v1.c struct hns_roce_qp **cur_qp, struct ib_wc *wc) wc 2235 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->qp = &(*cur_qp)->ibqp; wc 2236 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->vendor_err = 0; wc 2244 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_SUCCESS; wc 2247 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_LOC_LEN_ERR; wc 2250 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_LOC_QP_OP_ERR; wc 2253 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_LOC_PROT_ERR; wc 2256 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_WR_FLUSH_ERR; wc 2259 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_MW_BIND_ERR; wc 2262 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_BAD_RESP_ERR; wc 2265 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_LOC_ACCESS_ERR; wc 2268 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_REM_INV_REQ_ERR; wc 2271 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_REM_ACCESS_ERR; wc 2274 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_REM_OP_ERR; wc 2277 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_RETRY_EXC_ERR; wc 2280 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_RNR_RETRY_EXC_ERR; wc 2283 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_GENERAL_ERR; wc 2288 drivers/infiniband/hw/hns/hns_roce_hw_v1.c if (wc->status != IB_WC_SUCCESS) wc 2299 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->opcode = IB_WC_SEND; wc 2302 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->opcode = IB_WC_RDMA_READ; wc 2303 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->byte_len = le32_to_cpu(cqe->byte_cnt); wc 2306 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->opcode = IB_WC_RDMA_WRITE; wc 2309 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->opcode = IB_WC_LOCAL_INV; wc 2312 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->opcode = IB_WC_SEND; wc 2315 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_GENERAL_ERR; wc 2318 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->wc_flags = (le32_to_cpu(sq_wqe->flag) & HNS_ROCE_WQE_IMM ? wc 2334 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->wr_id = wq->wrid[wq->tail & (wq->wqe_cnt - 1)]; wc 2338 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->byte_len = le32_to_cpu(cqe->byte_cnt); wc 2345 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->opcode = IB_WC_RECV_RDMA_WITH_IMM; wc 2346 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->wc_flags = IB_WC_WITH_IMM; wc 2347 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->ex.imm_data = wc 2353 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->opcode = IB_WC_RECV; wc 2354 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->wc_flags = IB_WC_WITH_IMM; wc 2355 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->ex.imm_data = cpu_to_be32( wc 2358 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->opcode = IB_WC_RECV; wc 2359 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->wc_flags = 0; wc 2363 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->status = IB_WC_GENERAL_ERR; wc 2369 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->wr_id = wq->wrid[wq->tail & (wq->wqe_cnt - 1)]; wc 2371 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->sl = (u8)roce_get_field(cqe->cqe_byte_20, CQE_BYTE_20_SL_M, wc 2373 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->src_qp = (u8)roce_get_field(cqe->cqe_byte_20, wc 2376 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->wc_flags |= (roce_get_bit(cqe->cqe_byte_20, wc 2379 drivers/infiniband/hw/hns/hns_roce_hw_v1.c wc->pkey_index = (u16)roce_get_field(cqe->cqe_byte_28, wc 2387 drivers/infiniband/hw/hns/hns_roce_hw_v1.c int hns_roce_v1_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) wc 2398 drivers/infiniband/hw/hns/hns_roce_hw_v1.c ret = hns_roce_v1_poll_one(hr_cq, &cur_qp, wc + npolled); wc 1096 drivers/infiniband/hw/hns/hns_roce_hw_v1.h int hns_roce_v1_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); wc 2662 drivers/infiniband/hw/hns/hns_roce_hw_v2.c struct ib_wc *wc) wc 2676 drivers/infiniband/hw/hns/hns_roce_hw_v2.c data_len = wc->byte_len; wc 2687 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_LOC_LEN_ERR; wc 2695 drivers/infiniband/hw/hns/hns_roce_hw_v2.c struct hns_roce_qp **cur_qp, struct ib_wc *wc) wc 2737 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->qp = &(*cur_qp)->ibqp; wc 2738 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->vendor_err = 0; wc 2755 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wr_id = wq->wrid[wq->tail & (wq->wqe_cnt - 1)]; wc 2762 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wr_id = srq->wrid[wqe_ctr]; wc 2767 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wr_id = wq->wrid[wq->tail & (wq->wqe_cnt - 1)]; wc 2775 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_SUCCESS; wc 2778 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_LOC_LEN_ERR; wc 2781 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_LOC_QP_OP_ERR; wc 2784 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_LOC_PROT_ERR; wc 2787 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_WR_FLUSH_ERR; wc 2790 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_MW_BIND_ERR; wc 2793 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_BAD_RESP_ERR; wc 2796 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_LOC_ACCESS_ERR; wc 2799 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_REM_INV_REQ_ERR; wc 2802 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_REM_ACCESS_ERR; wc 2805 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_REM_OP_ERR; wc 2808 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_RETRY_EXC_ERR; wc 2811 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_RNR_RETRY_EXC_ERR; wc 2814 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_REM_ABORT_ERR; wc 2817 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_GENERAL_ERR; wc 2822 drivers/infiniband/hw/hns/hns_roce_hw_v2.c if ((wc->status != IB_WC_SUCCESS) && wc 2823 drivers/infiniband/hw/hns/hns_roce_hw_v2.c (wc->status != IB_WC_WR_FLUSH_ERR)) { wc 2831 drivers/infiniband/hw/hns/hns_roce_hw_v2.c if (wc->status == IB_WC_WR_FLUSH_ERR) wc 2835 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wc_flags = 0; wc 2840 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_SEND; wc 2843 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_SEND; wc 2846 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_SEND; wc 2847 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wc_flags |= IB_WC_WITH_IMM; wc 2850 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_RDMA_READ; wc 2851 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->byte_len = le32_to_cpu(cqe->byte_cnt); wc 2854 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_RDMA_WRITE; wc 2857 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_RDMA_WRITE; wc 2858 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wc_flags |= IB_WC_WITH_IMM; wc 2861 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_LOCAL_INV; wc 2862 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wc_flags |= IB_WC_WITH_INVALIDATE; wc 2865 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_COMP_SWAP; wc 2866 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->byte_len = 8; wc 2869 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_FETCH_ADD; wc 2870 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->byte_len = 8; wc 2873 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_MASKED_COMP_SWAP; wc 2874 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->byte_len = 8; wc 2877 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_MASKED_FETCH_ADD; wc 2878 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->byte_len = 8; wc 2881 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_REG_MR; wc 2884 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_REG_MR; wc 2887 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_GENERAL_ERR; wc 2892 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->byte_len = le32_to_cpu(cqe->byte_cnt); wc 2898 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_RECV_RDMA_WITH_IMM; wc 2899 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wc_flags = IB_WC_WITH_IMM; wc 2900 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->ex.imm_data = wc 2904 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_RECV; wc 2905 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wc_flags = 0; wc 2908 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_RECV; wc 2909 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wc_flags = IB_WC_WITH_IMM; wc 2910 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->ex.imm_data = wc 2914 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->opcode = IB_WC_RECV; wc 2915 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wc_flags = IB_WC_WITH_INVALIDATE; wc 2916 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->ex.invalidate_rkey = le32_to_cpu(cqe->rkey); wc 2919 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->status = IB_WC_GENERAL_ERR; wc 2923 drivers/infiniband/hw/hns/hns_roce_hw_v2.c if ((wc->qp->qp_type == IB_QPT_RC || wc 2924 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->qp->qp_type == IB_QPT_UC) && wc 2929 drivers/infiniband/hw/hns/hns_roce_hw_v2.c ret = hns_roce_handle_recv_inl_wqe(cqe, cur_qp, wc); wc 2934 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->sl = (u8)roce_get_field(cqe->byte_32, V2_CQE_BYTE_32_SL_M, wc 2936 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->src_qp = (u8)roce_get_field(cqe->byte_32, wc 2939 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->slid = 0; wc 2940 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wc_flags |= (roce_get_bit(cqe->byte_32, wc 2943 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->port_num = roce_get_field(cqe->byte_32, wc 2945 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->pkey_index = 0; wc 2946 drivers/infiniband/hw/hns/hns_roce_hw_v2.c memcpy(wc->smac, cqe->smac, 4); wc 2947 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->smac[4] = roce_get_field(cqe->byte_28, wc 2950 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->smac[5] = roce_get_field(cqe->byte_28, wc 2953 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wc_flags |= IB_WC_WITH_SMAC; wc 2955 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->vlan_id = (u16)roce_get_field(cqe->byte_28, wc 2958 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->wc_flags |= IB_WC_WITH_VLAN; wc 2960 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->vlan_id = 0xffff; wc 2963 drivers/infiniband/hw/hns/hns_roce_hw_v2.c wc->network_hdr_type = roce_get_field(cqe->byte_28, wc 2972 drivers/infiniband/hw/hns/hns_roce_hw_v2.c struct ib_wc *wc) wc 2982 drivers/infiniband/hw/hns/hns_roce_hw_v2.c if (hns_roce_v2_poll_one(hr_cq, &cur_qp, wc + npolled)) wc 511 drivers/infiniband/hw/mlx4/cq.c struct ib_wc *wc) wc 525 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_LOC_LEN_ERR; wc 528 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_LOC_QP_OP_ERR; wc 531 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_LOC_PROT_ERR; wc 534 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_WR_FLUSH_ERR; wc 537 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_MW_BIND_ERR; wc 540 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_BAD_RESP_ERR; wc 543 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_LOC_ACCESS_ERR; wc 546 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_REM_INV_REQ_ERR; wc 549 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_REM_ACCESS_ERR; wc 552 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_REM_OP_ERR; wc 555 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_RETRY_EXC_ERR; wc 558 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_RNR_RETRY_EXC_ERR; wc 561 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_REM_ABORT_ERR; wc 564 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_GENERAL_ERR; wc 568 drivers/infiniband/hw/mlx4/cq.c wc->vendor_err = cqe->vendor_err_syndrome; wc 585 drivers/infiniband/hw/mlx4/cq.c static void use_tunnel_data(struct mlx4_ib_qp *qp, struct mlx4_ib_cq *cq, struct ib_wc *wc, wc 595 drivers/infiniband/hw/mlx4/cq.c wc->pkey_index = be16_to_cpu(hdr->tun.pkey_index); wc 596 drivers/infiniband/hw/mlx4/cq.c wc->src_qp = be32_to_cpu(hdr->tun.flags_src_qp) & 0xFFFFFF; wc 597 drivers/infiniband/hw/mlx4/cq.c wc->wc_flags |= (hdr->tun.g_ml_path & 0x80) ? (IB_WC_GRH) : 0; wc 598 drivers/infiniband/hw/mlx4/cq.c wc->dlid_path_bits = 0; wc 601 drivers/infiniband/hw/mlx4/cq.c wc->slid = 0; wc 602 drivers/infiniband/hw/mlx4/cq.c wc->vlan_id = be16_to_cpu(hdr->tun.sl_vid); wc 603 drivers/infiniband/hw/mlx4/cq.c memcpy(&(wc->smac[0]), (char *)&hdr->tun.mac_31_0, 4); wc 604 drivers/infiniband/hw/mlx4/cq.c memcpy(&(wc->smac[4]), (char *)&hdr->tun.slid_mac_47_32, 2); wc 605 drivers/infiniband/hw/mlx4/cq.c wc->wc_flags |= (IB_WC_WITH_VLAN | IB_WC_WITH_SMAC); wc 607 drivers/infiniband/hw/mlx4/cq.c wc->slid = be16_to_cpu(hdr->tun.slid_mac_47_32); wc 608 drivers/infiniband/hw/mlx4/cq.c wc->sl = (u8) (be16_to_cpu(hdr->tun.sl_vid) >> 12); wc 613 drivers/infiniband/hw/mlx4/cq.c struct ib_wc *wc, int *npolled, int is_send) wc 626 drivers/infiniband/hw/mlx4/cq.c wc->wr_id = wq->wrid[wq->tail & (wq->wqe_cnt - 1)]; wc 627 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_WR_FLUSH_ERR; wc 628 drivers/infiniband/hw/mlx4/cq.c wc->vendor_err = MLX4_CQE_SYNDROME_WR_FLUSH_ERR; wc 631 drivers/infiniband/hw/mlx4/cq.c wc->qp = &qp->ibqp; wc 632 drivers/infiniband/hw/mlx4/cq.c wc++; wc 637 drivers/infiniband/hw/mlx4/cq.c struct ib_wc *wc, int *npolled) wc 646 drivers/infiniband/hw/mlx4/cq.c mlx4_ib_qp_sw_comp(qp, num_entries, wc + *npolled, npolled, 1); wc 652 drivers/infiniband/hw/mlx4/cq.c mlx4_ib_qp_sw_comp(qp, num_entries, wc + *npolled, npolled, 0); wc 663 drivers/infiniband/hw/mlx4/cq.c struct ib_wc *wc) wc 725 drivers/infiniband/hw/mlx4/cq.c wc->qp = &(*cur_qp)->ibqp; wc 727 drivers/infiniband/hw/mlx4/cq.c if (wc->qp->qp_type == IB_QPT_XRC_TGT) { wc 742 drivers/infiniband/hw/mlx4/cq.c wc->wr_id = wq->wrid[wq->tail & (wq->wqe_cnt - 1)]; wc 747 drivers/infiniband/hw/mlx4/cq.c wc->wr_id = srq->wrid[wqe_ctr]; wc 752 drivers/infiniband/hw/mlx4/cq.c wc->wr_id = srq->wrid[wqe_ctr]; wc 757 drivers/infiniband/hw/mlx4/cq.c wc->wr_id = wq->wrid[tail]; wc 762 drivers/infiniband/hw/mlx4/cq.c mlx4_ib_handle_error_cqe((struct mlx4_err_cqe *) cqe, wc); wc 766 drivers/infiniband/hw/mlx4/cq.c wc->status = IB_WC_SUCCESS; wc 769 drivers/infiniband/hw/mlx4/cq.c wc->wc_flags = 0; wc 772 drivers/infiniband/hw/mlx4/cq.c wc->wc_flags |= IB_WC_WITH_IMM; wc 775 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_RDMA_WRITE; wc 778 drivers/infiniband/hw/mlx4/cq.c wc->wc_flags |= IB_WC_WITH_IMM; wc 782 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_SEND; wc 785 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_RDMA_READ; wc 786 drivers/infiniband/hw/mlx4/cq.c wc->byte_len = be32_to_cpu(cqe->byte_cnt); wc 789 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_COMP_SWAP; wc 790 drivers/infiniband/hw/mlx4/cq.c wc->byte_len = 8; wc 793 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_FETCH_ADD; wc 794 drivers/infiniband/hw/mlx4/cq.c wc->byte_len = 8; wc 797 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_MASKED_COMP_SWAP; wc 798 drivers/infiniband/hw/mlx4/cq.c wc->byte_len = 8; wc 801 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_MASKED_FETCH_ADD; wc 802 drivers/infiniband/hw/mlx4/cq.c wc->byte_len = 8; wc 805 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_LSO; wc 808 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_REG_MR; wc 811 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_LOCAL_INV; wc 815 drivers/infiniband/hw/mlx4/cq.c wc->byte_len = be32_to_cpu(cqe->byte_cnt); wc 819 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_RECV_RDMA_WITH_IMM; wc 820 drivers/infiniband/hw/mlx4/cq.c wc->wc_flags = IB_WC_WITH_IMM; wc 821 drivers/infiniband/hw/mlx4/cq.c wc->ex.imm_data = cqe->immed_rss_invalid; wc 824 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_RECV; wc 825 drivers/infiniband/hw/mlx4/cq.c wc->wc_flags = IB_WC_WITH_INVALIDATE; wc 826 drivers/infiniband/hw/mlx4/cq.c wc->ex.invalidate_rkey = be32_to_cpu(cqe->immed_rss_invalid); wc 829 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_RECV; wc 830 drivers/infiniband/hw/mlx4/cq.c wc->wc_flags = 0; wc 833 drivers/infiniband/hw/mlx4/cq.c wc->opcode = IB_WC_RECV; wc 834 drivers/infiniband/hw/mlx4/cq.c wc->wc_flags = IB_WC_WITH_IMM; wc 835 drivers/infiniband/hw/mlx4/cq.c wc->ex.imm_data = cqe->immed_rss_invalid; wc 839 drivers/infiniband/hw/mlx4/cq.c is_eth = (rdma_port_get_link_layer(wc->qp->device, wc 846 drivers/infiniband/hw/mlx4/cq.c use_tunnel_data(*cur_qp, cq, wc, tail, cqe, wc 853 drivers/infiniband/hw/mlx4/cq.c wc->src_qp = g_mlpath_rqpn & 0xffffff; wc 854 drivers/infiniband/hw/mlx4/cq.c wc->dlid_path_bits = (g_mlpath_rqpn >> 24) & 0x7f; wc 855 drivers/infiniband/hw/mlx4/cq.c wc->wc_flags |= g_mlpath_rqpn & 0x80000000 ? IB_WC_GRH : 0; wc 856 drivers/infiniband/hw/mlx4/cq.c wc->pkey_index = be32_to_cpu(cqe->immed_rss_invalid) & 0x7f; wc 857 drivers/infiniband/hw/mlx4/cq.c wc->wc_flags |= mlx4_ib_ipoib_csum_ok(cqe->status, wc 860 drivers/infiniband/hw/mlx4/cq.c wc->slid = 0; wc 861 drivers/infiniband/hw/mlx4/cq.c wc->sl = be16_to_cpu(cqe->sl_vid) >> 13; wc 864 drivers/infiniband/hw/mlx4/cq.c wc->vlan_id = be16_to_cpu(cqe->sl_vid) & wc 867 drivers/infiniband/hw/mlx4/cq.c wc->vlan_id = 0xffff; wc 869 drivers/infiniband/hw/mlx4/cq.c memcpy(wc->smac, cqe->smac, ETH_ALEN); wc 870 drivers/infiniband/hw/mlx4/cq.c wc->wc_flags |= (IB_WC_WITH_VLAN | IB_WC_WITH_SMAC); wc 872 drivers/infiniband/hw/mlx4/cq.c wc->slid = be16_to_cpu(cqe->rlid); wc 873 drivers/infiniband/hw/mlx4/cq.c wc->sl = be16_to_cpu(cqe->sl_vid) >> 12; wc 874 drivers/infiniband/hw/mlx4/cq.c wc->vlan_id = 0xffff; wc 881 drivers/infiniband/hw/mlx4/cq.c int mlx4_ib_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) wc 891 drivers/infiniband/hw/mlx4/cq.c mlx4_ib_poll_sw_comp(cq, num_entries, wc, &npolled); wc 896 drivers/infiniband/hw/mlx4/cq.c if (mlx4_ib_poll_one(cq, &cur_qp, wc + npolled)) wc 504 drivers/infiniband/hw/mlx4/mad.c enum ib_qp_type dest_qpt, struct ib_wc *wc, wc 540 drivers/infiniband/hw/mlx4/mad.c ret = ib_get_cached_pkey(&dev->ib_dev, port, wc->pkey_index, &cached_pkey); wc 601 drivers/infiniband/hw/mlx4/mad.c tun_mad->hdr.flags_src_qp = cpu_to_be32(wc->src_qp & 0xFFFFFF); wc 602 drivers/infiniband/hw/mlx4/mad.c tun_mad->hdr.g_ml_path = (grh && (wc->wc_flags & IB_WC_GRH)) ? 0x80 : 0; wc 609 drivers/infiniband/hw/mlx4/mad.c if (vlan != wc->vlan_id) wc 620 drivers/infiniband/hw/mlx4/mad.c vlan = wc->vlan_id; wc 624 drivers/infiniband/hw/mlx4/mad.c memcpy((char *)&tun_mad->hdr.mac_31_0, &(wc->smac[0]), 4); wc 625 drivers/infiniband/hw/mlx4/mad.c memcpy((char *)&tun_mad->hdr.slid_mac_47_32, &(wc->smac[4]), 2); wc 627 drivers/infiniband/hw/mlx4/mad.c tun_mad->hdr.sl_vid = cpu_to_be16(((u16)(wc->sl)) << 12); wc 628 drivers/infiniband/hw/mlx4/mad.c tun_mad->hdr.slid_mac_47_32 = ib_lid_be16(wc->slid); wc 665 drivers/infiniband/hw/mlx4/mad.c struct ib_wc *wc, struct ib_grh *grh, wc 685 drivers/infiniband/hw/mlx4/mad.c if (!(wc->wc_flags & IB_WC_GRH)) { wc 716 drivers/infiniband/hw/mlx4/mad.c err = mlx4_ib_send_to_slave(dev, slave, port, wc->qp->qp_type, wc, grh, mad); wc 735 drivers/infiniband/hw/mlx4/mad.c if (wc->wc_flags & IB_WC_GRH) { wc 795 drivers/infiniband/hw/mlx4/mad.c err = mlx4_ib_send_to_slave(dev, slave, port, wc->qp->qp_type, wc, grh, mad); wc 1481 drivers/infiniband/hw/mlx4/mad.c static void mlx4_ib_multiplex_mad(struct mlx4_ib_demux_pv_ctx *ctx, struct ib_wc *wc) wc 1484 drivers/infiniband/hw/mlx4/mad.c struct mlx4_ib_demux_pv_qp *tun_qp = &ctx->qp[MLX4_TUN_WRID_QPN(wc->wr_id)]; wc 1485 drivers/infiniband/hw/mlx4/mad.c int wr_ix = wc->wr_id & (MLX4_NUM_TUNNEL_BUFS - 1); wc 1497 drivers/infiniband/hw/mlx4/mad.c if (wc->src_qp < dev->dev->phys_caps.base_proxy_sqpn || wc 1498 drivers/infiniband/hw/mlx4/mad.c wc->src_qp >= dev->dev->phys_caps.base_proxy_sqpn + 8 * MLX4_MFUNC_MAX || wc 1499 drivers/infiniband/hw/mlx4/mad.c (wc->src_qp & 0x1) != ctx->port - 1 || wc 1500 drivers/infiniband/hw/mlx4/mad.c wc->src_qp & 0x4) { wc 1501 drivers/infiniband/hw/mlx4/mad.c mlx4_ib_warn(ctx->ib_dev, "can't multiplex bad sqp:%d\n", wc->src_qp); wc 1504 drivers/infiniband/hw/mlx4/mad.c slave = ((wc->src_qp & ~0x7) - dev->dev->phys_caps.base_proxy_sqpn) / 8; wc 1507 drivers/infiniband/hw/mlx4/mad.c "belongs to another slave\n", wc->src_qp); wc 1592 drivers/infiniband/hw/mlx4/mad.c is_proxy_qp0(dev, wc->src_qp, slave) ? wc 1597 drivers/infiniband/hw/mlx4/mad.c &ah_attr, wc->smac, vlan_id, &tunnel->mad); wc 1736 drivers/infiniband/hw/mlx4/mad.c struct ib_wc wc; wc 1741 drivers/infiniband/hw/mlx4/mad.c while (ib_poll_cq(ctx->cq, 1, &wc) == 1) { wc 1742 drivers/infiniband/hw/mlx4/mad.c tun_qp = &ctx->qp[MLX4_TUN_WRID_QPN(wc.wr_id)]; wc 1743 drivers/infiniband/hw/mlx4/mad.c if (wc.status == IB_WC_SUCCESS) { wc 1744 drivers/infiniband/hw/mlx4/mad.c switch (wc.opcode) { wc 1746 drivers/infiniband/hw/mlx4/mad.c mlx4_ib_multiplex_mad(ctx, &wc); wc 1748 drivers/infiniband/hw/mlx4/mad.c wc.wr_id & wc 1752 drivers/infiniband/hw/mlx4/mad.c "buf:%lld\n", wc.wr_id); wc 1757 drivers/infiniband/hw/mlx4/mad.c wc.wr_id, wc.status); wc 1758 drivers/infiniband/hw/mlx4/mad.c rdma_destroy_ah(tun_qp->tx_ring[wc.wr_id & wc 1760 drivers/infiniband/hw/mlx4/mad.c tun_qp->tx_ring[wc.wr_id & (MLX4_NUM_TUNNEL_BUFS - 1)].ah wc 1773 drivers/infiniband/hw/mlx4/mad.c ctx->slave, wc.status, wc.wr_id); wc 1774 drivers/infiniband/hw/mlx4/mad.c if (!MLX4_TUN_IS_RECV(wc.wr_id)) { wc 1775 drivers/infiniband/hw/mlx4/mad.c rdma_destroy_ah(tun_qp->tx_ring[wc.wr_id & wc 1777 drivers/infiniband/hw/mlx4/mad.c tun_qp->tx_ring[wc.wr_id & (MLX4_NUM_TUNNEL_BUFS - 1)].ah wc 1900 drivers/infiniband/hw/mlx4/mad.c struct ib_wc wc; wc 1907 drivers/infiniband/hw/mlx4/mad.c while (mlx4_ib_poll_cq(ctx->cq, 1, &wc) == 1) { wc 1908 drivers/infiniband/hw/mlx4/mad.c sqp = &ctx->qp[MLX4_TUN_WRID_QPN(wc.wr_id)]; wc 1909 drivers/infiniband/hw/mlx4/mad.c if (wc.status == IB_WC_SUCCESS) { wc 1910 drivers/infiniband/hw/mlx4/mad.c switch (wc.opcode) { wc 1912 drivers/infiniband/hw/mlx4/mad.c kfree(sqp->tx_ring[wc.wr_id & wc 1914 drivers/infiniband/hw/mlx4/mad.c sqp->tx_ring[wc.wr_id & (MLX4_NUM_TUNNEL_BUFS - 1)].ah wc 1922 drivers/infiniband/hw/mlx4/mad.c (sqp->ring[wc.wr_id & wc 1925 drivers/infiniband/hw/mlx4/mad.c (sqp->ring[wc.wr_id & wc 1927 drivers/infiniband/hw/mlx4/mad.c mlx4_ib_demux_mad(ctx->ib_dev, ctx->port, &wc, grh, mad); wc 1928 drivers/infiniband/hw/mlx4/mad.c if (mlx4_ib_post_pv_qp_buf(ctx, sqp, wc.wr_id & wc 1931 drivers/infiniband/hw/mlx4/mad.c "buf:%lld\n", wc.wr_id); wc 1939 drivers/infiniband/hw/mlx4/mad.c ctx->slave, wc.status, wc.wr_id); wc 1940 drivers/infiniband/hw/mlx4/mad.c if (!MLX4_TUN_IS_RECV(wc.wr_id)) { wc 1941 drivers/infiniband/hw/mlx4/mad.c kfree(sqp->tx_ring[wc.wr_id & wc 1943 drivers/infiniband/hw/mlx4/mad.c sqp->tx_ring[wc.wr_id & (MLX4_NUM_TUNNEL_BUFS - 1)].ah wc 233 drivers/infiniband/hw/mlx4/mcg.c struct ib_wc wc; wc 242 drivers/infiniband/hw/mlx4/mcg.c if (ib_find_cached_pkey(&dev->ib_dev, ctx->port, IB_DEFAULT_PKEY_FULL, &wc.pkey_index)) wc 244 drivers/infiniband/hw/mlx4/mcg.c wc.sl = 0; wc 245 drivers/infiniband/hw/mlx4/mcg.c wc.dlid_path_bits = 0; wc 246 drivers/infiniband/hw/mlx4/mcg.c wc.port_num = ctx->port; wc 247 drivers/infiniband/hw/mlx4/mcg.c wc.slid = rdma_ah_get_dlid(&ah_attr); /* opensm lid */ wc 248 drivers/infiniband/hw/mlx4/mcg.c wc.src_qp = 1; wc 249 drivers/infiniband/hw/mlx4/mcg.c return mlx4_ib_send_to_slave(dev, slave, ctx->port, IB_QPT_GSI, &wc, NULL, mad); wc 749 drivers/infiniband/hw/mlx4/mlx4_ib.h int mlx4_ib_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); wc 843 drivers/infiniband/hw/mlx4/mlx4_ib.h enum ib_qp_type qpt, struct ib_wc *wc, wc 4418 drivers/infiniband/hw/mlx4/qp.c static void mlx4_ib_drain_qp_done(struct ib_cq *cq, struct ib_wc *wc) wc 4420 drivers/infiniband/hw/mlx4/qp.c struct mlx4_ib_drain_cqe *cqe = container_of(wc->wr_cqe, wc 116 drivers/infiniband/hw/mlx5/cq.c static void handle_good_req(struct ib_wc *wc, struct mlx5_cqe64 *cqe, wc 119 drivers/infiniband/hw/mlx5/cq.c wc->wc_flags = 0; wc 122 drivers/infiniband/hw/mlx5/cq.c wc->wc_flags |= IB_WC_WITH_IMM; wc 125 drivers/infiniband/hw/mlx5/cq.c wc->opcode = IB_WC_RDMA_WRITE; wc 128 drivers/infiniband/hw/mlx5/cq.c wc->wc_flags |= IB_WC_WITH_IMM; wc 132 drivers/infiniband/hw/mlx5/cq.c wc->opcode = IB_WC_SEND; wc 135 drivers/infiniband/hw/mlx5/cq.c wc->opcode = IB_WC_RDMA_READ; wc 136 drivers/infiniband/hw/mlx5/cq.c wc->byte_len = be32_to_cpu(cqe->byte_cnt); wc 139 drivers/infiniband/hw/mlx5/cq.c wc->opcode = IB_WC_COMP_SWAP; wc 140 drivers/infiniband/hw/mlx5/cq.c wc->byte_len = 8; wc 143 drivers/infiniband/hw/mlx5/cq.c wc->opcode = IB_WC_FETCH_ADD; wc 144 drivers/infiniband/hw/mlx5/cq.c wc->byte_len = 8; wc 147 drivers/infiniband/hw/mlx5/cq.c wc->opcode = IB_WC_MASKED_COMP_SWAP; wc 148 drivers/infiniband/hw/mlx5/cq.c wc->byte_len = 8; wc 151 drivers/infiniband/hw/mlx5/cq.c wc->opcode = IB_WC_MASKED_FETCH_ADD; wc 152 drivers/infiniband/hw/mlx5/cq.c wc->byte_len = 8; wc 155 drivers/infiniband/hw/mlx5/cq.c wc->opcode = get_umr_comp(wq, idx); wc 165 drivers/infiniband/hw/mlx5/cq.c static void handle_responder(struct ib_wc *wc, struct mlx5_cqe64 *cqe, wc 188 drivers/infiniband/hw/mlx5/cq.c wc->wr_id = srq->wrid[wqe_ctr]; wc 195 drivers/infiniband/hw/mlx5/cq.c wc->wr_id = wq->wrid[wq->tail & (wq->wqe_cnt - 1)]; wc 198 drivers/infiniband/hw/mlx5/cq.c wc->byte_len = be32_to_cpu(cqe->byte_cnt); wc 202 drivers/infiniband/hw/mlx5/cq.c wc->opcode = IB_WC_RECV_RDMA_WITH_IMM; wc 203 drivers/infiniband/hw/mlx5/cq.c wc->wc_flags = IB_WC_WITH_IMM; wc 204 drivers/infiniband/hw/mlx5/cq.c wc->ex.imm_data = cqe->imm_inval_pkey; wc 207 drivers/infiniband/hw/mlx5/cq.c wc->opcode = IB_WC_RECV; wc 208 drivers/infiniband/hw/mlx5/cq.c wc->wc_flags = IB_WC_IP_CSUM_OK; wc 211 drivers/infiniband/hw/mlx5/cq.c wc->wc_flags = 0; wc 214 drivers/infiniband/hw/mlx5/cq.c wc->opcode = IB_WC_RECV; wc 215 drivers/infiniband/hw/mlx5/cq.c wc->wc_flags = IB_WC_WITH_IMM; wc 216 drivers/infiniband/hw/mlx5/cq.c wc->ex.imm_data = cqe->imm_inval_pkey; wc 219 drivers/infiniband/hw/mlx5/cq.c wc->opcode = IB_WC_RECV; wc 220 drivers/infiniband/hw/mlx5/cq.c wc->wc_flags = IB_WC_WITH_INVALIDATE; wc 221 drivers/infiniband/hw/mlx5/cq.c wc->ex.invalidate_rkey = be32_to_cpu(cqe->imm_inval_pkey); wc 224 drivers/infiniband/hw/mlx5/cq.c wc->src_qp = be32_to_cpu(cqe->flags_rqpn) & 0xffffff; wc 225 drivers/infiniband/hw/mlx5/cq.c wc->dlid_path_bits = cqe->ml_path; wc 227 drivers/infiniband/hw/mlx5/cq.c wc->wc_flags |= g ? IB_WC_GRH : 0; wc 232 drivers/infiniband/hw/mlx5/cq.c &wc->pkey_index); wc 234 drivers/infiniband/hw/mlx5/cq.c wc->pkey_index = 0; wc 238 drivers/infiniband/hw/mlx5/cq.c wc->slid = be16_to_cpu(cqe->slid); wc 239 drivers/infiniband/hw/mlx5/cq.c wc->sl = (be32_to_cpu(cqe->flags_rqpn) >> 24) & 0xf; wc 243 drivers/infiniband/hw/mlx5/cq.c wc->slid = 0; wc 247 drivers/infiniband/hw/mlx5/cq.c wc->vlan_id = (be16_to_cpu(cqe->vlan_info)) & 0xfff; wc 248 drivers/infiniband/hw/mlx5/cq.c wc->sl = (be16_to_cpu(cqe->vlan_info) >> 13) & 0x7; wc 249 drivers/infiniband/hw/mlx5/cq.c wc->wc_flags |= IB_WC_WITH_VLAN; wc 251 drivers/infiniband/hw/mlx5/cq.c wc->sl = 0; wc 256 drivers/infiniband/hw/mlx5/cq.c wc->network_hdr_type = RDMA_NETWORK_IB; wc 259 drivers/infiniband/hw/mlx5/cq.c wc->network_hdr_type = RDMA_NETWORK_IPV6; wc 262 drivers/infiniband/hw/mlx5/cq.c wc->network_hdr_type = RDMA_NETWORK_IPV4; wc 265 drivers/infiniband/hw/mlx5/cq.c wc->wc_flags |= IB_WC_WITH_NETWORK_HDR_TYPE; wc 276 drivers/infiniband/hw/mlx5/cq.c struct ib_wc *wc) wc 282 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_LOC_LEN_ERR; wc 285 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_LOC_QP_OP_ERR; wc 288 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_LOC_PROT_ERR; wc 292 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_WR_FLUSH_ERR; wc 295 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_MW_BIND_ERR; wc 298 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_BAD_RESP_ERR; wc 301 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_LOC_ACCESS_ERR; wc 304 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_REM_INV_REQ_ERR; wc 307 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_REM_ACCESS_ERR; wc 310 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_REM_OP_ERR; wc 313 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_RETRY_EXC_ERR; wc 317 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_RNR_RETRY_EXC_ERR; wc 321 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_REM_ABORT_ERR; wc 324 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_GENERAL_ERR; wc 328 drivers/infiniband/hw/mlx5/cq.c wc->vendor_err = cqe->vendor_err_synd; wc 386 drivers/infiniband/hw/mlx5/cq.c static void sw_comp(struct mlx5_ib_qp *qp, int num_entries, struct ib_wc *wc, wc 406 drivers/infiniband/hw/mlx5/cq.c wc->wr_id = wq->wrid[idx]; wc 407 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_WR_FLUSH_ERR; wc 408 drivers/infiniband/hw/mlx5/cq.c wc->vendor_err = MLX5_CQE_SYNDROME_WR_FLUSH_ERR; wc 413 drivers/infiniband/hw/mlx5/cq.c wc->qp = &qp->ibqp; wc 414 drivers/infiniband/hw/mlx5/cq.c wc++; wc 420 drivers/infiniband/hw/mlx5/cq.c struct ib_wc *wc, int *npolled) wc 427 drivers/infiniband/hw/mlx5/cq.c sw_comp(qp, num_entries, wc + *npolled, npolled, true); wc 433 drivers/infiniband/hw/mlx5/cq.c sw_comp(qp, num_entries, wc + *npolled, npolled, false); wc 441 drivers/infiniband/hw/mlx5/cq.c struct ib_wc *wc) wc 494 drivers/infiniband/hw/mlx5/cq.c wc->qp = &(*cur_qp)->ibqp; wc 500 drivers/infiniband/hw/mlx5/cq.c handle_good_req(wc, cqe64, wq, idx); wc 502 drivers/infiniband/hw/mlx5/cq.c wc->wr_id = wq->wrid[idx]; wc 504 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_SUCCESS; wc 510 drivers/infiniband/hw/mlx5/cq.c handle_responder(wc, cqe64, *cur_qp); wc 511 drivers/infiniband/hw/mlx5/cq.c wc->status = IB_WC_SUCCESS; wc 518 drivers/infiniband/hw/mlx5/cq.c mlx5_handle_error_cqe(dev, err_cqe, wc); wc 528 drivers/infiniband/hw/mlx5/cq.c wc->wr_id = wq->wrid[idx]; wc 536 drivers/infiniband/hw/mlx5/cq.c wc->wr_id = srq->wrid[wqe_ctr]; wc 540 drivers/infiniband/hw/mlx5/cq.c wc->wr_id = wq->wrid[wq->tail & (wq->wqe_cnt - 1)]; wc 571 drivers/infiniband/hw/mlx5/cq.c struct ib_wc *wc, bool is_fatal_err) wc 585 drivers/infiniband/hw/mlx5/cq.c soft_wc->wc.status = IB_WC_WR_FLUSH_ERR; wc 586 drivers/infiniband/hw/mlx5/cq.c soft_wc->wc.vendor_err = MLX5_CQE_SYNDROME_WR_FLUSH_ERR; wc 588 drivers/infiniband/hw/mlx5/cq.c wc[npolled++] = soft_wc->wc; wc 596 drivers/infiniband/hw/mlx5/cq.c int mlx5_ib_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) wc 610 drivers/infiniband/hw/mlx5/cq.c soft_polled = poll_soft_wc(cq, num_entries, wc, true); wc 613 drivers/infiniband/hw/mlx5/cq.c wc + soft_polled, &npolled); wc 618 drivers/infiniband/hw/mlx5/cq.c soft_polled = poll_soft_wc(cq, num_entries, wc, false); wc 621 drivers/infiniband/hw/mlx5/cq.c if (mlx5_poll_one(cq, &cur_qp, wc + soft_polled + npolled)) wc 1376 drivers/infiniband/hw/mlx5/cq.c int mlx5_ib_generate_wc(struct ib_cq *ibcq, struct ib_wc *wc) wc 1386 drivers/infiniband/hw/mlx5/cq.c soft_wc->wc = *wc; wc 1390 drivers/infiniband/hw/mlx5/cq.c wc->status != IB_WC_SUCCESS) { wc 37 drivers/infiniband/hw/mlx5/gsi.c struct ib_wc wc; wc 88 drivers/infiniband/hw/mlx5/gsi.c WARN_ON_ONCE(mlx5_ib_generate_wc(gsi_cq, &wr->wc)); wc 96 drivers/infiniband/hw/mlx5/gsi.c static void handle_single_completion(struct ib_cq *cq, struct ib_wc *wc) wc 100 drivers/infiniband/hw/mlx5/gsi.c container_of(wc->wr_cqe, struct mlx5_ib_gsi_wr, cqe); wc 106 drivers/infiniband/hw/mlx5/gsi.c wr_id = wr->wc.wr_id; wc 107 drivers/infiniband/hw/mlx5/gsi.c wr->wc = *wc; wc 108 drivers/infiniband/hw/mlx5/gsi.c wr->wc.wr_id = wr_id; wc 109 drivers/infiniband/hw/mlx5/gsi.c wr->wc.qp = &gsi->ibqp; wc 415 drivers/infiniband/hw/mlx5/gsi.c struct ib_ud_wr *wr, struct ib_wc *wc) wc 429 drivers/infiniband/hw/mlx5/gsi.c if (!wc) { wc 430 drivers/infiniband/hw/mlx5/gsi.c memset(&gsi_wr->wc, 0, sizeof(gsi_wr->wc)); wc 431 drivers/infiniband/hw/mlx5/gsi.c gsi_wr->wc.pkey_index = wr->pkey_index; wc 432 drivers/infiniband/hw/mlx5/gsi.c gsi_wr->wc.wr_id = wr->wr.wr_id; wc 434 drivers/infiniband/hw/mlx5/gsi.c gsi_wr->wc = *wc; wc 448 drivers/infiniband/hw/mlx5/gsi.c struct ib_wc wc = { wc 456 drivers/infiniband/hw/mlx5/gsi.c ret = mlx5_ib_add_outstanding_wr(gsi, wr, &wc); wc 529 drivers/infiniband/hw/mlx5/mlx5_ib.h struct ib_wc wc; wc 1143 drivers/infiniband/hw/mlx5/mlx5_ib.h int mlx5_ib_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); wc 1328 drivers/infiniband/hw/mlx5/mlx5_ib.h int mlx5_ib_generate_wc(struct ib_cq *ibcq, struct ib_wc *wc); wc 806 drivers/infiniband/hw/mlx5/mr.c static void mlx5_ib_umr_done(struct ib_cq *cq, struct ib_wc *wc) wc 809 drivers/infiniband/hw/mlx5/mr.c container_of(wc->wr_cqe, struct mlx5_ib_umr_context, cqe); wc 811 drivers/infiniband/hw/mlx5/mr.c context->status = wc->status; wc 6380 drivers/infiniband/hw/mlx5/qp.c static void mlx5_ib_drain_qp_done(struct ib_cq *cq, struct ib_wc *wc) wc 6382 drivers/infiniband/hw/mlx5/qp.c struct mlx5_ib_drain_cqe *cqe = container_of(wc->wr_cqe, wc 2853 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c int ocrdma_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) wc 2864 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c num_os_cqe = ocrdma_poll_hwcq(cq, cqes_to_poll, wc); wc 2869 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c wc = wc + num_os_cqe; wc 2879 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c err_cqes = ocrdma_add_err_cqe(cq, cqes_to_poll, qp, wc); wc 2882 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c wc = wc + err_cqes; wc 51 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h int ocrdma_poll_cq(struct ib_cq *, int num_entries, struct ib_wc *wc); wc 672 drivers/infiniband/hw/qedr/qedr_roce_cm.c int qedr_gsi_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) wc 684 drivers/infiniband/hw/qedr/qedr_roce_cm.c memset(&wc[i], 0, sizeof(*wc)); wc 686 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].qp = &qp->ibqp; wc 687 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].wr_id = qp->rqe_wr_id[qp->rq.cons].wr_id; wc 688 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].opcode = IB_WC_RECV; wc 689 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].pkey_index = 0; wc 690 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].status = (qp->rqe_wr_id[qp->rq.cons].rc) ? wc 693 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].byte_len = qp->rqe_wr_id[qp->rq.cons].sg_list[0].length; wc 694 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].wc_flags |= IB_WC_GRH | IB_WC_IP_CSUM_OK; wc 695 drivers/infiniband/hw/qedr/qedr_roce_cm.c ether_addr_copy(wc[i].smac, qp->rqe_wr_id[qp->rq.cons].smac); wc 696 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].wc_flags |= IB_WC_WITH_SMAC; wc 701 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].wc_flags |= IB_WC_WITH_VLAN; wc 702 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].vlan_id = vlan_id; wc 703 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].sl = (qp->rqe_wr_id[qp->rq.cons].vlan & wc 712 drivers/infiniband/hw/qedr/qedr_roce_cm.c memset(&wc[i], 0, sizeof(*wc)); wc 714 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].qp = &qp->ibqp; wc 715 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].wr_id = qp->wqe_wr_id[qp->sq.cons].wr_id; wc 716 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].opcode = IB_WC_SEND; wc 717 drivers/infiniband/hw/qedr/qedr_roce_cm.c wc[i].status = IB_WC_SUCCESS; wc 48 drivers/infiniband/hw/qedr/qedr_roce_cm.h int qedr_gsi_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); wc 3699 drivers/infiniband/hw/qedr/verbs.c struct ib_wc *wc, u16 hw_cons, enum ib_wc_status status, wc 3712 drivers/infiniband/hw/qedr/verbs.c wc->status = status; wc 3713 drivers/infiniband/hw/qedr/verbs.c wc->vendor_err = 0; wc 3714 drivers/infiniband/hw/qedr/verbs.c wc->wc_flags = 0; wc 3715 drivers/infiniband/hw/qedr/verbs.c wc->src_qp = qp->id; wc 3716 drivers/infiniband/hw/qedr/verbs.c wc->qp = &qp->ibqp; wc 3718 drivers/infiniband/hw/qedr/verbs.c wc->wr_id = qp->wqe_wr_id[qp->sq.cons].wr_id; wc 3719 drivers/infiniband/hw/qedr/verbs.c wc->opcode = qp->wqe_wr_id[qp->sq.cons].opcode; wc 3721 drivers/infiniband/hw/qedr/verbs.c switch (wc->opcode) { wc 3723 drivers/infiniband/hw/qedr/verbs.c wc->byte_len = qp->wqe_wr_id[qp->sq.cons].bytes_len; wc 3727 drivers/infiniband/hw/qedr/verbs.c wc->byte_len = 8; wc 3734 drivers/infiniband/hw/qedr/verbs.c wc->byte_len = qp->wqe_wr_id[qp->sq.cons].bytes_len; wc 3741 drivers/infiniband/hw/qedr/verbs.c wc++; wc 3754 drivers/infiniband/hw/qedr/verbs.c int num_entries, struct ib_wc *wc, wc 3761 drivers/infiniband/hw/qedr/verbs.c cnt = process_req(dev, qp, cq, num_entries, wc, req->sq_cons, wc 3769 drivers/infiniband/hw/qedr/verbs.c cnt = process_req(dev, qp, cq, num_entries, wc, req->sq_cons, wc 3775 drivers/infiniband/hw/qedr/verbs.c cnt = process_req(dev, qp, cq, num_entries, wc, wc 3777 drivers/infiniband/hw/qedr/verbs.c wc += cnt; wc 3849 drivers/infiniband/hw/qedr/verbs.c cnt += process_req(dev, qp, cq, 1, wc, req->sq_cons, wc 3880 drivers/infiniband/hw/qedr/verbs.c struct ib_wc *wc) wc 3882 drivers/infiniband/hw/qedr/verbs.c wc->status = IB_WC_SUCCESS; wc 3883 drivers/infiniband/hw/qedr/verbs.c wc->byte_len = le32_to_cpu(resp->length); wc 3886 drivers/infiniband/hw/qedr/verbs.c wc->ex.imm_data = cpu_to_be32(le32_to_cpu(resp->imm_data_or_inv_r_Key)); wc 3887 drivers/infiniband/hw/qedr/verbs.c wc->wc_flags |= IB_WC_WITH_IMM; wc 3890 drivers/infiniband/hw/qedr/verbs.c wc->opcode = IB_WC_RECV_RDMA_WITH_IMM; wc 3896 drivers/infiniband/hw/qedr/verbs.c wc->ex.imm_data = le32_to_cpu(resp->imm_data_or_inv_r_Key); wc 3897 drivers/infiniband/hw/qedr/verbs.c wc->wc_flags |= IB_WC_WITH_INVALIDATE; wc 3910 drivers/infiniband/hw/qedr/verbs.c struct qedr_cq *cq, struct ib_wc *wc, wc 3914 drivers/infiniband/hw/qedr/verbs.c wc->opcode = IB_WC_RECV; wc 3915 drivers/infiniband/hw/qedr/verbs.c wc->wc_flags = 0; wc 3918 drivers/infiniband/hw/qedr/verbs.c if (qedr_set_ok_cqe_resp_wc(resp, wc)) wc 3924 drivers/infiniband/hw/qedr/verbs.c wc->status = qedr_cqe_resp_status_to_ib(resp->status); wc 3925 drivers/infiniband/hw/qedr/verbs.c if (wc->status == IB_WC_GENERAL_ERR) wc 3932 drivers/infiniband/hw/qedr/verbs.c wc->vendor_err = 0; wc 3933 drivers/infiniband/hw/qedr/verbs.c wc->src_qp = qp->id; wc 3934 drivers/infiniband/hw/qedr/verbs.c wc->qp = &qp->ibqp; wc 3935 drivers/infiniband/hw/qedr/verbs.c wc->wr_id = wr_id; wc 3939 drivers/infiniband/hw/qedr/verbs.c struct qedr_cq *cq, struct ib_wc *wc, wc 3949 drivers/infiniband/hw/qedr/verbs.c wc->status = IB_WC_WR_FLUSH_ERR; wc 3950 drivers/infiniband/hw/qedr/verbs.c wc->vendor_err = 0; wc 3951 drivers/infiniband/hw/qedr/verbs.c wc->wr_id = wr_id; wc 3952 drivers/infiniband/hw/qedr/verbs.c wc->byte_len = 0; wc 3953 drivers/infiniband/hw/qedr/verbs.c wc->src_qp = qp->id; wc 3954 drivers/infiniband/hw/qedr/verbs.c wc->qp = &qp->ibqp; wc 3955 drivers/infiniband/hw/qedr/verbs.c wc->wr_id = wr_id; wc 3957 drivers/infiniband/hw/qedr/verbs.c __process_resp_one(dev, qp, cq, wc, resp, wr_id); wc 3964 drivers/infiniband/hw/qedr/verbs.c struct qedr_cq *cq, struct ib_wc *wc, wc 3969 drivers/infiniband/hw/qedr/verbs.c __process_resp_one(dev, qp, cq, wc, resp, wr_id); wc 3979 drivers/infiniband/hw/qedr/verbs.c int num_entries, struct ib_wc *wc, u16 hw_cons) wc 3985 drivers/infiniband/hw/qedr/verbs.c wc->status = IB_WC_WR_FLUSH_ERR; wc 3986 drivers/infiniband/hw/qedr/verbs.c wc->vendor_err = 0; wc 3987 drivers/infiniband/hw/qedr/verbs.c wc->wc_flags = 0; wc 3988 drivers/infiniband/hw/qedr/verbs.c wc->src_qp = qp->id; wc 3989 drivers/infiniband/hw/qedr/verbs.c wc->byte_len = 0; wc 3990 drivers/infiniband/hw/qedr/verbs.c wc->wr_id = qp->rqe_wr_id[qp->rq.cons].wr_id; wc 3991 drivers/infiniband/hw/qedr/verbs.c wc->qp = &qp->ibqp; wc 3993 drivers/infiniband/hw/qedr/verbs.c wc++; wc 4014 drivers/infiniband/hw/qedr/verbs.c struct ib_wc *wc, wc 4019 drivers/infiniband/hw/qedr/verbs.c cnt = process_resp_one_srq(dev, qp, cq, wc, resp); wc 4027 drivers/infiniband/hw/qedr/verbs.c struct ib_wc *wc, struct rdma_cqe_responder *resp, wc 4033 drivers/infiniband/hw/qedr/verbs.c cnt = process_resp_flush(qp, cq, num_entries, wc, wc 4037 drivers/infiniband/hw/qedr/verbs.c cnt = process_resp_one(dev, qp, cq, wc, resp); wc 4054 drivers/infiniband/hw/qedr/verbs.c int qedr_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) wc 4072 drivers/infiniband/hw/qedr/verbs.c return qedr_gsi_poll_cq(ibcq, num_entries, wc); wc 4090 drivers/infiniband/hw/qedr/verbs.c wc->qp = &qp->ibqp; wc 4094 drivers/infiniband/hw/qedr/verbs.c cnt = qedr_poll_cq_req(dev, qp, cq, num_entries, wc, wc 4099 drivers/infiniband/hw/qedr/verbs.c cnt = qedr_poll_cq_resp(dev, qp, cq, num_entries, wc, wc 4104 drivers/infiniband/hw/qedr/verbs.c wc, &cqe->resp); wc 4113 drivers/infiniband/hw/qedr/verbs.c wc += cnt; wc 89 drivers/infiniband/hw/qedr/verbs.h int qedr_poll_cq(struct ib_cq *, int num_entries, struct ib_wc *wc); wc 1720 drivers/infiniband/hw/qib/qib_rc.c struct ib_wc wc; wc 1845 drivers/infiniband/hw/qib/qib_rc.c wc.ex.imm_data = ohdr->u.imm_data; wc 1847 drivers/infiniband/hw/qib/qib_rc.c wc.wc_flags = IB_WC_WITH_IMM; wc 1852 drivers/infiniband/hw/qib/qib_rc.c wc.wc_flags = 0; wc 1853 drivers/infiniband/hw/qib/qib_rc.c wc.ex.imm_data = 0; wc 1863 drivers/infiniband/hw/qib/qib_rc.c wc.byte_len = tlen + qp->r_rcv_len; wc 1864 drivers/infiniband/hw/qib/qib_rc.c if (unlikely(wc.byte_len > qp->r_len)) wc 1871 drivers/infiniband/hw/qib/qib_rc.c wc.wr_id = qp->r_wr_id; wc 1872 drivers/infiniband/hw/qib/qib_rc.c wc.status = IB_WC_SUCCESS; wc 1875 drivers/infiniband/hw/qib/qib_rc.c wc.opcode = IB_WC_RECV_RDMA_WITH_IMM; wc 1877 drivers/infiniband/hw/qib/qib_rc.c wc.opcode = IB_WC_RECV; wc 1878 drivers/infiniband/hw/qib/qib_rc.c wc.qp = &qp->ibqp; wc 1879 drivers/infiniband/hw/qib/qib_rc.c wc.src_qp = qp->remote_qpn; wc 1880 drivers/infiniband/hw/qib/qib_rc.c wc.slid = rdma_ah_get_dlid(&qp->remote_ah_attr); wc 1881 drivers/infiniband/hw/qib/qib_rc.c wc.sl = rdma_ah_get_sl(&qp->remote_ah_attr); wc 1883 drivers/infiniband/hw/qib/qib_rc.c wc.vendor_err = 0; wc 1884 drivers/infiniband/hw/qib/qib_rc.c wc.pkey_index = 0; wc 1885 drivers/infiniband/hw/qib/qib_rc.c wc.dlid_path_bits = 0; wc 1886 drivers/infiniband/hw/qib/qib_rc.c wc.port_num = 0; wc 1888 drivers/infiniband/hw/qib/qib_rc.c rvt_recv_cq(qp, &wc, ib_bth_is_solicited(ohdr)); wc 1931 drivers/infiniband/hw/qib/qib_rc.c wc.ex.imm_data = ohdr->u.rc.imm_data; wc 1933 drivers/infiniband/hw/qib/qib_rc.c wc.wc_flags = IB_WC_WITH_IMM; wc 245 drivers/infiniband/hw/qib/qib_uc.c struct ib_wc wc; wc 367 drivers/infiniband/hw/qib/qib_uc.c wc.ex.imm_data = ohdr->u.imm_data; wc 369 drivers/infiniband/hw/qib/qib_uc.c wc.wc_flags = IB_WC_WITH_IMM; wc 373 drivers/infiniband/hw/qib/qib_uc.c wc.ex.imm_data = 0; wc 374 drivers/infiniband/hw/qib/qib_uc.c wc.wc_flags = 0; wc 384 drivers/infiniband/hw/qib/qib_uc.c wc.byte_len = tlen + qp->r_rcv_len; wc 385 drivers/infiniband/hw/qib/qib_uc.c if (unlikely(wc.byte_len > qp->r_len)) wc 387 drivers/infiniband/hw/qib/qib_uc.c wc.opcode = IB_WC_RECV; wc 391 drivers/infiniband/hw/qib/qib_uc.c wc.wr_id = qp->r_wr_id; wc 392 drivers/infiniband/hw/qib/qib_uc.c wc.status = IB_WC_SUCCESS; wc 393 drivers/infiniband/hw/qib/qib_uc.c wc.qp = &qp->ibqp; wc 394 drivers/infiniband/hw/qib/qib_uc.c wc.src_qp = qp->remote_qpn; wc 395 drivers/infiniband/hw/qib/qib_uc.c wc.slid = rdma_ah_get_dlid(&qp->remote_ah_attr); wc 396 drivers/infiniband/hw/qib/qib_uc.c wc.sl = rdma_ah_get_sl(&qp->remote_ah_attr); wc 398 drivers/infiniband/hw/qib/qib_uc.c wc.vendor_err = 0; wc 399 drivers/infiniband/hw/qib/qib_uc.c wc.pkey_index = 0; wc 400 drivers/infiniband/hw/qib/qib_uc.c wc.dlid_path_bits = 0; wc 401 drivers/infiniband/hw/qib/qib_uc.c wc.port_num = 0; wc 403 drivers/infiniband/hw/qib/qib_uc.c rvt_recv_cq(qp, &wc, ib_bth_is_solicited(ohdr)); wc 440 drivers/infiniband/hw/qib/qib_uc.c wc.ex.imm_data = ohdr->u.rc.imm_data; wc 455 drivers/infiniband/hw/qib/qib_uc.c wc.ex.imm_data = ohdr->u.imm_data; wc 458 drivers/infiniband/hw/qib/qib_uc.c wc.wc_flags = IB_WC_WITH_IMM; wc 479 drivers/infiniband/hw/qib/qib_uc.c wc.byte_len = qp->r_len; wc 480 drivers/infiniband/hw/qib/qib_uc.c wc.opcode = IB_WC_RECV_RDMA_WITH_IMM; wc 62 drivers/infiniband/hw/qib/qib_ud.c struct ib_wc wc; wc 125 drivers/infiniband/hw/qib/qib_ud.c memset(&wc, 0, sizeof(wc)); wc 126 drivers/infiniband/hw/qib/qib_ud.c wc.byte_len = length + sizeof(struct ib_grh); wc 129 drivers/infiniband/hw/qib/qib_ud.c wc.wc_flags = IB_WC_WITH_IMM; wc 130 drivers/infiniband/hw/qib/qib_ud.c wc.ex.imm_data = swqe->wr.ex.imm_data; wc 155 drivers/infiniband/hw/qib/qib_ud.c if (unlikely(wc.byte_len > qp->r_len)) { wc 168 drivers/infiniband/hw/qib/qib_ud.c wc.wc_flags |= IB_WC_GRH; wc 201 drivers/infiniband/hw/qib/qib_ud.c wc.wr_id = qp->r_wr_id; wc 202 drivers/infiniband/hw/qib/qib_ud.c wc.status = IB_WC_SUCCESS; wc 203 drivers/infiniband/hw/qib/qib_ud.c wc.opcode = IB_WC_RECV; wc 204 drivers/infiniband/hw/qib/qib_ud.c wc.qp = &qp->ibqp; wc 205 drivers/infiniband/hw/qib/qib_ud.c wc.src_qp = sqp->ibqp.qp_num; wc 206 drivers/infiniband/hw/qib/qib_ud.c wc.pkey_index = qp->ibqp.qp_type == IB_QPT_GSI ? wc 208 drivers/infiniband/hw/qib/qib_ud.c wc.slid = ppd->lid | (rdma_ah_get_path_bits(ah_attr) & wc 210 drivers/infiniband/hw/qib/qib_ud.c wc.sl = rdma_ah_get_sl(ah_attr); wc 211 drivers/infiniband/hw/qib/qib_ud.c wc.dlid_path_bits = rdma_ah_get_dlid(ah_attr) & ((1 << ppd->lmc) - 1); wc 212 drivers/infiniband/hw/qib/qib_ud.c wc.port_num = qp->port_num; wc 214 drivers/infiniband/hw/qib/qib_ud.c rvt_recv_cq(qp, &wc, swqe->wr.send_flags & IB_SEND_SOLICITED); wc 433 drivers/infiniband/hw/qib/qib_ud.c struct ib_wc wc; wc 510 drivers/infiniband/hw/qib/qib_ud.c wc.ex.imm_data = ohdr->u.ud.imm_data; wc 511 drivers/infiniband/hw/qib/qib_ud.c wc.wc_flags = IB_WC_WITH_IMM; wc 513 drivers/infiniband/hw/qib/qib_ud.c wc.ex.imm_data = 0; wc 514 drivers/infiniband/hw/qib/qib_ud.c wc.wc_flags = 0; wc 522 drivers/infiniband/hw/qib/qib_ud.c wc.byte_len = tlen + sizeof(struct ib_grh); wc 544 drivers/infiniband/hw/qib/qib_ud.c if (unlikely(wc.byte_len > qp->r_len)) { wc 551 drivers/infiniband/hw/qib/qib_ud.c wc.wc_flags |= IB_WC_GRH; wc 554 drivers/infiniband/hw/qib/qib_ud.c rvt_copy_sge(qp, &qp->r_sge, data, wc.byte_len - sizeof(struct ib_grh), wc 559 drivers/infiniband/hw/qib/qib_ud.c wc.wr_id = qp->r_wr_id; wc 560 drivers/infiniband/hw/qib/qib_ud.c wc.status = IB_WC_SUCCESS; wc 561 drivers/infiniband/hw/qib/qib_ud.c wc.opcode = IB_WC_RECV; wc 562 drivers/infiniband/hw/qib/qib_ud.c wc.vendor_err = 0; wc 563 drivers/infiniband/hw/qib/qib_ud.c wc.qp = &qp->ibqp; wc 564 drivers/infiniband/hw/qib/qib_ud.c wc.src_qp = src_qp; wc 565 drivers/infiniband/hw/qib/qib_ud.c wc.pkey_index = qp->ibqp.qp_type == IB_QPT_GSI ? wc 567 drivers/infiniband/hw/qib/qib_ud.c wc.slid = be16_to_cpu(hdr->lrh[3]); wc 568 drivers/infiniband/hw/qib/qib_ud.c wc.sl = (be16_to_cpu(hdr->lrh[0]) >> 4) & 0xF; wc 573 drivers/infiniband/hw/qib/qib_ud.c wc.dlid_path_bits = dlid >= be16_to_cpu(IB_MULTICAST_LID_BASE) ? 0 : wc 575 drivers/infiniband/hw/qib/qib_ud.c wc.port_num = qp->port_num; wc 577 drivers/infiniband/hw/qib/qib_ud.c rvt_recv_cq(qp, &wc, ib_bth_is_solicited(ohdr)); wc 319 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c struct ib_wc *wc) wc 352 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->opcode = pvrdma_wc_opcode_to_ib(cqe->opcode); wc 353 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->status = pvrdma_wc_status_to_ib(cqe->status); wc 354 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->wr_id = cqe->wr_id; wc 355 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->qp = &(*cur_qp)->ibqp; wc 356 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->byte_len = cqe->byte_len; wc 357 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->ex.imm_data = cqe->imm_data; wc 358 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->src_qp = cqe->src_qp; wc 359 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->wc_flags = pvrdma_wc_flags_to_ib(cqe->wc_flags); wc 360 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->pkey_index = cqe->pkey_index; wc 361 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->slid = cqe->slid; wc 362 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->sl = cqe->sl; wc 363 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->dlid_path_bits = cqe->dlid_path_bits; wc 364 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->port_num = cqe->port_num; wc 365 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->vendor_err = cqe->vendor_err; wc 366 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c wc->network_hdr_type = cqe->network_hdr_type; wc 382 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c int pvrdma_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) wc 389 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c if (num_entries < 1 || wc == NULL) wc 394 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c if (pvrdma_poll_one(cq, &cur_qp, wc + npolled)) wc 415 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h int pvrdma_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); wc 520 drivers/infiniband/sw/rdmavt/cq.c struct rvt_k_cq_wc *wc; wc 531 drivers/infiniband/sw/rdmavt/cq.c wc = cq->kqueue; wc 532 drivers/infiniband/sw/rdmavt/cq.c tail = wc->tail; wc 536 drivers/infiniband/sw/rdmavt/cq.c if (tail == wc->head) wc 539 drivers/infiniband/sw/rdmavt/cq.c trace_rvt_cq_poll(cq, &wc->kqueue[tail], npolled); wc 540 drivers/infiniband/sw/rdmavt/cq.c *entry = wc->kqueue[tail]; wc 546 drivers/infiniband/sw/rdmavt/cq.c wc->tail = tail; wc 1332 drivers/infiniband/sw/rdmavt/qp.c struct ib_wc wc; wc 1359 drivers/infiniband/sw/rdmavt/qp.c memset(&wc, 0, sizeof(wc)); wc 1360 drivers/infiniband/sw/rdmavt/qp.c wc.qp = &qp->ibqp; wc 1361 drivers/infiniband/sw/rdmavt/qp.c wc.opcode = IB_WC_RECV; wc 1364 drivers/infiniband/sw/rdmavt/qp.c wc.wr_id = qp->r_wr_id; wc 1365 drivers/infiniband/sw/rdmavt/qp.c wc.status = err; wc 1366 drivers/infiniband/sw/rdmavt/qp.c rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.recv_cq), &wc, 1); wc 1368 drivers/infiniband/sw/rdmavt/qp.c wc.status = IB_WC_WR_FLUSH_ERR; wc 1393 drivers/infiniband/sw/rdmavt/qp.c wc.wr_id = rvt_get_rwqe_ptr(&qp->r_rq, tail)->wr_id; wc 1396 drivers/infiniband/sw/rdmavt/qp.c rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.recv_cq), &wc, 1); wc 1856 drivers/infiniband/sw/rdmavt/qp.c struct ib_wc wc; wc 1858 drivers/infiniband/sw/rdmavt/qp.c memset(&wc, 0, sizeof(wc)); wc 1859 drivers/infiniband/sw/rdmavt/qp.c wc.qp = &qp->ibqp; wc 1860 drivers/infiniband/sw/rdmavt/qp.c wc.opcode = IB_WC_RECV; wc 1861 drivers/infiniband/sw/rdmavt/qp.c wc.wr_id = wr->wr_id; wc 1862 drivers/infiniband/sw/rdmavt/qp.c wc.status = IB_WC_WR_FLUSH_ERR; wc 1863 drivers/infiniband/sw/rdmavt/qp.c rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.recv_cq), &wc, 1); wc 2309 drivers/infiniband/sw/rdmavt/qp.c struct ib_wc wc; wc 2343 drivers/infiniband/sw/rdmavt/qp.c memset(&wc, 0, sizeof(wc)); wc 2344 drivers/infiniband/sw/rdmavt/qp.c wc.wr_id = wqe->wr_id; wc 2345 drivers/infiniband/sw/rdmavt/qp.c wc.status = IB_WC_LOC_PROT_ERR; wc 2346 drivers/infiniband/sw/rdmavt/qp.c wc.opcode = IB_WC_RECV; wc 2347 drivers/infiniband/sw/rdmavt/qp.c wc.qp = &qp->ibqp; wc 2349 drivers/infiniband/sw/rdmavt/qp.c rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.recv_cq), &wc, 1); wc 2972 drivers/infiniband/sw/rdmavt/qp.c struct ib_wc wc; wc 3037 drivers/infiniband/sw/rdmavt/qp.c memset(&wc, 0, sizeof(wc)); wc 3072 drivers/infiniband/sw/rdmavt/qp.c wc.wc_flags = IB_WC_WITH_INVALIDATE; wc 3073 drivers/infiniband/sw/rdmavt/qp.c wc.ex.invalidate_rkey = wc 3078 drivers/infiniband/sw/rdmavt/qp.c wc.wc_flags = IB_WC_WITH_IMM; wc 3079 drivers/infiniband/sw/rdmavt/qp.c wc.ex.imm_data = wqe->wr.ex.imm_data; wc 3089 drivers/infiniband/sw/rdmavt/qp.c wc.wc_flags = IB_WC_WITH_IMM; wc 3090 drivers/infiniband/sw/rdmavt/qp.c wc.ex.imm_data = wqe->wr.ex.imm_data; wc 3175 drivers/infiniband/sw/rdmavt/qp.c wc.opcode = IB_WC_RECV_RDMA_WITH_IMM; wc 3177 drivers/infiniband/sw/rdmavt/qp.c wc.opcode = IB_WC_RECV; wc 3178 drivers/infiniband/sw/rdmavt/qp.c wc.wr_id = qp->r_wr_id; wc 3179 drivers/infiniband/sw/rdmavt/qp.c wc.status = IB_WC_SUCCESS; wc 3180 drivers/infiniband/sw/rdmavt/qp.c wc.byte_len = wqe->length; wc 3181 drivers/infiniband/sw/rdmavt/qp.c wc.qp = &qp->ibqp; wc 3182 drivers/infiniband/sw/rdmavt/qp.c wc.src_qp = qp->remote_qpn; wc 3183 drivers/infiniband/sw/rdmavt/qp.c wc.slid = rdma_ah_get_dlid(&qp->remote_ah_attr) & U16_MAX; wc 3184 drivers/infiniband/sw/rdmavt/qp.c wc.sl = rdma_ah_get_sl(&qp->remote_ah_attr); wc 3185 drivers/infiniband/sw/rdmavt/qp.c wc.port_num = 1; wc 3187 drivers/infiniband/sw/rdmavt/qp.c rvt_recv_cq(qp, &wc, wqe->wr.send_flags & IB_SEND_SOLICITED); wc 3227 drivers/infiniband/sw/rdmavt/qp.c wc.status = IB_WC_LOC_QP_OP_ERR; wc 3235 drivers/infiniband/sw/rdmavt/qp.c wc.status = IB_WC_LOC_QP_OP_ERR; wc 3240 drivers/infiniband/sw/rdmavt/qp.c wc.status = IB_WC_LOC_PROT_ERR; wc 3243 drivers/infiniband/sw/rdmavt/qp.c rvt_rc_error(qp, wc.status); wc 112 drivers/infiniband/sw/rdmavt/trace_cq.h TP_PROTO(struct rvt_cq *cq, struct ib_wc *wc, u32 idx), wc 113 drivers/infiniband/sw/rdmavt/trace_cq.h TP_ARGS(cq, wc, idx), wc 127 drivers/infiniband/sw/rdmavt/trace_cq.h __entry->wr_id = wc->wr_id; wc 128 drivers/infiniband/sw/rdmavt/trace_cq.h __entry->status = wc->status; wc 129 drivers/infiniband/sw/rdmavt/trace_cq.h __entry->opcode = wc->opcode; wc 130 drivers/infiniband/sw/rdmavt/trace_cq.h __entry->length = wc->byte_len; wc 131 drivers/infiniband/sw/rdmavt/trace_cq.h __entry->qpn = wc->qp->qp_num; wc 133 drivers/infiniband/sw/rdmavt/trace_cq.h __entry->flags = wc->wc_flags; wc 134 drivers/infiniband/sw/rdmavt/trace_cq.h __entry->imm = be32_to_cpu(wc->ex.imm_data); wc 152 drivers/infiniband/sw/rdmavt/trace_cq.h TP_PROTO(struct rvt_cq *cq, struct ib_wc *wc, u32 idx), wc 153 drivers/infiniband/sw/rdmavt/trace_cq.h TP_ARGS(cq, wc, idx)); wc 157 drivers/infiniband/sw/rdmavt/trace_cq.h TP_PROTO(struct rvt_cq *cq, struct ib_wc *wc, u32 idx), wc 158 drivers/infiniband/sw/rdmavt/trace_cq.h TP_ARGS(cq, wc, idx)); wc 408 drivers/infiniband/sw/rxe/rxe_comp.c struct ib_wc *wc = &cqe->ibwc; wc 410 drivers/infiniband/sw/rxe/rxe_comp.c wc->wr_id = wqe->wr.wr_id; wc 411 drivers/infiniband/sw/rxe/rxe_comp.c wc->status = wqe->status; wc 412 drivers/infiniband/sw/rxe/rxe_comp.c wc->opcode = wr_to_wc_opcode(wqe->wr.opcode); wc 415 drivers/infiniband/sw/rxe/rxe_comp.c wc->wc_flags = IB_WC_WITH_IMM; wc 416 drivers/infiniband/sw/rxe/rxe_comp.c wc->byte_len = wqe->dma.length; wc 417 drivers/infiniband/sw/rxe/rxe_comp.c wc->qp = &qp->ibqp; wc 841 drivers/infiniband/sw/rxe/rxe_resp.c struct ib_wc *wc = &cqe.ibwc; wc 856 drivers/infiniband/sw/rxe/rxe_resp.c wc->status = qp->resp.status; wc 857 drivers/infiniband/sw/rxe/rxe_resp.c wc->qp = &qp->ibqp; wc 858 drivers/infiniband/sw/rxe/rxe_resp.c wc->wr_id = wqe->wr_id; wc 861 drivers/infiniband/sw/rxe/rxe_resp.c if (wc->status == IB_WC_SUCCESS) { wc 863 drivers/infiniband/sw/rxe/rxe_resp.c wc->opcode = (pkt->mask & RXE_IMMDT_MASK && wc 866 drivers/infiniband/sw/rxe/rxe_resp.c wc->vendor_err = 0; wc 867 drivers/infiniband/sw/rxe/rxe_resp.c wc->byte_len = (pkt->mask & RXE_IMMDT_MASK && wc 896 drivers/infiniband/sw/rxe/rxe_resp.c wc->wc_flags = IB_WC_GRH | IB_WC_WITH_NETWORK_HDR_TYPE; wc 898 drivers/infiniband/sw/rxe/rxe_resp.c wc->network_hdr_type = RDMA_NETWORK_IPV4; wc 900 drivers/infiniband/sw/rxe/rxe_resp.c wc->network_hdr_type = RDMA_NETWORK_IPV6; wc 903 drivers/infiniband/sw/rxe/rxe_resp.c wc->wc_flags |= IB_WC_WITH_VLAN; wc 904 drivers/infiniband/sw/rxe/rxe_resp.c wc->vlan_id = vlan_dev_vlan_id(skb->dev); wc 908 drivers/infiniband/sw/rxe/rxe_resp.c wc->wc_flags |= IB_WC_WITH_IMM; wc 909 drivers/infiniband/sw/rxe/rxe_resp.c wc->ex.imm_data = immdt_imm(pkt); wc 915 drivers/infiniband/sw/rxe/rxe_resp.c wc->wc_flags |= IB_WC_WITH_INVALIDATE; wc 916 drivers/infiniband/sw/rxe/rxe_resp.c wc->ex.invalidate_rkey = ieth_rkey(pkt); wc 919 drivers/infiniband/sw/rxe/rxe_resp.c wc->ex.invalidate_rkey >> 8); wc 922 drivers/infiniband/sw/rxe/rxe_resp.c wc->ex.invalidate_rkey); wc 929 drivers/infiniband/sw/rxe/rxe_resp.c wc->qp = &qp->ibqp; wc 932 drivers/infiniband/sw/rxe/rxe_resp.c wc->src_qp = deth_sqp(pkt); wc 934 drivers/infiniband/sw/rxe/rxe_resp.c wc->port_num = qp->attr.port_num; wc 847 drivers/infiniband/sw/rxe/rxe_verbs.c static int rxe_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) wc 860 drivers/infiniband/sw/rxe/rxe_verbs.c memcpy(wc++, &cqe->ibwc, sizeof(*wc)); wc 743 drivers/infiniband/sw/siw/siw.h int siw_reap_cqe(struct siw_cq *cq, struct ib_wc *wc); wc 48 drivers/infiniband/sw/siw/siw_cq.c int siw_reap_cqe(struct siw_cq *cq, struct ib_wc *wc) wc 57 drivers/infiniband/sw/siw/siw_cq.c memset(wc, 0, sizeof(*wc)); wc 58 drivers/infiniband/sw/siw/siw_cq.c wc->wr_id = cqe->id; wc 59 drivers/infiniband/sw/siw/siw_cq.c wc->status = map_cqe_status[cqe->status].ib; wc 60 drivers/infiniband/sw/siw/siw_cq.c wc->opcode = map_wc_opcode[cqe->opcode]; wc 61 drivers/infiniband/sw/siw/siw_cq.c wc->byte_len = cqe->bytes; wc 70 drivers/infiniband/sw/siw/siw_cq.c wc->ex.invalidate_rkey = cqe->inval_stag; wc 71 drivers/infiniband/sw/siw/siw_cq.c wc->wc_flags = IB_WC_WITH_INVALIDATE; wc 73 drivers/infiniband/sw/siw/siw_cq.c wc->qp = cqe->base_qp; wc 98 drivers/infiniband/sw/siw/siw_cq.c struct ib_wc wc; wc 100 drivers/infiniband/sw/siw/siw_cq.c while (siw_reap_cqe(cq, &wc)) wc 1206 drivers/infiniband/sw/siw/siw_verbs.c int siw_poll_cq(struct ib_cq *base_cq, int num_cqe, struct ib_wc *wc) wc 1212 drivers/infiniband/sw/siw/siw_verbs.c if (!siw_reap_cqe(cq, wc)) wc 1214 drivers/infiniband/sw/siw/siw_verbs.c wc++; wc 67 drivers/infiniband/sw/siw/siw_verbs.h int siw_poll_cq(struct ib_cq *base_cq, int num_entries, struct ib_wc *wc); wc 677 drivers/infiniband/ulp/ipoib/ipoib.h void ipoib_cm_handle_rx_wc(struct net_device *dev, struct ib_wc *wc); wc 678 drivers/infiniband/ulp/ipoib/ipoib.h void ipoib_cm_handle_tx_wc(struct net_device *dev, struct ib_wc *wc); wc 775 drivers/infiniband/ulp/ipoib/ipoib.h static inline void ipoib_cm_handle_rx_wc(struct net_device *dev, struct ib_wc *wc) wc 779 drivers/infiniband/ulp/ipoib/ipoib.h static inline void ipoib_cm_handle_tx_wc(struct net_device *dev, struct ib_wc *wc) wc 560 drivers/infiniband/ulp/ipoib/ipoib_cm.c void ipoib_cm_handle_rx_wc(struct net_device *dev, struct ib_wc *wc) wc 564 drivers/infiniband/ulp/ipoib/ipoib_cm.c unsigned int wr_id = wc->wr_id & ~(IPOIB_OP_CM | IPOIB_OP_RECV); wc 574 drivers/infiniband/ulp/ipoib/ipoib_cm.c wr_id, wc->status); wc 589 drivers/infiniband/ulp/ipoib/ipoib_cm.c p = wc->qp->qp_context; wc 596 drivers/infiniband/ulp/ipoib/ipoib_cm.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 599 drivers/infiniband/ulp/ipoib/ipoib_cm.c wc->status, wr_id, wc->vendor_err); wc 626 drivers/infiniband/ulp/ipoib/ipoib_cm.c if (wc->byte_len < IPOIB_CM_COPYBREAK) { wc 627 drivers/infiniband/ulp/ipoib/ipoib_cm.c int dlen = wc->byte_len; wc 643 drivers/infiniband/ulp/ipoib/ipoib_cm.c frags = PAGE_ALIGN(wc->byte_len - wc 644 drivers/infiniband/ulp/ipoib/ipoib_cm.c min_t(u32, wc->byte_len, IPOIB_CM_HEAD_SIZE)) / wc 663 drivers/infiniband/ulp/ipoib/ipoib_cm.c wc->byte_len, wc->slid); wc 665 drivers/infiniband/ulp/ipoib/ipoib_cm.c skb_put_frags(skb, IPOIB_CM_HEAD_SIZE, wc->byte_len, newskb); wc 794 drivers/infiniband/ulp/ipoib/ipoib_cm.c void ipoib_cm_handle_tx_wc(struct net_device *dev, struct ib_wc *wc) wc 797 drivers/infiniband/ulp/ipoib/ipoib_cm.c struct ipoib_cm_tx *tx = wc->qp->qp_context; wc 798 drivers/infiniband/ulp/ipoib/ipoib_cm.c unsigned int wr_id = wc->wr_id & ~IPOIB_OP_CM; wc 803 drivers/infiniband/ulp/ipoib/ipoib_cm.c wr_id, wc->status); wc 832 drivers/infiniband/ulp/ipoib/ipoib_cm.c if (wc->status != IB_WC_SUCCESS && wc 833 drivers/infiniband/ulp/ipoib/ipoib_cm.c wc->status != IB_WC_WR_FLUSH_ERR) { wc 839 drivers/infiniband/ulp/ipoib/ipoib_cm.c if (wc->status == IB_WC_RNR_RETRY_EXC_ERR || wc 840 drivers/infiniband/ulp/ipoib/ipoib_cm.c wc->status == IB_WC_RETRY_EXC_ERR) wc 843 drivers/infiniband/ulp/ipoib/ipoib_cm.c __func__, wc->status, wr_id, wc->vendor_err); wc 847 drivers/infiniband/ulp/ipoib/ipoib_cm.c __func__, wc->status, wr_id, wc->vendor_err); wc 173 drivers/infiniband/ulp/ipoib/ipoib_ib.c static void ipoib_ib_handle_rx_wc(struct net_device *dev, struct ib_wc *wc) wc 176 drivers/infiniband/ulp/ipoib/ipoib_ib.c unsigned int wr_id = wc->wr_id & ~IPOIB_OP_RECV; wc 183 drivers/infiniband/ulp/ipoib/ipoib_ib.c wr_id, wc->status); wc 193 drivers/infiniband/ulp/ipoib/ipoib_ib.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 194 drivers/infiniband/ulp/ipoib/ipoib_ib.c if (wc->status != IB_WC_WR_FLUSH_ERR) wc 197 drivers/infiniband/ulp/ipoib/ipoib_ib.c wc->status, wr_id, wc->vendor_err); wc 217 drivers/infiniband/ulp/ipoib/ipoib_ib.c wc->byte_len, wc->slid); wc 221 drivers/infiniband/ulp/ipoib/ipoib_ib.c skb_put(skb, wc->byte_len); wc 226 drivers/infiniband/ulp/ipoib/ipoib_ib.c if (!(wc->wc_flags & IB_WC_GRH) || dgid->raw[0] != 0xff) wc 239 drivers/infiniband/ulp/ipoib/ipoib_ib.c if (wc->slid == priv->local_lid && wc->src_qp == priv->qp->qp_num) { wc 242 drivers/infiniband/ulp/ipoib/ipoib_ib.c if ((wc->wc_flags & IB_WC_GRH) && wc 264 drivers/infiniband/ulp/ipoib/ipoib_ib.c likely(wc->wc_flags & IB_WC_IP_CSUM_OK)) wc 385 drivers/infiniband/ulp/ipoib/ipoib_ib.c static void ipoib_ib_handle_tx_wc(struct net_device *dev, struct ib_wc *wc) wc 388 drivers/infiniband/ulp/ipoib/ipoib_ib.c unsigned int wr_id = wc->wr_id; wc 392 drivers/infiniband/ulp/ipoib/ipoib_ib.c wr_id, wc->status); wc 418 drivers/infiniband/ulp/ipoib/ipoib_ib.c if (wc->status != IB_WC_SUCCESS && wc 419 drivers/infiniband/ulp/ipoib/ipoib_ib.c wc->status != IB_WC_WR_FLUSH_ERR) { wc 423 drivers/infiniband/ulp/ipoib/ipoib_ib.c wc->status, wr_id, wc->vendor_err); wc 437 drivers/infiniband/ulp/ipoib/ipoib_ib.c struct ib_wc *wc; wc 441 drivers/infiniband/ulp/ipoib/ipoib_ib.c wc = priv->send_wc + i; wc 442 drivers/infiniband/ulp/ipoib/ipoib_ib.c if (wc->wr_id & IPOIB_OP_CM) wc 469 drivers/infiniband/ulp/ipoib/ipoib_ib.c struct ib_wc *wc = priv->ibwc + i; wc 471 drivers/infiniband/ulp/ipoib/ipoib_ib.c if (wc->wr_id & IPOIB_OP_RECV) { wc 473 drivers/infiniband/ulp/ipoib/ipoib_ib.c if (wc->wr_id & IPOIB_OP_CM) wc 474 drivers/infiniband/ulp/ipoib/ipoib_ib.c ipoib_cm_handle_rx_wc(dev, wc); wc 476 drivers/infiniband/ulp/ipoib/ipoib_ib.c ipoib_ib_handle_rx_wc(dev, wc); wc 504 drivers/infiniband/ulp/ipoib/ipoib_ib.c struct ib_wc *wc; wc 510 drivers/infiniband/ulp/ipoib/ipoib_ib.c wc = priv->send_wc + i; wc 511 drivers/infiniband/ulp/ipoib/ipoib_ib.c if (wc->wr_id & IPOIB_OP_CM) wc 512 drivers/infiniband/ulp/ipoib/ipoib_ib.c ipoib_cm_handle_tx_wc(dev, wc); wc 514 drivers/infiniband/ulp/ipoib/ipoib_ib.c ipoib_ib_handle_tx_wc(dev, wc); wc 576 drivers/infiniband/ulp/iser/iscsi_iser.h void iser_err_comp(struct ib_wc *wc, const char *type); wc 577 drivers/infiniband/ulp/iser/iscsi_iser.h void iser_login_rsp(struct ib_cq *cq, struct ib_wc *wc); wc 578 drivers/infiniband/ulp/iser/iscsi_iser.h void iser_task_rsp(struct ib_cq *cq, struct ib_wc *wc); wc 579 drivers/infiniband/ulp/iser/iscsi_iser.h void iser_cmd_comp(struct ib_cq *cq, struct ib_wc *wc); wc 580 drivers/infiniband/ulp/iser/iscsi_iser.h void iser_ctrl_comp(struct ib_cq *cq, struct ib_wc *wc); wc 581 drivers/infiniband/ulp/iser/iscsi_iser.h void iser_dataout_comp(struct ib_cq *cq, struct ib_wc *wc); wc 582 drivers/infiniband/ulp/iser/iscsi_iser.h void iser_reg_comp(struct ib_cq *cq, struct ib_wc *wc); wc 558 drivers/infiniband/ulp/iser/iser_initiator.c void iser_login_rsp(struct ib_cq *cq, struct ib_wc *wc) wc 560 drivers/infiniband/ulp/iser/iser_initiator.c struct ib_conn *ib_conn = wc->qp->qp_context; wc 562 drivers/infiniband/ulp/iser/iser_initiator.c struct iser_login_desc *desc = iser_login(wc->wr_cqe); wc 567 drivers/infiniband/ulp/iser/iser_initiator.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 568 drivers/infiniband/ulp/iser/iser_initiator.c iser_err_comp(wc, "login_rsp"); wc 578 drivers/infiniband/ulp/iser/iser_initiator.c length = wc->byte_len - ISER_HEADERS_LEN; wc 608 drivers/infiniband/ulp/iser/iser_initiator.c struct ib_wc *wc, wc 611 drivers/infiniband/ulp/iser/iser_initiator.c if (wc->wc_flags & IB_WC_WITH_INVALIDATE) { wc 613 drivers/infiniband/ulp/iser/iser_initiator.c u32 rkey = wc->ex.invalidate_rkey; wc 650 drivers/infiniband/ulp/iser/iser_initiator.c void iser_task_rsp(struct ib_cq *cq, struct ib_wc *wc) wc 652 drivers/infiniband/ulp/iser/iser_initiator.c struct ib_conn *ib_conn = wc->qp->qp_context; wc 654 drivers/infiniband/ulp/iser/iser_initiator.c struct iser_rx_desc *desc = iser_rx(wc->wr_cqe); wc 659 drivers/infiniband/ulp/iser/iser_initiator.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 660 drivers/infiniband/ulp/iser/iser_initiator.c iser_err_comp(wc, "task_rsp"); wc 669 drivers/infiniband/ulp/iser/iser_initiator.c length = wc->byte_len - ISER_HEADERS_LEN; wc 674 drivers/infiniband/ulp/iser/iser_initiator.c if (iser_check_remote_inv(iser_conn, wc, hdr)) { wc 702 drivers/infiniband/ulp/iser/iser_initiator.c void iser_cmd_comp(struct ib_cq *cq, struct ib_wc *wc) wc 704 drivers/infiniband/ulp/iser/iser_initiator.c if (unlikely(wc->status != IB_WC_SUCCESS)) wc 705 drivers/infiniband/ulp/iser/iser_initiator.c iser_err_comp(wc, "command"); wc 708 drivers/infiniband/ulp/iser/iser_initiator.c void iser_ctrl_comp(struct ib_cq *cq, struct ib_wc *wc) wc 710 drivers/infiniband/ulp/iser/iser_initiator.c struct iser_tx_desc *desc = iser_tx(wc->wr_cqe); wc 713 drivers/infiniband/ulp/iser/iser_initiator.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 714 drivers/infiniband/ulp/iser/iser_initiator.c iser_err_comp(wc, "control"); wc 724 drivers/infiniband/ulp/iser/iser_initiator.c void iser_dataout_comp(struct ib_cq *cq, struct ib_wc *wc) wc 726 drivers/infiniband/ulp/iser/iser_initiator.c struct iser_tx_desc *desc = iser_tx(wc->wr_cqe); wc 727 drivers/infiniband/ulp/iser/iser_initiator.c struct ib_conn *ib_conn = wc->qp->qp_context; wc 730 drivers/infiniband/ulp/iser/iser_initiator.c if (unlikely(wc->status != IB_WC_SUCCESS)) wc 731 drivers/infiniband/ulp/iser/iser_initiator.c iser_err_comp(wc, "dataout"); wc 70 drivers/infiniband/ulp/iser/iser_memory.c void iser_reg_comp(struct ib_cq *cq, struct ib_wc *wc) wc 72 drivers/infiniband/ulp/iser/iser_memory.c iser_err_comp(wc, "memreg"); wc 1117 drivers/infiniband/ulp/iser/iser_verbs.c void iser_err_comp(struct ib_wc *wc, const char *type) wc 1119 drivers/infiniband/ulp/iser/iser_verbs.c if (wc->status != IB_WC_WR_FLUSH_ERR) { wc 1120 drivers/infiniband/ulp/iser/iser_verbs.c struct iser_conn *iser_conn = to_iser_conn(wc->qp->qp_context); wc 1123 drivers/infiniband/ulp/iser/iser_verbs.c ib_wc_status_msg(wc->status), wc->status, wc 1124 drivers/infiniband/ulp/iser/iser_verbs.c wc->vendor_err); wc 1131 drivers/infiniband/ulp/iser/iser_verbs.c ib_wc_status_msg(wc->status), wc->status); wc 51 drivers/infiniband/ulp/isert/ib_isert.c static void isert_recv_done(struct ib_cq *cq, struct ib_wc *wc); wc 52 drivers/infiniband/ulp/isert/ib_isert.c static void isert_send_done(struct ib_cq *cq, struct ib_wc *wc); wc 53 drivers/infiniband/ulp/isert/ib_isert.c static void isert_login_recv_done(struct ib_cq *cq, struct ib_wc *wc); wc 54 drivers/infiniband/ulp/isert/ib_isert.c static void isert_login_send_done(struct ib_cq *cq, struct ib_wc *wc); wc 1384 drivers/infiniband/ulp/isert/ib_isert.c isert_print_wc(struct ib_wc *wc, const char *type) wc 1386 drivers/infiniband/ulp/isert/ib_isert.c if (wc->status != IB_WC_WR_FLUSH_ERR) wc 1388 drivers/infiniband/ulp/isert/ib_isert.c ib_wc_status_msg(wc->status), wc->status, wc 1389 drivers/infiniband/ulp/isert/ib_isert.c wc->vendor_err); wc 1392 drivers/infiniband/ulp/isert/ib_isert.c ib_wc_status_msg(wc->status), wc->status); wc 1396 drivers/infiniband/ulp/isert/ib_isert.c isert_recv_done(struct ib_cq *cq, struct ib_wc *wc) wc 1398 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = wc->qp->qp_context; wc 1400 drivers/infiniband/ulp/isert/ib_isert.c struct iser_rx_desc *rx_desc = cqe_to_rx_desc(wc->wr_cqe); wc 1406 drivers/infiniband/ulp/isert/ib_isert.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 1407 drivers/infiniband/ulp/isert/ib_isert.c isert_print_wc(wc, "recv"); wc 1408 drivers/infiniband/ulp/isert/ib_isert.c if (wc->status != IB_WC_WR_FLUSH_ERR) wc 1420 drivers/infiniband/ulp/isert/ib_isert.c (int)(wc->byte_len - ISER_HEADERS_LEN)); wc 1455 drivers/infiniband/ulp/isert/ib_isert.c isert_login_recv_done(struct ib_cq *cq, struct ib_wc *wc) wc 1457 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = wc->qp->qp_context; wc 1460 drivers/infiniband/ulp/isert/ib_isert.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 1461 drivers/infiniband/ulp/isert/ib_isert.c isert_print_wc(wc, "login recv"); wc 1468 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->login_req_len = wc->byte_len - ISER_HEADERS_LEN; wc 1653 drivers/infiniband/ulp/isert/ib_isert.c isert_rdma_write_done(struct ib_cq *cq, struct ib_wc *wc) wc 1655 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = wc->qp->qp_context; wc 1657 drivers/infiniband/ulp/isert/ib_isert.c struct iser_tx_desc *desc = cqe_to_tx_desc(wc->wr_cqe); wc 1662 drivers/infiniband/ulp/isert/ib_isert.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 1663 drivers/infiniband/ulp/isert/ib_isert.c isert_print_wc(wc, "rdma write"); wc 1664 drivers/infiniband/ulp/isert/ib_isert.c if (wc->status != IB_WC_WR_FLUSH_ERR) wc 1695 drivers/infiniband/ulp/isert/ib_isert.c isert_rdma_read_done(struct ib_cq *cq, struct ib_wc *wc) wc 1697 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = wc->qp->qp_context; wc 1699 drivers/infiniband/ulp/isert/ib_isert.c struct iser_tx_desc *desc = cqe_to_tx_desc(wc->wr_cqe); wc 1705 drivers/infiniband/ulp/isert/ib_isert.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 1706 drivers/infiniband/ulp/isert/ib_isert.c isert_print_wc(wc, "rdma read"); wc 1707 drivers/infiniband/ulp/isert/ib_isert.c if (wc->status != IB_WC_WR_FLUSH_ERR) wc 1771 drivers/infiniband/ulp/isert/ib_isert.c isert_login_send_done(struct ib_cq *cq, struct ib_wc *wc) wc 1773 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = wc->qp->qp_context; wc 1775 drivers/infiniband/ulp/isert/ib_isert.c struct iser_tx_desc *tx_desc = cqe_to_tx_desc(wc->wr_cqe); wc 1777 drivers/infiniband/ulp/isert/ib_isert.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 1778 drivers/infiniband/ulp/isert/ib_isert.c isert_print_wc(wc, "login send"); wc 1779 drivers/infiniband/ulp/isert/ib_isert.c if (wc->status != IB_WC_WR_FLUSH_ERR) wc 1787 drivers/infiniband/ulp/isert/ib_isert.c isert_send_done(struct ib_cq *cq, struct ib_wc *wc) wc 1789 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = wc->qp->qp_context; wc 1791 drivers/infiniband/ulp/isert/ib_isert.c struct iser_tx_desc *tx_desc = cqe_to_tx_desc(wc->wr_cqe); wc 1794 drivers/infiniband/ulp/isert/ib_isert.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 1795 drivers/infiniband/ulp/isert/ib_isert.c isert_print_wc(wc, "send"); wc 1796 drivers/infiniband/ulp/isert/ib_isert.c if (wc->status != IB_WC_WR_FLUSH_ERR) wc 636 drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c ah = ib_create_ah_from_wc(mad_agent->qp->pd, mad_wc->wc, wc 641 drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c rsp = ib_create_send_mad(mad_agent, mad_wc->wc->src_qp, wc 642 drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c mad_wc->wc->pkey_index, 0, wc 152 drivers/infiniband/ulp/srp/ib_srp.c static void srp_recv_done(struct ib_cq *cq, struct ib_wc *wc); wc 153 drivers/infiniband/ulp/srp/ib_srp.c static void srp_handle_qp_err(struct ib_cq *cq, struct ib_wc *wc, wc 1221 drivers/infiniband/ulp/srp/ib_srp.c static void srp_inv_rkey_err_done(struct ib_cq *cq, struct ib_wc *wc) wc 1223 drivers/infiniband/ulp/srp/ib_srp.c srp_handle_qp_err(cq, wc, "INV RKEY"); wc 1509 drivers/infiniband/ulp/srp/ib_srp.c static void srp_reg_mr_err_done(struct ib_cq *cq, struct ib_wc *wc) wc 1511 drivers/infiniband/ulp/srp/ib_srp.c srp_handle_qp_err(cq, wc, "FAST REG"); wc 2050 drivers/infiniband/ulp/srp/ib_srp.c static void srp_send_done(struct ib_cq *cq, struct ib_wc *wc) wc 2052 drivers/infiniband/ulp/srp/ib_srp.c struct srp_iu *iu = container_of(wc->wr_cqe, struct srp_iu, cqe); wc 2055 drivers/infiniband/ulp/srp/ib_srp.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 2056 drivers/infiniband/ulp/srp/ib_srp.c srp_handle_qp_err(cq, wc, "SEND"); wc 2248 drivers/infiniband/ulp/srp/ib_srp.c static void srp_recv_done(struct ib_cq *cq, struct ib_wc *wc) wc 2250 drivers/infiniband/ulp/srp/ib_srp.c struct srp_iu *iu = container_of(wc->wr_cqe, struct srp_iu, cqe); wc 2257 drivers/infiniband/ulp/srp/ib_srp.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 2258 drivers/infiniband/ulp/srp/ib_srp.c srp_handle_qp_err(cq, wc, "RECV"); wc 2271 drivers/infiniband/ulp/srp/ib_srp.c iu->buf, wc->byte_len, true); wc 2324 drivers/infiniband/ulp/srp/ib_srp.c static void srp_handle_qp_err(struct ib_cq *cq, struct ib_wc *wc, wc 2333 drivers/infiniband/ulp/srp/ib_srp.c opname, ib_wc_status_msg(wc->status), wc->status, wc 2334 drivers/infiniband/ulp/srp/ib_srp.c wc->wr_cqe); wc 100 drivers/infiniband/ulp/srpt/ib_srpt.c static void srpt_recv_done(struct ib_cq *cq, struct ib_wc *wc); wc 101 drivers/infiniband/ulp/srpt/ib_srpt.c static void srpt_send_done(struct ib_cq *cq, struct ib_wc *wc); wc 483 drivers/infiniband/ulp/srpt/ib_srpt.c ah = ib_create_ah_from_wc(mad_agent->qp->pd, mad_wc->wc, wc 490 drivers/infiniband/ulp/srpt/ib_srpt.c rsp = ib_create_send_mad(mad_agent, mad_wc->wc->src_qp, wc 491 drivers/infiniband/ulp/srpt/ib_srpt.c mad_wc->wc->pkey_index, 0, wc 870 drivers/infiniband/ulp/srpt/ib_srpt.c static void srpt_zerolength_write_done(struct ib_cq *cq, struct ib_wc *wc) wc 875 drivers/infiniband/ulp/srpt/ib_srpt.c wc->status); wc 877 drivers/infiniband/ulp/srpt/ib_srpt.c if (wc->status == IB_WC_SUCCESS) { wc 1323 drivers/infiniband/ulp/srpt/ib_srpt.c static void srpt_rdma_read_done(struct ib_cq *cq, struct ib_wc *wc) wc 1327 drivers/infiniband/ulp/srpt/ib_srpt.c container_of(wc->wr_cqe, struct srpt_send_ioctx, rdma_cqe); wc 1333 drivers/infiniband/ulp/srpt/ib_srpt.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 1335 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx, wc->status); wc 1684 drivers/infiniband/ulp/srpt/ib_srpt.c static void srpt_recv_done(struct ib_cq *cq, struct ib_wc *wc) wc 1688 drivers/infiniband/ulp/srpt/ib_srpt.c container_of(wc->wr_cqe, struct srpt_recv_ioctx, ioctx.cqe); wc 1690 drivers/infiniband/ulp/srpt/ib_srpt.c if (wc->status == IB_WC_SUCCESS) { wc 1696 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->byte_len = wc->byte_len; wc 1700 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx, wc->status); wc 1745 drivers/infiniband/ulp/srpt/ib_srpt.c static void srpt_send_done(struct ib_cq *cq, struct ib_wc *wc) wc 1749 drivers/infiniband/ulp/srpt/ib_srpt.c container_of(wc->wr_cqe, struct srpt_send_ioctx, ioctx.cqe); wc 1759 drivers/infiniband/ulp/srpt/ib_srpt.c if (wc->status != IB_WC_SUCCESS) wc 1761 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx, wc->status); wc 732 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_init(struct hfc_multi *wc) wc 742 drivers/isdn/hardware/mISDN/hfcmulti.c ver = vpm_in(wc, x, 0x1a0); wc 747 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, 0x1a8 + y, 0x00); /* GPIO out */ wc 748 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, 0x1ac + y, 0x00); /* GPIO dir */ wc 749 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, 0x1b0 + y, 0x00); /* GPIO sel */ wc 753 drivers/isdn/hardware/mISDN/hfcmulti.c reg = vpm_in(wc, x, 0x1a3); /* misc_con */ wc 754 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, 0x1a3, reg & ~2); wc 757 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, 0x022, 1); wc 758 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, 0x023, 0xff); wc 761 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, 0x02f, 0x00); wc 766 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, 0x33 - i, (mask >> (i << 3)) & 0xff); wc 771 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, 0x20, reg); wc 775 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, 0x24, 0x02); wc 776 drivers/isdn/hardware/mISDN/hfcmulti.c reg = vpm_in(wc, x, 0x24); wc 782 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, i, 0x00); wc 802 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, i, 0x01); wc 808 drivers/isdn/hardware/mISDN/hfcmulti.c vpm_out(wc, x, 0x78 + i, 0x01); wc 1894 drivers/md/dm-table.c bool wc = false, fua = false; wc 1917 drivers/md/dm-table.c wc = true; wc 1921 drivers/md/dm-table.c blk_queue_write_cache(q, wc, fua); wc 98 drivers/md/dm-writecache.c #define WC_MODE_PMEM(wc) ((wc)->pmem_mode) wc 99 drivers/md/dm-writecache.c #define WC_MODE_FUA(wc) ((wc)->writeback_fua) wc 101 drivers/md/dm-writecache.c #define WC_MODE_PMEM(wc) false wc 102 drivers/md/dm-writecache.c #define WC_MODE_FUA(wc) false wc 104 drivers/md/dm-writecache.c #define WC_MODE_SORT_FREELIST(wc) (!WC_MODE_PMEM(wc)) wc 190 drivers/md/dm-writecache.c struct dm_writecache *wc; wc 199 drivers/md/dm-writecache.c struct dm_writecache *wc; wc 208 drivers/md/dm-writecache.c static void wc_lock(struct dm_writecache *wc) wc 210 drivers/md/dm-writecache.c mutex_lock(&wc->lock); wc 213 drivers/md/dm-writecache.c static void wc_unlock(struct dm_writecache *wc) wc 215 drivers/md/dm-writecache.c mutex_unlock(&wc->lock); wc 219 drivers/md/dm-writecache.c static int persistent_memory_claim(struct dm_writecache *wc) wc 228 drivers/md/dm-writecache.c wc->memory_vmapped = false; wc 230 drivers/md/dm-writecache.c if (!wc->ssd_dev->dax_dev) { wc 234 drivers/md/dm-writecache.c s = wc->memory_map_size; wc 247 drivers/md/dm-writecache.c da = dax_direct_access(wc->ssd_dev->dax_dev, 0, p, &wc->memory_map, &pfn); wc 249 drivers/md/dm-writecache.c wc->memory_map = NULL; wc 254 drivers/md/dm-writecache.c wc->memory_map = NULL; wc 260 drivers/md/dm-writecache.c wc->memory_map = NULL; wc 269 drivers/md/dm-writecache.c daa = dax_direct_access(wc->ssd_dev->dax_dev, i, p - i, wc 284 drivers/md/dm-writecache.c wc->memory_map = vmap(pages, p, VM_MAP, PAGE_KERNEL); wc 285 drivers/md/dm-writecache.c if (!wc->memory_map) { wc 290 drivers/md/dm-writecache.c wc->memory_vmapped = true; wc 295 drivers/md/dm-writecache.c wc->memory_map += (size_t)wc->start_sector << SECTOR_SHIFT; wc 296 drivers/md/dm-writecache.c wc->memory_map_size -= (size_t)wc->start_sector << SECTOR_SHIFT; wc 307 drivers/md/dm-writecache.c static int persistent_memory_claim(struct dm_writecache *wc) wc 313 drivers/md/dm-writecache.c static void persistent_memory_release(struct dm_writecache *wc) wc 315 drivers/md/dm-writecache.c if (wc->memory_vmapped) wc 316 drivers/md/dm-writecache.c vunmap(wc->memory_map - ((size_t)wc->start_sector << SECTOR_SHIFT)); wc 344 drivers/md/dm-writecache.c static struct wc_memory_superblock *sb(struct dm_writecache *wc) wc 346 drivers/md/dm-writecache.c return wc->memory_map; wc 349 drivers/md/dm-writecache.c static struct wc_memory_entry *memory_entry(struct dm_writecache *wc, struct wc_entry *e) wc 351 drivers/md/dm-writecache.c return &sb(wc)->entries[e->index]; wc 354 drivers/md/dm-writecache.c static void *memory_data(struct dm_writecache *wc, struct wc_entry *e) wc 356 drivers/md/dm-writecache.c return (char *)wc->block_start + (e->index << wc->block_size_bits); wc 359 drivers/md/dm-writecache.c static sector_t cache_sector(struct dm_writecache *wc, struct wc_entry *e) wc 361 drivers/md/dm-writecache.c return wc->start_sector + wc->metadata_sectors + wc 362 drivers/md/dm-writecache.c ((sector_t)e->index << (wc->block_size_bits - SECTOR_SHIFT)); wc 365 drivers/md/dm-writecache.c static uint64_t read_original_sector(struct dm_writecache *wc, struct wc_entry *e) wc 370 drivers/md/dm-writecache.c return le64_to_cpu(memory_entry(wc, e)->original_sector); wc 374 drivers/md/dm-writecache.c static uint64_t read_seq_count(struct dm_writecache *wc, struct wc_entry *e) wc 379 drivers/md/dm-writecache.c return le64_to_cpu(memory_entry(wc, e)->seq_count); wc 383 drivers/md/dm-writecache.c static void clear_seq_count(struct dm_writecache *wc, struct wc_entry *e) wc 388 drivers/md/dm-writecache.c pmem_assign(memory_entry(wc, e)->seq_count, cpu_to_le64(-1)); wc 391 drivers/md/dm-writecache.c static void write_original_sector_seq_count(struct dm_writecache *wc, struct wc_entry *e, wc 401 drivers/md/dm-writecache.c pmem_assign(*memory_entry(wc, e), me); wc 404 drivers/md/dm-writecache.c #define writecache_error(wc, err, msg, arg...) \ wc 406 drivers/md/dm-writecache.c if (!cmpxchg(&(wc)->error, 0, err)) \ wc 408 drivers/md/dm-writecache.c wake_up(&(wc)->freelist_wait); \ wc 411 drivers/md/dm-writecache.c #define writecache_has_error(wc) (unlikely(READ_ONCE((wc)->error))) wc 413 drivers/md/dm-writecache.c static void writecache_flush_all_metadata(struct dm_writecache *wc) wc 415 drivers/md/dm-writecache.c if (!WC_MODE_PMEM(wc)) wc 416 drivers/md/dm-writecache.c memset(wc->dirty_bitmap, -1, wc->dirty_bitmap_size); wc 419 drivers/md/dm-writecache.c static void writecache_flush_region(struct dm_writecache *wc, void *ptr, size_t size) wc 421 drivers/md/dm-writecache.c if (!WC_MODE_PMEM(wc)) wc 422 drivers/md/dm-writecache.c __set_bit(((char *)ptr - (char *)wc->memory_map) / BITMAP_GRANULARITY, wc 423 drivers/md/dm-writecache.c wc->dirty_bitmap); wc 426 drivers/md/dm-writecache.c static void writecache_disk_flush(struct dm_writecache *wc, struct dm_dev *dev); wc 429 drivers/md/dm-writecache.c struct dm_writecache *wc; wc 439 drivers/md/dm-writecache.c writecache_error(endio->wc, -EIO, "error writing metadata"); wc 445 drivers/md/dm-writecache.c static void writecache_wait_for_ios(struct dm_writecache *wc, int direction) wc 447 drivers/md/dm-writecache.c wait_event(wc->bio_in_progress_wait[direction], wc 448 drivers/md/dm-writecache.c !atomic_read(&wc->bio_in_progress[direction])); wc 451 drivers/md/dm-writecache.c static void ssd_commit_flushed(struct dm_writecache *wc, bool wait_for_ios) wc 456 drivers/md/dm-writecache.c wc, wc 460 drivers/md/dm-writecache.c unsigned bitmap_bits = wc->dirty_bitmap_size * 8; wc 465 drivers/md/dm-writecache.c i = find_next_bit(wc->dirty_bitmap, bitmap_bits, i); wc 468 drivers/md/dm-writecache.c j = find_next_zero_bit(wc->dirty_bitmap, bitmap_bits, i); wc 470 drivers/md/dm-writecache.c region.bdev = wc->ssd_dev->bdev; wc 474 drivers/md/dm-writecache.c if (unlikely(region.sector >= wc->metadata_sectors)) wc 476 drivers/md/dm-writecache.c if (unlikely(region.sector + region.count > wc->metadata_sectors)) wc 477 drivers/md/dm-writecache.c region.count = wc->metadata_sectors - region.sector; wc 479 drivers/md/dm-writecache.c region.sector += wc->start_sector; wc 484 drivers/md/dm-writecache.c req.mem.ptr.vma = (char *)wc->memory_map + (size_t)i * BITMAP_GRANULARITY; wc 485 drivers/md/dm-writecache.c req.client = wc->dm_io; wc 498 drivers/md/dm-writecache.c writecache_wait_for_ios(wc, WRITE); wc 500 drivers/md/dm-writecache.c writecache_disk_flush(wc, wc->ssd_dev); wc 502 drivers/md/dm-writecache.c memset(wc->dirty_bitmap, 0, wc->dirty_bitmap_size); wc 505 drivers/md/dm-writecache.c static void writecache_commit_flushed(struct dm_writecache *wc, bool wait_for_ios) wc 507 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) wc 510 drivers/md/dm-writecache.c ssd_commit_flushed(wc, wait_for_ios); wc 513 drivers/md/dm-writecache.c static void writecache_disk_flush(struct dm_writecache *wc, struct dm_dev *dev) wc 526 drivers/md/dm-writecache.c req.client = wc->dm_io; wc 531 drivers/md/dm-writecache.c writecache_error(wc, r, "error flushing metadata: %d", r); wc 537 drivers/md/dm-writecache.c static struct wc_entry *writecache_find_entry(struct dm_writecache *wc, wc 541 drivers/md/dm-writecache.c struct rb_node *node = wc->tree.rb_node; wc 548 drivers/md/dm-writecache.c if (read_original_sector(wc, e) == block) wc 551 drivers/md/dm-writecache.c node = (read_original_sector(wc, e) >= block ? wc 556 drivers/md/dm-writecache.c if (read_original_sector(wc, e) >= block) { wc 577 drivers/md/dm-writecache.c if (read_original_sector(wc, e2) != block) wc 583 drivers/md/dm-writecache.c static void writecache_insert_entry(struct dm_writecache *wc, struct wc_entry *ins) wc 586 drivers/md/dm-writecache.c struct rb_node **node = &wc->tree.rb_node, *parent = NULL; wc 591 drivers/md/dm-writecache.c if (read_original_sector(wc, e) > read_original_sector(wc, ins)) wc 597 drivers/md/dm-writecache.c rb_insert_color(&ins->rb_node, &wc->tree); wc 598 drivers/md/dm-writecache.c list_add(&ins->lru, &wc->lru); wc 601 drivers/md/dm-writecache.c static void writecache_unlink(struct dm_writecache *wc, struct wc_entry *e) wc 604 drivers/md/dm-writecache.c rb_erase(&e->rb_node, &wc->tree); wc 607 drivers/md/dm-writecache.c static void writecache_add_to_freelist(struct dm_writecache *wc, struct wc_entry *e) wc 609 drivers/md/dm-writecache.c if (WC_MODE_SORT_FREELIST(wc)) { wc 610 drivers/md/dm-writecache.c struct rb_node **node = &wc->freetree.rb_node, *parent = NULL; wc 612 drivers/md/dm-writecache.c wc->current_free = e; wc 621 drivers/md/dm-writecache.c rb_insert_color(&e->rb_node, &wc->freetree); wc 623 drivers/md/dm-writecache.c list_add_tail(&e->lru, &wc->freelist); wc 625 drivers/md/dm-writecache.c wc->freelist_size++; wc 628 drivers/md/dm-writecache.c static inline void writecache_verify_watermark(struct dm_writecache *wc) wc 630 drivers/md/dm-writecache.c if (unlikely(wc->freelist_size + wc->writeback_size <= wc->freelist_high_watermark)) wc 631 drivers/md/dm-writecache.c queue_work(wc->writeback_wq, &wc->writeback_work); wc 634 drivers/md/dm-writecache.c static struct wc_entry *writecache_pop_from_freelist(struct dm_writecache *wc) wc 638 drivers/md/dm-writecache.c if (WC_MODE_SORT_FREELIST(wc)) { wc 640 drivers/md/dm-writecache.c if (unlikely(!wc->current_free)) wc 642 drivers/md/dm-writecache.c e = wc->current_free; wc 644 drivers/md/dm-writecache.c rb_erase(&e->rb_node, &wc->freetree); wc 646 drivers/md/dm-writecache.c next = rb_first(&wc->freetree); wc 647 drivers/md/dm-writecache.c wc->current_free = next ? container_of(next, struct wc_entry, rb_node) : NULL; wc 649 drivers/md/dm-writecache.c if (unlikely(list_empty(&wc->freelist))) wc 651 drivers/md/dm-writecache.c e = container_of(wc->freelist.next, struct wc_entry, lru); wc 654 drivers/md/dm-writecache.c wc->freelist_size--; wc 656 drivers/md/dm-writecache.c writecache_verify_watermark(wc); wc 661 drivers/md/dm-writecache.c static void writecache_free_entry(struct dm_writecache *wc, struct wc_entry *e) wc 663 drivers/md/dm-writecache.c writecache_unlink(wc, e); wc 664 drivers/md/dm-writecache.c writecache_add_to_freelist(wc, e); wc 665 drivers/md/dm-writecache.c clear_seq_count(wc, e); wc 666 drivers/md/dm-writecache.c writecache_flush_region(wc, memory_entry(wc, e), sizeof(struct wc_memory_entry)); wc 667 drivers/md/dm-writecache.c if (unlikely(waitqueue_active(&wc->freelist_wait))) wc 668 drivers/md/dm-writecache.c wake_up(&wc->freelist_wait); wc 671 drivers/md/dm-writecache.c static void writecache_wait_on_freelist(struct dm_writecache *wc) wc 675 drivers/md/dm-writecache.c prepare_to_wait(&wc->freelist_wait, &wait, TASK_UNINTERRUPTIBLE); wc 676 drivers/md/dm-writecache.c wc_unlock(wc); wc 678 drivers/md/dm-writecache.c finish_wait(&wc->freelist_wait, &wait); wc 679 drivers/md/dm-writecache.c wc_lock(wc); wc 682 drivers/md/dm-writecache.c static void writecache_poison_lists(struct dm_writecache *wc) wc 687 drivers/md/dm-writecache.c memset(&wc->tree, -1, sizeof wc->tree); wc 688 drivers/md/dm-writecache.c wc->lru.next = LIST_POISON1; wc 689 drivers/md/dm-writecache.c wc->lru.prev = LIST_POISON2; wc 690 drivers/md/dm-writecache.c wc->freelist.next = LIST_POISON1; wc 691 drivers/md/dm-writecache.c wc->freelist.prev = LIST_POISON2; wc 694 drivers/md/dm-writecache.c static void writecache_flush_entry(struct dm_writecache *wc, struct wc_entry *e) wc 696 drivers/md/dm-writecache.c writecache_flush_region(wc, memory_entry(wc, e), sizeof(struct wc_memory_entry)); wc 697 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) wc 698 drivers/md/dm-writecache.c writecache_flush_region(wc, memory_data(wc, e), wc->block_size); wc 701 drivers/md/dm-writecache.c static bool writecache_entry_is_committed(struct dm_writecache *wc, struct wc_entry *e) wc 703 drivers/md/dm-writecache.c return read_seq_count(wc, e) < wc->seq_count; wc 706 drivers/md/dm-writecache.c static void writecache_flush(struct dm_writecache *wc) wc 711 drivers/md/dm-writecache.c wc->uncommitted_blocks = 0; wc 712 drivers/md/dm-writecache.c del_timer(&wc->autocommit_timer); wc 714 drivers/md/dm-writecache.c if (list_empty(&wc->lru)) wc 717 drivers/md/dm-writecache.c e = container_of(wc->lru.next, struct wc_entry, lru); wc 718 drivers/md/dm-writecache.c if (writecache_entry_is_committed(wc, e)) { wc 719 drivers/md/dm-writecache.c if (wc->overwrote_committed) { wc 720 drivers/md/dm-writecache.c writecache_wait_for_ios(wc, WRITE); wc 721 drivers/md/dm-writecache.c writecache_disk_flush(wc, wc->ssd_dev); wc 722 drivers/md/dm-writecache.c wc->overwrote_committed = false; wc 727 drivers/md/dm-writecache.c writecache_flush_entry(wc, e); wc 728 drivers/md/dm-writecache.c if (unlikely(e->lru.next == &wc->lru)) wc 731 drivers/md/dm-writecache.c if (writecache_entry_is_committed(wc, e2)) wc 736 drivers/md/dm-writecache.c writecache_commit_flushed(wc, true); wc 738 drivers/md/dm-writecache.c wc->seq_count++; wc 739 drivers/md/dm-writecache.c pmem_assign(sb(wc)->seq_count, cpu_to_le64(wc->seq_count)); wc 740 drivers/md/dm-writecache.c writecache_flush_region(wc, &sb(wc)->seq_count, sizeof sb(wc)->seq_count); wc 741 drivers/md/dm-writecache.c writecache_commit_flushed(wc, false); wc 743 drivers/md/dm-writecache.c wc->overwrote_committed = false; wc 752 drivers/md/dm-writecache.c if (read_original_sector(wc, e2) == read_original_sector(wc, e) && wc 754 drivers/md/dm-writecache.c writecache_free_entry(wc, e2); wc 758 drivers/md/dm-writecache.c if (unlikely(e->lru.prev == &wc->lru)) wc 765 drivers/md/dm-writecache.c writecache_commit_flushed(wc, false); wc 770 drivers/md/dm-writecache.c struct dm_writecache *wc = container_of(work, struct dm_writecache, flush_work); wc 772 drivers/md/dm-writecache.c wc_lock(wc); wc 773 drivers/md/dm-writecache.c writecache_flush(wc); wc 774 drivers/md/dm-writecache.c wc_unlock(wc); wc 779 drivers/md/dm-writecache.c struct dm_writecache *wc = from_timer(wc, t, autocommit_timer); wc 780 drivers/md/dm-writecache.c if (!writecache_has_error(wc)) wc 781 drivers/md/dm-writecache.c queue_work(wc->writeback_wq, &wc->flush_work); wc 784 drivers/md/dm-writecache.c static void writecache_schedule_autocommit(struct dm_writecache *wc) wc 786 drivers/md/dm-writecache.c if (!timer_pending(&wc->autocommit_timer)) wc 787 drivers/md/dm-writecache.c mod_timer(&wc->autocommit_timer, jiffies + wc->autocommit_jiffies); wc 790 drivers/md/dm-writecache.c static void writecache_discard(struct dm_writecache *wc, sector_t start, sector_t end) wc 795 drivers/md/dm-writecache.c e = writecache_find_entry(wc, start, WFE_RETURN_FOLLOWING | WFE_LOWEST_SEQ); wc 799 drivers/md/dm-writecache.c while (read_original_sector(wc, e) < end) { wc 804 drivers/md/dm-writecache.c writecache_wait_for_ios(wc, READ); wc 805 drivers/md/dm-writecache.c writecache_wait_for_ios(wc, WRITE); wc 808 drivers/md/dm-writecache.c writecache_free_entry(wc, e); wc 818 drivers/md/dm-writecache.c writecache_commit_flushed(wc, false); wc 821 drivers/md/dm-writecache.c static bool writecache_wait_for_writeback(struct dm_writecache *wc) wc 823 drivers/md/dm-writecache.c if (wc->writeback_size) { wc 824 drivers/md/dm-writecache.c writecache_wait_on_freelist(wc); wc 832 drivers/md/dm-writecache.c struct dm_writecache *wc = ti->private; wc 835 drivers/md/dm-writecache.c del_timer_sync(&wc->autocommit_timer); wc 837 drivers/md/dm-writecache.c wc_lock(wc); wc 838 drivers/md/dm-writecache.c writecache_flush(wc); wc 839 drivers/md/dm-writecache.c flush_on_suspend = wc->flush_on_suspend; wc 841 drivers/md/dm-writecache.c wc->flush_on_suspend = false; wc 842 drivers/md/dm-writecache.c wc->writeback_all++; wc 843 drivers/md/dm-writecache.c queue_work(wc->writeback_wq, &wc->writeback_work); wc 845 drivers/md/dm-writecache.c wc_unlock(wc); wc 847 drivers/md/dm-writecache.c drain_workqueue(wc->writeback_wq); wc 849 drivers/md/dm-writecache.c wc_lock(wc); wc 851 drivers/md/dm-writecache.c wc->writeback_all--; wc 852 drivers/md/dm-writecache.c while (writecache_wait_for_writeback(wc)); wc 854 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) wc 855 drivers/md/dm-writecache.c persistent_memory_flush_cache(wc->memory_map, wc->memory_map_size); wc 857 drivers/md/dm-writecache.c writecache_poison_lists(wc); wc 859 drivers/md/dm-writecache.c wc_unlock(wc); wc 862 drivers/md/dm-writecache.c static int writecache_alloc_entries(struct dm_writecache *wc) wc 866 drivers/md/dm-writecache.c if (wc->entries) wc 868 drivers/md/dm-writecache.c wc->entries = vmalloc(array_size(sizeof(struct wc_entry), wc->n_blocks)); wc 869 drivers/md/dm-writecache.c if (!wc->entries) wc 871 drivers/md/dm-writecache.c for (b = 0; b < wc->n_blocks; b++) { wc 872 drivers/md/dm-writecache.c struct wc_entry *e = &wc->entries[b]; wc 881 drivers/md/dm-writecache.c static int writecache_read_metadata(struct dm_writecache *wc, sector_t n_sectors) wc 886 drivers/md/dm-writecache.c region.bdev = wc->ssd_dev->bdev; wc 887 drivers/md/dm-writecache.c region.sector = wc->start_sector; wc 892 drivers/md/dm-writecache.c req.mem.ptr.vma = (char *)wc->memory_map; wc 893 drivers/md/dm-writecache.c req.client = wc->dm_io; wc 901 drivers/md/dm-writecache.c struct dm_writecache *wc = ti->private; wc 907 drivers/md/dm-writecache.c wc_lock(wc); wc 909 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) { wc 910 drivers/md/dm-writecache.c persistent_memory_invalidate_cache(wc->memory_map, wc->memory_map_size); wc 912 drivers/md/dm-writecache.c r = writecache_read_metadata(wc, wc->metadata_sectors); wc 915 drivers/md/dm-writecache.c writecache_error(wc, r, "unable to read metadata: %d", r); wc 917 drivers/md/dm-writecache.c memset((char *)wc->memory_map + sb_entries_offset, -1, wc 918 drivers/md/dm-writecache.c (wc->metadata_sectors << SECTOR_SHIFT) - sb_entries_offset); wc 922 drivers/md/dm-writecache.c wc->tree = RB_ROOT; wc 923 drivers/md/dm-writecache.c INIT_LIST_HEAD(&wc->lru); wc 924 drivers/md/dm-writecache.c if (WC_MODE_SORT_FREELIST(wc)) { wc 925 drivers/md/dm-writecache.c wc->freetree = RB_ROOT; wc 926 drivers/md/dm-writecache.c wc->current_free = NULL; wc 928 drivers/md/dm-writecache.c INIT_LIST_HEAD(&wc->freelist); wc 930 drivers/md/dm-writecache.c wc->freelist_size = 0; wc 932 drivers/md/dm-writecache.c r = memcpy_mcsafe(&sb_seq_count, &sb(wc)->seq_count, sizeof(uint64_t)); wc 934 drivers/md/dm-writecache.c writecache_error(wc, r, "hardware memory error when reading superblock: %d", r); wc 937 drivers/md/dm-writecache.c wc->seq_count = le64_to_cpu(sb_seq_count); wc 940 drivers/md/dm-writecache.c for (b = 0; b < wc->n_blocks; b++) { wc 941 drivers/md/dm-writecache.c struct wc_entry *e = &wc->entries[b]; wc 943 drivers/md/dm-writecache.c if (writecache_has_error(wc)) { wc 948 drivers/md/dm-writecache.c r = memcpy_mcsafe(&wme, memory_entry(wc, e), sizeof(struct wc_memory_entry)); wc 950 drivers/md/dm-writecache.c writecache_error(wc, r, "hardware memory error when reading metadata entry %lu: %d", wc 961 drivers/md/dm-writecache.c for (b = 0; b < wc->n_blocks; b++) { wc 962 drivers/md/dm-writecache.c struct wc_entry *e = &wc->entries[b]; wc 963 drivers/md/dm-writecache.c if (!writecache_entry_is_committed(wc, e)) { wc 964 drivers/md/dm-writecache.c if (read_seq_count(wc, e) != -1) { wc 966 drivers/md/dm-writecache.c clear_seq_count(wc, e); wc 969 drivers/md/dm-writecache.c writecache_add_to_freelist(wc, e); wc 973 drivers/md/dm-writecache.c old = writecache_find_entry(wc, read_original_sector(wc, e), 0); wc 975 drivers/md/dm-writecache.c writecache_insert_entry(wc, e); wc 977 drivers/md/dm-writecache.c if (read_seq_count(wc, old) == read_seq_count(wc, e)) { wc 978 drivers/md/dm-writecache.c writecache_error(wc, -EINVAL, wc 980 drivers/md/dm-writecache.c (unsigned long long)b, (unsigned long long)read_original_sector(wc, e), wc 981 drivers/md/dm-writecache.c (unsigned long long)read_seq_count(wc, e)); wc 983 drivers/md/dm-writecache.c if (read_seq_count(wc, old) > read_seq_count(wc, e)) { wc 986 drivers/md/dm-writecache.c writecache_free_entry(wc, old); wc 987 drivers/md/dm-writecache.c writecache_insert_entry(wc, e); wc 996 drivers/md/dm-writecache.c writecache_flush_all_metadata(wc); wc 997 drivers/md/dm-writecache.c writecache_commit_flushed(wc, false); wc 1000 drivers/md/dm-writecache.c writecache_verify_watermark(wc); wc 1002 drivers/md/dm-writecache.c wc_unlock(wc); wc 1005 drivers/md/dm-writecache.c static int process_flush_mesg(unsigned argc, char **argv, struct dm_writecache *wc) wc 1010 drivers/md/dm-writecache.c wc_lock(wc); wc 1011 drivers/md/dm-writecache.c if (dm_suspended(wc->ti)) { wc 1012 drivers/md/dm-writecache.c wc_unlock(wc); wc 1015 drivers/md/dm-writecache.c if (writecache_has_error(wc)) { wc 1016 drivers/md/dm-writecache.c wc_unlock(wc); wc 1020 drivers/md/dm-writecache.c writecache_flush(wc); wc 1021 drivers/md/dm-writecache.c wc->writeback_all++; wc 1022 drivers/md/dm-writecache.c queue_work(wc->writeback_wq, &wc->writeback_work); wc 1023 drivers/md/dm-writecache.c wc_unlock(wc); wc 1025 drivers/md/dm-writecache.c flush_workqueue(wc->writeback_wq); wc 1027 drivers/md/dm-writecache.c wc_lock(wc); wc 1028 drivers/md/dm-writecache.c wc->writeback_all--; wc 1029 drivers/md/dm-writecache.c if (writecache_has_error(wc)) { wc 1030 drivers/md/dm-writecache.c wc_unlock(wc); wc 1033 drivers/md/dm-writecache.c wc_unlock(wc); wc 1038 drivers/md/dm-writecache.c static int process_flush_on_suspend_mesg(unsigned argc, char **argv, struct dm_writecache *wc) wc 1043 drivers/md/dm-writecache.c wc_lock(wc); wc 1044 drivers/md/dm-writecache.c wc->flush_on_suspend = true; wc 1045 drivers/md/dm-writecache.c wc_unlock(wc); wc 1054 drivers/md/dm-writecache.c struct dm_writecache *wc = ti->private; wc 1057 drivers/md/dm-writecache.c r = process_flush_mesg(argc, argv, wc); wc 1059 drivers/md/dm-writecache.c r = process_flush_on_suspend_mesg(argc, argv, wc); wc 1066 drivers/md/dm-writecache.c static void bio_copy_block(struct dm_writecache *wc, struct bio *bio, void *data) wc 1072 drivers/md/dm-writecache.c unsigned remaining_size = wc->block_size; wc 1086 drivers/md/dm-writecache.c writecache_error(wc, r, "hardware memory error when reading data: %d", r); wc 1104 drivers/md/dm-writecache.c struct dm_writecache *wc = data; wc 1109 drivers/md/dm-writecache.c wc_lock(wc); wc 1110 drivers/md/dm-writecache.c bio = bio_list_pop(&wc->flush_list); wc 1113 drivers/md/dm-writecache.c wc_unlock(wc); wc 1125 drivers/md/dm-writecache.c writecache_discard(wc, bio->bi_iter.bi_sector, wc 1127 drivers/md/dm-writecache.c wc_unlock(wc); wc 1128 drivers/md/dm-writecache.c bio_set_dev(bio, wc->dev->bdev); wc 1131 drivers/md/dm-writecache.c writecache_flush(wc); wc 1132 drivers/md/dm-writecache.c wc_unlock(wc); wc 1133 drivers/md/dm-writecache.c if (writecache_has_error(wc)) wc 1142 drivers/md/dm-writecache.c static void writecache_offload_bio(struct dm_writecache *wc, struct bio *bio) wc 1144 drivers/md/dm-writecache.c if (bio_list_empty(&wc->flush_list)) wc 1145 drivers/md/dm-writecache.c wake_up_process(wc->flush_thread); wc 1146 drivers/md/dm-writecache.c bio_list_add(&wc->flush_list, bio); wc 1152 drivers/md/dm-writecache.c struct dm_writecache *wc = ti->private; wc 1156 drivers/md/dm-writecache.c wc_lock(wc); wc 1159 drivers/md/dm-writecache.c if (writecache_has_error(wc)) wc 1161 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) { wc 1162 drivers/md/dm-writecache.c writecache_flush(wc); wc 1163 drivers/md/dm-writecache.c if (writecache_has_error(wc)) wc 1167 drivers/md/dm-writecache.c writecache_offload_bio(wc, bio); wc 1175 drivers/md/dm-writecache.c (wc->block_size / 512 - 1)) != 0)) { wc 1178 drivers/md/dm-writecache.c bio->bi_iter.bi_size, wc->block_size); wc 1183 drivers/md/dm-writecache.c if (writecache_has_error(wc)) wc 1185 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) { wc 1186 drivers/md/dm-writecache.c writecache_discard(wc, bio->bi_iter.bi_sector, bio_end_sector(bio)); wc 1189 drivers/md/dm-writecache.c writecache_offload_bio(wc, bio); wc 1196 drivers/md/dm-writecache.c e = writecache_find_entry(wc, bio->bi_iter.bi_sector, WFE_RETURN_FOLLOWING); wc 1197 drivers/md/dm-writecache.c if (e && read_original_sector(wc, e) == bio->bi_iter.bi_sector) { wc 1198 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) { wc 1199 drivers/md/dm-writecache.c bio_copy_block(wc, bio, memory_data(wc, e)); wc 1204 drivers/md/dm-writecache.c dm_accept_partial_bio(bio, wc->block_size >> SECTOR_SHIFT); wc 1205 drivers/md/dm-writecache.c bio_set_dev(bio, wc->ssd_dev->bdev); wc 1206 drivers/md/dm-writecache.c bio->bi_iter.bi_sector = cache_sector(wc, e); wc 1207 drivers/md/dm-writecache.c if (!writecache_entry_is_committed(wc, e)) wc 1208 drivers/md/dm-writecache.c writecache_wait_for_ios(wc, WRITE); wc 1214 drivers/md/dm-writecache.c read_original_sector(wc, e) - bio->bi_iter.bi_sector; wc 1223 drivers/md/dm-writecache.c if (writecache_has_error(wc)) wc 1225 drivers/md/dm-writecache.c e = writecache_find_entry(wc, bio->bi_iter.bi_sector, 0); wc 1227 drivers/md/dm-writecache.c if (!writecache_entry_is_committed(wc, e)) wc 1229 drivers/md/dm-writecache.c if (!WC_MODE_PMEM(wc) && !e->write_in_progress) { wc 1230 drivers/md/dm-writecache.c wc->overwrote_committed = true; wc 1234 drivers/md/dm-writecache.c e = writecache_pop_from_freelist(wc); wc 1236 drivers/md/dm-writecache.c writecache_wait_on_freelist(wc); wc 1239 drivers/md/dm-writecache.c write_original_sector_seq_count(wc, e, bio->bi_iter.bi_sector, wc->seq_count); wc 1240 drivers/md/dm-writecache.c writecache_insert_entry(wc, e); wc 1241 drivers/md/dm-writecache.c wc->uncommitted_blocks++; wc 1243 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) { wc 1244 drivers/md/dm-writecache.c bio_copy_block(wc, bio, memory_data(wc, e)); wc 1246 drivers/md/dm-writecache.c dm_accept_partial_bio(bio, wc->block_size >> SECTOR_SHIFT); wc 1247 drivers/md/dm-writecache.c bio_set_dev(bio, wc->ssd_dev->bdev); wc 1248 drivers/md/dm-writecache.c bio->bi_iter.bi_sector = cache_sector(wc, e); wc 1249 drivers/md/dm-writecache.c if (unlikely(wc->uncommitted_blocks >= wc->autocommit_blocks)) { wc 1250 drivers/md/dm-writecache.c wc->uncommitted_blocks = 0; wc 1251 drivers/md/dm-writecache.c queue_work(wc->writeback_wq, &wc->flush_work); wc 1253 drivers/md/dm-writecache.c writecache_schedule_autocommit(wc); wc 1260 drivers/md/dm-writecache.c wc->uncommitted_blocks >= wc->autocommit_blocks)) wc 1261 drivers/md/dm-writecache.c writecache_flush(wc); wc 1263 drivers/md/dm-writecache.c writecache_schedule_autocommit(wc); wc 1268 drivers/md/dm-writecache.c bio_set_dev(bio, wc->dev->bdev); wc 1269 drivers/md/dm-writecache.c wc_unlock(wc); wc 1275 drivers/md/dm-writecache.c atomic_inc(&wc->bio_in_progress[bio_data_dir(bio)]); wc 1276 drivers/md/dm-writecache.c wc_unlock(wc); wc 1280 drivers/md/dm-writecache.c wc_unlock(wc); wc 1285 drivers/md/dm-writecache.c wc_unlock(wc); wc 1289 drivers/md/dm-writecache.c wc_unlock(wc); wc 1296 drivers/md/dm-writecache.c struct dm_writecache *wc = ti->private; wc 1300 drivers/md/dm-writecache.c if (atomic_dec_and_test(&wc->bio_in_progress[dir])) wc 1301 drivers/md/dm-writecache.c if (unlikely(waitqueue_active(&wc->bio_in_progress_wait[dir]))) wc 1302 drivers/md/dm-writecache.c wake_up(&wc->bio_in_progress_wait[dir]); wc 1310 drivers/md/dm-writecache.c struct dm_writecache *wc = ti->private; wc 1312 drivers/md/dm-writecache.c return fn(ti, wc->dev, 0, ti->len, data); wc 1317 drivers/md/dm-writecache.c struct dm_writecache *wc = ti->private; wc 1319 drivers/md/dm-writecache.c if (limits->logical_block_size < wc->block_size) wc 1320 drivers/md/dm-writecache.c limits->logical_block_size = wc->block_size; wc 1322 drivers/md/dm-writecache.c if (limits->physical_block_size < wc->block_size) wc 1323 drivers/md/dm-writecache.c limits->physical_block_size = wc->block_size; wc 1325 drivers/md/dm-writecache.c if (limits->io_min < wc->block_size) wc 1326 drivers/md/dm-writecache.c limits->io_min = wc->block_size; wc 1333 drivers/md/dm-writecache.c struct dm_writecache *wc = wb->wc; wc 1336 drivers/md/dm-writecache.c raw_spin_lock_irqsave(&wc->endio_list_lock, flags); wc 1337 drivers/md/dm-writecache.c if (unlikely(list_empty(&wc->endio_list))) wc 1338 drivers/md/dm-writecache.c wake_up_process(wc->endio_thread); wc 1339 drivers/md/dm-writecache.c list_add_tail(&wb->endio_entry, &wc->endio_list); wc 1340 drivers/md/dm-writecache.c raw_spin_unlock_irqrestore(&wc->endio_list_lock, flags); wc 1346 drivers/md/dm-writecache.c struct dm_writecache *wc = c->wc; wc 1350 drivers/md/dm-writecache.c raw_spin_lock_irq(&wc->endio_list_lock); wc 1351 drivers/md/dm-writecache.c if (unlikely(list_empty(&wc->endio_list))) wc 1352 drivers/md/dm-writecache.c wake_up_process(wc->endio_thread); wc 1353 drivers/md/dm-writecache.c list_add_tail(&c->endio_entry, &wc->endio_list); wc 1354 drivers/md/dm-writecache.c raw_spin_unlock_irq(&wc->endio_list_lock); wc 1357 drivers/md/dm-writecache.c static void __writecache_endio_pmem(struct dm_writecache *wc, struct list_head *list) wc 1369 drivers/md/dm-writecache.c writecache_error(wc, blk_status_to_errno(wb->bio.bi_status), wc 1377 drivers/md/dm-writecache.c if (!writecache_has_error(wc)) wc 1378 drivers/md/dm-writecache.c writecache_free_entry(wc, e); wc 1379 drivers/md/dm-writecache.c BUG_ON(!wc->writeback_size); wc 1380 drivers/md/dm-writecache.c wc->writeback_size--; wc 1383 drivers/md/dm-writecache.c writecache_commit_flushed(wc, false); wc 1384 drivers/md/dm-writecache.c wc_unlock(wc); wc 1385 drivers/md/dm-writecache.c wc_lock(wc); wc 1396 drivers/md/dm-writecache.c static void __writecache_endio_ssd(struct dm_writecache *wc, struct list_head *list) wc 1406 drivers/md/dm-writecache.c writecache_error(wc, c->error, "copy error"); wc 1413 drivers/md/dm-writecache.c if (!writecache_has_error(wc)) wc 1414 drivers/md/dm-writecache.c writecache_free_entry(wc, e); wc 1416 drivers/md/dm-writecache.c BUG_ON(!wc->writeback_size); wc 1417 drivers/md/dm-writecache.c wc->writeback_size--; wc 1420 drivers/md/dm-writecache.c mempool_free(c, &wc->copy_pool); wc 1426 drivers/md/dm-writecache.c struct dm_writecache *wc = data; wc 1431 drivers/md/dm-writecache.c raw_spin_lock_irq(&wc->endio_list_lock); wc 1432 drivers/md/dm-writecache.c if (!list_empty(&wc->endio_list)) wc 1435 drivers/md/dm-writecache.c raw_spin_unlock_irq(&wc->endio_list_lock); wc 1447 drivers/md/dm-writecache.c list = wc->endio_list; wc 1449 drivers/md/dm-writecache.c INIT_LIST_HEAD(&wc->endio_list); wc 1450 drivers/md/dm-writecache.c raw_spin_unlock_irq(&wc->endio_list_lock); wc 1452 drivers/md/dm-writecache.c if (!WC_MODE_FUA(wc)) wc 1453 drivers/md/dm-writecache.c writecache_disk_flush(wc, wc->dev); wc 1455 drivers/md/dm-writecache.c wc_lock(wc); wc 1457 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) { wc 1458 drivers/md/dm-writecache.c __writecache_endio_pmem(wc, &list); wc 1460 drivers/md/dm-writecache.c __writecache_endio_ssd(wc, &list); wc 1461 drivers/md/dm-writecache.c writecache_wait_for_ios(wc, READ); wc 1464 drivers/md/dm-writecache.c writecache_commit_flushed(wc, false); wc 1466 drivers/md/dm-writecache.c wc_unlock(wc); wc 1474 drivers/md/dm-writecache.c struct dm_writecache *wc = wb->wc; wc 1475 drivers/md/dm-writecache.c unsigned block_size = wc->block_size; wc 1476 drivers/md/dm-writecache.c void *address = memory_data(wc, e); wc 1488 drivers/md/dm-writecache.c static void __writeback_throttle(struct dm_writecache *wc, struct writeback_list *wbl) wc 1490 drivers/md/dm-writecache.c if (unlikely(wc->max_writeback_jobs)) { wc 1491 drivers/md/dm-writecache.c if (READ_ONCE(wc->writeback_size) - wbl->size >= wc->max_writeback_jobs) { wc 1492 drivers/md/dm-writecache.c wc_lock(wc); wc 1493 drivers/md/dm-writecache.c while (wc->writeback_size - wbl->size >= wc->max_writeback_jobs) wc 1494 drivers/md/dm-writecache.c writecache_wait_on_freelist(wc); wc 1495 drivers/md/dm-writecache.c wc_unlock(wc); wc 1501 drivers/md/dm-writecache.c static void __writecache_writeback_pmem(struct dm_writecache *wc, struct writeback_list *wbl) wc 1515 drivers/md/dm-writecache.c bio = bio_alloc_bioset(GFP_NOIO, max_pages, &wc->bio_set); wc 1517 drivers/md/dm-writecache.c wb->wc = wc; wc 1519 drivers/md/dm-writecache.c bio_set_dev(bio, wc->dev->bdev); wc 1520 drivers/md/dm-writecache.c bio->bi_iter.bi_sector = read_original_sector(wc, e); wc 1536 drivers/md/dm-writecache.c if (read_original_sector(wc, f) != wc 1537 drivers/md/dm-writecache.c read_original_sector(wc, e) + (wc->block_size >> SECTOR_SHIFT)) wc 1546 drivers/md/dm-writecache.c bio_set_op_attrs(bio, REQ_OP_WRITE, WC_MODE_FUA(wc) * REQ_FUA); wc 1547 drivers/md/dm-writecache.c if (writecache_has_error(wc)) { wc 1554 drivers/md/dm-writecache.c __writeback_throttle(wc, wbl); wc 1558 drivers/md/dm-writecache.c static void __writecache_writeback_ssd(struct dm_writecache *wc, struct writeback_list *wbl) wc 1571 drivers/md/dm-writecache.c n_sectors = e->wc_list_contiguous << (wc->block_size_bits - SECTOR_SHIFT); wc 1573 drivers/md/dm-writecache.c from.bdev = wc->ssd_dev->bdev; wc 1574 drivers/md/dm-writecache.c from.sector = cache_sector(wc, e); wc 1576 drivers/md/dm-writecache.c to.bdev = wc->dev->bdev; wc 1577 drivers/md/dm-writecache.c to.sector = read_original_sector(wc, e); wc 1580 drivers/md/dm-writecache.c c = mempool_alloc(&wc->copy_pool, GFP_NOIO); wc 1581 drivers/md/dm-writecache.c c->wc = wc; wc 1585 drivers/md/dm-writecache.c while ((n_sectors -= wc->block_size >> SECTOR_SHIFT)) { wc 1593 drivers/md/dm-writecache.c dm_kcopyd_copy(wc->dm_kcopyd, &from, 1, &to, 0, writecache_copy_endio, c); wc 1595 drivers/md/dm-writecache.c __writeback_throttle(wc, wbl); wc 1601 drivers/md/dm-writecache.c struct dm_writecache *wc = container_of(work, struct dm_writecache, writeback_work); wc 1609 drivers/md/dm-writecache.c wc_lock(wc); wc 1611 drivers/md/dm-writecache.c if (writecache_has_error(wc)) { wc 1612 drivers/md/dm-writecache.c wc_unlock(wc); wc 1616 drivers/md/dm-writecache.c if (unlikely(wc->writeback_all)) { wc 1617 drivers/md/dm-writecache.c if (writecache_wait_for_writeback(wc)) wc 1621 drivers/md/dm-writecache.c if (wc->overwrote_committed) { wc 1622 drivers/md/dm-writecache.c writecache_wait_for_ios(wc, WRITE); wc 1629 drivers/md/dm-writecache.c while (!list_empty(&wc->lru) && wc 1630 drivers/md/dm-writecache.c (wc->writeback_all || wc 1631 drivers/md/dm-writecache.c wc->freelist_size + wc->writeback_size <= wc->freelist_low_watermark)) { wc 1635 drivers/md/dm-writecache.c likely(!wc->writeback_all) && likely(!dm_suspended(wc->ti))) { wc 1636 drivers/md/dm-writecache.c queue_work(wc->writeback_wq, &wc->writeback_work); wc 1640 drivers/md/dm-writecache.c if (unlikely(wc->writeback_all)) { wc 1642 drivers/md/dm-writecache.c writecache_flush(wc); wc 1643 drivers/md/dm-writecache.c e = container_of(rb_first(&wc->tree), struct wc_entry, rb_node); wc 1647 drivers/md/dm-writecache.c e = container_of(wc->lru.prev, struct wc_entry, lru); wc 1649 drivers/md/dm-writecache.c if (unlikely(!writecache_entry_is_committed(wc, e))) { wc 1650 drivers/md/dm-writecache.c writecache_flush(wc); wc 1655 drivers/md/dm-writecache.c if (unlikely(read_original_sector(wc, f) == wc 1656 drivers/md/dm-writecache.c read_original_sector(wc, e))) { wc 1664 drivers/md/dm-writecache.c wc->writeback_size++; wc 1678 drivers/md/dm-writecache.c if (unlikely(read_original_sector(wc, g) == wc 1679 drivers/md/dm-writecache.c read_original_sector(wc, f))) { wc 1683 drivers/md/dm-writecache.c if (read_original_sector(wc, g) != wc 1684 drivers/md/dm-writecache.c read_original_sector(wc, f) + (wc->block_size >> SECTOR_SHIFT)) wc 1688 drivers/md/dm-writecache.c if (unlikely(!writecache_entry_is_committed(wc, g))) wc 1691 drivers/md/dm-writecache.c if (!WC_MODE_PMEM(wc)) { wc 1700 drivers/md/dm-writecache.c wc->writeback_size++; wc 1709 drivers/md/dm-writecache.c if (unlikely(wc->writeback_all)) { wc 1721 drivers/md/dm-writecache.c list_splice_tail(&skipped, &wc->lru); wc 1727 drivers/md/dm-writecache.c writecache_wait_for_writeback(wc); wc 1730 drivers/md/dm-writecache.c wc_unlock(wc); wc 1734 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) wc 1735 drivers/md/dm-writecache.c __writecache_writeback_pmem(wc, &wbl); wc 1737 drivers/md/dm-writecache.c __writecache_writeback_ssd(wc, &wbl); wc 1741 drivers/md/dm-writecache.c if (unlikely(wc->writeback_all)) { wc 1742 drivers/md/dm-writecache.c wc_lock(wc); wc 1743 drivers/md/dm-writecache.c while (writecache_wait_for_writeback(wc)); wc 1744 drivers/md/dm-writecache.c wc_unlock(wc); wc 1783 drivers/md/dm-writecache.c static int init_memory(struct dm_writecache *wc) wc 1788 drivers/md/dm-writecache.c r = calculate_memory_size(wc->memory_map_size, wc->block_size, &wc->n_blocks, NULL); wc 1792 drivers/md/dm-writecache.c r = writecache_alloc_entries(wc); wc 1796 drivers/md/dm-writecache.c for (b = 0; b < ARRAY_SIZE(sb(wc)->padding); b++) wc 1797 drivers/md/dm-writecache.c pmem_assign(sb(wc)->padding[b], cpu_to_le64(0)); wc 1798 drivers/md/dm-writecache.c pmem_assign(sb(wc)->version, cpu_to_le32(MEMORY_SUPERBLOCK_VERSION)); wc 1799 drivers/md/dm-writecache.c pmem_assign(sb(wc)->block_size, cpu_to_le32(wc->block_size)); wc 1800 drivers/md/dm-writecache.c pmem_assign(sb(wc)->n_blocks, cpu_to_le64(wc->n_blocks)); wc 1801 drivers/md/dm-writecache.c pmem_assign(sb(wc)->seq_count, cpu_to_le64(0)); wc 1803 drivers/md/dm-writecache.c for (b = 0; b < wc->n_blocks; b++) { wc 1804 drivers/md/dm-writecache.c write_original_sector_seq_count(wc, &wc->entries[b], -1, -1); wc 1808 drivers/md/dm-writecache.c writecache_flush_all_metadata(wc); wc 1809 drivers/md/dm-writecache.c writecache_commit_flushed(wc, false); wc 1810 drivers/md/dm-writecache.c pmem_assign(sb(wc)->magic, cpu_to_le32(MEMORY_SUPERBLOCK_MAGIC)); wc 1811 drivers/md/dm-writecache.c writecache_flush_region(wc, &sb(wc)->magic, sizeof sb(wc)->magic); wc 1812 drivers/md/dm-writecache.c writecache_commit_flushed(wc, false); wc 1819 drivers/md/dm-writecache.c struct dm_writecache *wc = ti->private; wc 1821 drivers/md/dm-writecache.c if (!wc) wc 1824 drivers/md/dm-writecache.c if (wc->endio_thread) wc 1825 drivers/md/dm-writecache.c kthread_stop(wc->endio_thread); wc 1827 drivers/md/dm-writecache.c if (wc->flush_thread) wc 1828 drivers/md/dm-writecache.c kthread_stop(wc->flush_thread); wc 1830 drivers/md/dm-writecache.c bioset_exit(&wc->bio_set); wc 1832 drivers/md/dm-writecache.c mempool_exit(&wc->copy_pool); wc 1834 drivers/md/dm-writecache.c if (wc->writeback_wq) wc 1835 drivers/md/dm-writecache.c destroy_workqueue(wc->writeback_wq); wc 1837 drivers/md/dm-writecache.c if (wc->dev) wc 1838 drivers/md/dm-writecache.c dm_put_device(ti, wc->dev); wc 1840 drivers/md/dm-writecache.c if (wc->ssd_dev) wc 1841 drivers/md/dm-writecache.c dm_put_device(ti, wc->ssd_dev); wc 1843 drivers/md/dm-writecache.c if (wc->entries) wc 1844 drivers/md/dm-writecache.c vfree(wc->entries); wc 1846 drivers/md/dm-writecache.c if (wc->memory_map) { wc 1847 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) wc 1848 drivers/md/dm-writecache.c persistent_memory_release(wc); wc 1850 drivers/md/dm-writecache.c vfree(wc->memory_map); wc 1853 drivers/md/dm-writecache.c if (wc->dm_kcopyd) wc 1854 drivers/md/dm-writecache.c dm_kcopyd_client_destroy(wc->dm_kcopyd); wc 1856 drivers/md/dm-writecache.c if (wc->dm_io) wc 1857 drivers/md/dm-writecache.c dm_io_client_destroy(wc->dm_io); wc 1859 drivers/md/dm-writecache.c if (wc->dirty_bitmap) wc 1860 drivers/md/dm-writecache.c vfree(wc->dirty_bitmap); wc 1862 drivers/md/dm-writecache.c kfree(wc); wc 1867 drivers/md/dm-writecache.c struct dm_writecache *wc; wc 1886 drivers/md/dm-writecache.c wc = kzalloc(sizeof(struct dm_writecache), GFP_KERNEL); wc 1887 drivers/md/dm-writecache.c if (!wc) { wc 1892 drivers/md/dm-writecache.c ti->private = wc; wc 1893 drivers/md/dm-writecache.c wc->ti = ti; wc 1895 drivers/md/dm-writecache.c mutex_init(&wc->lock); wc 1896 drivers/md/dm-writecache.c writecache_poison_lists(wc); wc 1897 drivers/md/dm-writecache.c init_waitqueue_head(&wc->freelist_wait); wc 1898 drivers/md/dm-writecache.c timer_setup(&wc->autocommit_timer, writecache_autocommit_timer, 0); wc 1901 drivers/md/dm-writecache.c atomic_set(&wc->bio_in_progress[i], 0); wc 1902 drivers/md/dm-writecache.c init_waitqueue_head(&wc->bio_in_progress_wait[i]); wc 1905 drivers/md/dm-writecache.c wc->dm_io = dm_io_client_create(); wc 1906 drivers/md/dm-writecache.c if (IS_ERR(wc->dm_io)) { wc 1907 drivers/md/dm-writecache.c r = PTR_ERR(wc->dm_io); wc 1909 drivers/md/dm-writecache.c wc->dm_io = NULL; wc 1913 drivers/md/dm-writecache.c wc->writeback_wq = alloc_workqueue("writecache-writeback", WQ_MEM_RECLAIM, 1); wc 1914 drivers/md/dm-writecache.c if (!wc->writeback_wq) { wc 1919 drivers/md/dm-writecache.c INIT_WORK(&wc->writeback_work, writecache_writeback); wc 1920 drivers/md/dm-writecache.c INIT_WORK(&wc->flush_work, writecache_flush_work); wc 1922 drivers/md/dm-writecache.c raw_spin_lock_init(&wc->endio_list_lock); wc 1923 drivers/md/dm-writecache.c INIT_LIST_HEAD(&wc->endio_list); wc 1924 drivers/md/dm-writecache.c wc->endio_thread = kthread_create(writecache_endio_thread, wc, "writecache_endio"); wc 1925 drivers/md/dm-writecache.c if (IS_ERR(wc->endio_thread)) { wc 1926 drivers/md/dm-writecache.c r = PTR_ERR(wc->endio_thread); wc 1927 drivers/md/dm-writecache.c wc->endio_thread = NULL; wc 1931 drivers/md/dm-writecache.c wake_up_process(wc->endio_thread); wc 1941 drivers/md/dm-writecache.c wc->pmem_mode = false; wc 1944 drivers/md/dm-writecache.c wc->pmem_mode = true; wc 1945 drivers/md/dm-writecache.c wc->writeback_fua = true; wc 1960 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) { wc 1961 drivers/md/dm-writecache.c r = bioset_init(&wc->bio_set, BIO_POOL_SIZE, wc 1969 drivers/md/dm-writecache.c r = mempool_init_kmalloc_pool(&wc->copy_pool, 1, sizeof(struct copy_struct)); wc 1982 drivers/md/dm-writecache.c r = dm_get_device(ti, string, dm_table_get_mode(ti->table), &wc->dev); wc 1995 drivers/md/dm-writecache.c r = dm_get_device(ti, string, dm_table_get_mode(ti->table), &wc->ssd_dev); wc 2000 drivers/md/dm-writecache.c wc->memory_map_size = i_size_read(wc->ssd_dev->bdev->bd_inode); wc 2008 drivers/md/dm-writecache.c if (sscanf(string, "%u%c", &wc->block_size, &dummy) != 1 || wc 2009 drivers/md/dm-writecache.c wc->block_size < 512 || wc->block_size > PAGE_SIZE || wc 2010 drivers/md/dm-writecache.c (wc->block_size & (wc->block_size - 1))) { wc 2015 drivers/md/dm-writecache.c if (wc->block_size < bdev_logical_block_size(wc->dev->bdev) || wc 2016 drivers/md/dm-writecache.c wc->block_size < bdev_logical_block_size(wc->ssd_dev->bdev)) { wc 2021 drivers/md/dm-writecache.c wc->block_size_bits = __ffs(wc->block_size); wc 2023 drivers/md/dm-writecache.c wc->max_writeback_jobs = MAX_WRITEBACK_JOBS; wc 2024 drivers/md/dm-writecache.c wc->autocommit_blocks = !WC_MODE_PMEM(wc) ? AUTOCOMMIT_BLOCKS_SSD : AUTOCOMMIT_BLOCKS_PMEM; wc 2025 drivers/md/dm-writecache.c wc->autocommit_jiffies = msecs_to_jiffies(AUTOCOMMIT_MSEC); wc 2041 drivers/md/dm-writecache.c wc->start_sector = start_sector; wc 2042 drivers/md/dm-writecache.c if (wc->start_sector != start_sector || wc 2043 drivers/md/dm-writecache.c wc->start_sector >= wc->memory_map_size >> SECTOR_SHIFT) wc 2051 drivers/md/dm-writecache.c wc->high_wm_percent_set = true; wc 2058 drivers/md/dm-writecache.c wc->low_wm_percent_set = true; wc 2061 drivers/md/dm-writecache.c if (sscanf(string, "%u%c", &wc->max_writeback_jobs, &dummy) != 1) wc 2063 drivers/md/dm-writecache.c wc->max_writeback_jobs_set = true; wc 2066 drivers/md/dm-writecache.c if (sscanf(string, "%u%c", &wc->autocommit_blocks, &dummy) != 1) wc 2068 drivers/md/dm-writecache.c wc->autocommit_blocks_set = true; wc 2076 drivers/md/dm-writecache.c wc->autocommit_jiffies = msecs_to_jiffies(autocommit_msecs); wc 2077 drivers/md/dm-writecache.c wc->autocommit_time_set = true; wc 2079 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) { wc 2080 drivers/md/dm-writecache.c wc->writeback_fua = true; wc 2081 drivers/md/dm-writecache.c wc->writeback_fua_set = true; wc 2084 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) { wc 2085 drivers/md/dm-writecache.c wc->writeback_fua = false; wc 2086 drivers/md/dm-writecache.c wc->writeback_fua_set = true; wc 2102 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) { wc 2103 drivers/md/dm-writecache.c r = persistent_memory_claim(wc); wc 2112 drivers/md/dm-writecache.c wc->memory_map_size -= (uint64_t)wc->start_sector << SECTOR_SHIFT; wc 2114 drivers/md/dm-writecache.c bio_list_init(&wc->flush_list); wc 2115 drivers/md/dm-writecache.c wc->flush_thread = kthread_create(writecache_flush_thread, wc, "dm_writecache_flush"); wc 2116 drivers/md/dm-writecache.c if (IS_ERR(wc->flush_thread)) { wc 2117 drivers/md/dm-writecache.c r = PTR_ERR(wc->flush_thread); wc 2118 drivers/md/dm-writecache.c wc->flush_thread = NULL; wc 2122 drivers/md/dm-writecache.c wake_up_process(wc->flush_thread); wc 2124 drivers/md/dm-writecache.c r = calculate_memory_size(wc->memory_map_size, wc->block_size, wc 2131 drivers/md/dm-writecache.c n_bitmap_bits = (((uint64_t)n_metadata_blocks << wc->block_size_bits) + wc 2140 drivers/md/dm-writecache.c wc->memory_map = vmalloc(n_metadata_blocks << wc->block_size_bits); wc 2141 drivers/md/dm-writecache.c if (!wc->memory_map) { wc 2147 drivers/md/dm-writecache.c wc->dm_kcopyd = dm_kcopyd_client_create(&dm_kcopyd_throttle); wc 2148 drivers/md/dm-writecache.c if (IS_ERR(wc->dm_kcopyd)) { wc 2149 drivers/md/dm-writecache.c r = PTR_ERR(wc->dm_kcopyd); wc 2151 drivers/md/dm-writecache.c wc->dm_kcopyd = NULL; wc 2155 drivers/md/dm-writecache.c wc->metadata_sectors = n_metadata_blocks << (wc->block_size_bits - SECTOR_SHIFT); wc 2156 drivers/md/dm-writecache.c wc->dirty_bitmap_size = (n_bitmap_bits + BITS_PER_LONG - 1) / wc 2158 drivers/md/dm-writecache.c wc->dirty_bitmap = vzalloc(wc->dirty_bitmap_size); wc 2159 drivers/md/dm-writecache.c if (!wc->dirty_bitmap) { wc 2165 drivers/md/dm-writecache.c r = writecache_read_metadata(wc, wc->block_size >> SECTOR_SHIFT); wc 2172 drivers/md/dm-writecache.c r = memcpy_mcsafe(&s, sb(wc), sizeof(struct wc_memory_superblock)); wc 2178 drivers/md/dm-writecache.c r = init_memory(wc); wc 2183 drivers/md/dm-writecache.c r = memcpy_mcsafe(&s, sb(wc), sizeof(struct wc_memory_superblock)); wc 2202 drivers/md/dm-writecache.c if (le32_to_cpu(s.block_size) != wc->block_size) { wc 2208 drivers/md/dm-writecache.c wc->n_blocks = le64_to_cpu(s.n_blocks); wc 2210 drivers/md/dm-writecache.c offset = wc->n_blocks * sizeof(struct wc_memory_entry); wc 2211 drivers/md/dm-writecache.c if (offset / sizeof(struct wc_memory_entry) != le64_to_cpu(sb(wc)->n_blocks)) { wc 2220 drivers/md/dm-writecache.c offset = (offset + wc->block_size - 1) & ~(size_t)(wc->block_size - 1); wc 2221 drivers/md/dm-writecache.c data_size = wc->n_blocks * (size_t)wc->block_size; wc 2222 drivers/md/dm-writecache.c if (!offset || (data_size / wc->block_size != wc->n_blocks) || wc 2225 drivers/md/dm-writecache.c if (offset + data_size > wc->memory_map_size) { wc 2231 drivers/md/dm-writecache.c wc->metadata_sectors = offset >> SECTOR_SHIFT; wc 2232 drivers/md/dm-writecache.c wc->block_start = (char *)sb(wc) + offset; wc 2234 drivers/md/dm-writecache.c x = (uint64_t)wc->n_blocks * (100 - high_wm_percent); wc 2237 drivers/md/dm-writecache.c wc->freelist_high_watermark = x; wc 2238 drivers/md/dm-writecache.c x = (uint64_t)wc->n_blocks * (100 - low_wm_percent); wc 2241 drivers/md/dm-writecache.c wc->freelist_low_watermark = x; wc 2243 drivers/md/dm-writecache.c r = writecache_alloc_entries(wc); wc 2253 drivers/md/dm-writecache.c if (WC_MODE_PMEM(wc)) wc 2254 drivers/md/dm-writecache.c persistent_memory_flush_cache(wc->memory_map, wc->memory_map_size); wc 2269 drivers/md/dm-writecache.c struct dm_writecache *wc = ti->private; wc 2276 drivers/md/dm-writecache.c DMEMIT("%ld %llu %llu %llu", writecache_has_error(wc), wc 2277 drivers/md/dm-writecache.c (unsigned long long)wc->n_blocks, (unsigned long long)wc->freelist_size, wc 2278 drivers/md/dm-writecache.c (unsigned long long)wc->writeback_size); wc 2281 drivers/md/dm-writecache.c DMEMIT("%c %s %s %u ", WC_MODE_PMEM(wc) ? 'p' : 's', wc 2282 drivers/md/dm-writecache.c wc->dev->name, wc->ssd_dev->name, wc->block_size); wc 2284 drivers/md/dm-writecache.c if (wc->start_sector) wc 2286 drivers/md/dm-writecache.c if (wc->high_wm_percent_set) wc 2288 drivers/md/dm-writecache.c if (wc->low_wm_percent_set) wc 2290 drivers/md/dm-writecache.c if (wc->max_writeback_jobs_set) wc 2292 drivers/md/dm-writecache.c if (wc->autocommit_blocks_set) wc 2294 drivers/md/dm-writecache.c if (wc->autocommit_time_set) wc 2296 drivers/md/dm-writecache.c if (wc->writeback_fua_set) wc 2300 drivers/md/dm-writecache.c if (wc->start_sector) wc 2301 drivers/md/dm-writecache.c DMEMIT(" start_sector %llu", (unsigned long long)wc->start_sector); wc 2302 drivers/md/dm-writecache.c if (wc->high_wm_percent_set) { wc 2303 drivers/md/dm-writecache.c x = (uint64_t)wc->freelist_high_watermark * 100; wc 2304 drivers/md/dm-writecache.c x += wc->n_blocks / 2; wc 2305 drivers/md/dm-writecache.c do_div(x, (size_t)wc->n_blocks); wc 2308 drivers/md/dm-writecache.c if (wc->low_wm_percent_set) { wc 2309 drivers/md/dm-writecache.c x = (uint64_t)wc->freelist_low_watermark * 100; wc 2310 drivers/md/dm-writecache.c x += wc->n_blocks / 2; wc 2311 drivers/md/dm-writecache.c do_div(x, (size_t)wc->n_blocks); wc 2314 drivers/md/dm-writecache.c if (wc->max_writeback_jobs_set) wc 2315 drivers/md/dm-writecache.c DMEMIT(" writeback_jobs %u", wc->max_writeback_jobs); wc 2316 drivers/md/dm-writecache.c if (wc->autocommit_blocks_set) wc 2317 drivers/md/dm-writecache.c DMEMIT(" autocommit_blocks %u", wc->autocommit_blocks); wc 2318 drivers/md/dm-writecache.c if (wc->autocommit_time_set) wc 2319 drivers/md/dm-writecache.c DMEMIT(" autocommit_time %u", jiffies_to_msecs(wc->autocommit_jiffies)); wc 2320 drivers/md/dm-writecache.c if (wc->writeback_fua_set) wc 2321 drivers/md/dm-writecache.c DMEMIT(" %sfua", wc->writeback_fua ? "" : "no"); wc 73 drivers/net/ethernet/brocade/bna/bfa_cs.h bfa_wc_up(struct bfa_wc *wc) wc 75 drivers/net/ethernet/brocade/bna/bfa_cs.h wc->wc_count++; wc 79 drivers/net/ethernet/brocade/bna/bfa_cs.h bfa_wc_down(struct bfa_wc *wc) wc 81 drivers/net/ethernet/brocade/bna/bfa_cs.h wc->wc_count--; wc 82 drivers/net/ethernet/brocade/bna/bfa_cs.h if (wc->wc_count == 0) wc 83 drivers/net/ethernet/brocade/bna/bfa_cs.h wc->wc_resume(wc->wc_cbarg); wc 88 drivers/net/ethernet/brocade/bna/bfa_cs.h bfa_wc_init(struct bfa_wc *wc, bfa_wc_resume_t wc_resume, void *wc_cbarg) wc 90 drivers/net/ethernet/brocade/bna/bfa_cs.h wc->wc_resume = wc_resume; wc 91 drivers/net/ethernet/brocade/bna/bfa_cs.h wc->wc_cbarg = wc_cbarg; wc 92 drivers/net/ethernet/brocade/bna/bfa_cs.h wc->wc_count = 0; wc 93 drivers/net/ethernet/brocade/bna/bfa_cs.h bfa_wc_up(wc); wc 98 drivers/net/ethernet/brocade/bna/bfa_cs.h bfa_wc_wait(struct bfa_wc *wc) wc 100 drivers/net/ethernet/brocade/bna/bfa_cs.h bfa_wc_down(wc); wc 1025 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct ib_wc wc[MAX_SEND_CQE]; wc 252 drivers/net/ethernet/mellanox/mlx5/core/uar.c bfreg->wc = map_wc; wc 303 drivers/net/ethernet/mellanox/mlx5/core/uar.c if (bfreg->wc) { wc 108 drivers/net/wireless/intersil/hostap/hostap_cs.c u8 *buf, int wc) wc 117 drivers/net/wireless/intersil/hostap/hostap_cs.c prism2_io_debug_add(dev, PRISM2_IO_DEBUG_CMD_OUTSW, a, wc); wc 118 drivers/net/wireless/intersil/hostap/hostap_cs.c outsw(dev->base_addr + a, buf, wc); wc 123 drivers/net/wireless/intersil/hostap/hostap_cs.c u8 *buf, int wc) wc 132 drivers/net/wireless/intersil/hostap/hostap_cs.c prism2_io_debug_add(dev, PRISM2_IO_DEBUG_CMD_INSW, a, wc); wc 133 drivers/net/wireless/intersil/hostap/hostap_cs.c insw(dev->base_addr + a, buf, wc); wc 141 drivers/net/wireless/intersil/hostap/hostap_cs.c #define HFA384X_OUTSW(a, buf, wc) hfa384x_outsw_debug(dev, (a), (buf), (wc)) wc 142 drivers/net/wireless/intersil/hostap/hostap_cs.c #define HFA384X_INSW(a, buf, wc) hfa384x_insw_debug(dev, (a), (buf), (wc)) wc 150 drivers/net/wireless/intersil/hostap/hostap_cs.c #define HFA384X_INSW(a, buf, wc) insw(dev->base_addr + (a), buf, wc) wc 151 drivers/net/wireless/intersil/hostap/hostap_cs.c #define HFA384X_OUTSW(a, buf, wc) outsw(dev->base_addr + (a), buf, wc) wc 174 drivers/net/wireless/intersil/hostap/hostap_plx.c u8 *buf, int wc) wc 184 drivers/net/wireless/intersil/hostap/hostap_plx.c prism2_io_debug_add(dev, PRISM2_IO_DEBUG_CMD_OUTSW, a, wc); wc 185 drivers/net/wireless/intersil/hostap/hostap_plx.c outsw(dev->base_addr + a, buf, wc); wc 190 drivers/net/wireless/intersil/hostap/hostap_plx.c u8 *buf, int wc) wc 200 drivers/net/wireless/intersil/hostap/hostap_plx.c prism2_io_debug_add(dev, PRISM2_IO_DEBUG_CMD_INSW, a, wc); wc 201 drivers/net/wireless/intersil/hostap/hostap_plx.c insw(dev->base_addr + a, buf, wc); wc 209 drivers/net/wireless/intersil/hostap/hostap_plx.c #define HFA384X_OUTSW(a, buf, wc) hfa384x_outsw_debug(dev, (a), (buf), (wc)) wc 210 drivers/net/wireless/intersil/hostap/hostap_plx.c #define HFA384X_INSW(a, buf, wc) hfa384x_insw_debug(dev, (a), (buf), (wc)) wc 218 drivers/net/wireless/intersil/hostap/hostap_plx.c #define HFA384X_INSW(a, buf, wc) insw(dev->base_addr + (a), buf, wc) wc 219 drivers/net/wireless/intersil/hostap/hostap_plx.c #define HFA384X_OUTSW(a, buf, wc) outsw(dev->base_addr + (a), buf, wc) wc 140 drivers/nvme/host/rdma.c static void nvme_rdma_recv_done(struct ib_cq *cq, struct ib_wc *wc); wc 1096 drivers/nvme/host/rdma.c static void nvme_rdma_wr_error(struct ib_cq *cq, struct ib_wc *wc, wc 1105 drivers/nvme/host/rdma.c op, wc->wr_cqe, wc 1106 drivers/nvme/host/rdma.c ib_wc_status_msg(wc->status), wc->status); wc 1110 drivers/nvme/host/rdma.c static void nvme_rdma_memreg_done(struct ib_cq *cq, struct ib_wc *wc) wc 1112 drivers/nvme/host/rdma.c if (unlikely(wc->status != IB_WC_SUCCESS)) wc 1113 drivers/nvme/host/rdma.c nvme_rdma_wr_error(cq, wc, "MEMREG"); wc 1116 drivers/nvme/host/rdma.c static void nvme_rdma_inv_rkey_done(struct ib_cq *cq, struct ib_wc *wc) wc 1119 drivers/nvme/host/rdma.c container_of(wc->wr_cqe, struct nvme_rdma_request, reg_cqe); wc 1122 drivers/nvme/host/rdma.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 1123 drivers/nvme/host/rdma.c nvme_rdma_wr_error(cq, wc, "LOCAL_INV"); wc 1325 drivers/nvme/host/rdma.c static void nvme_rdma_send_done(struct ib_cq *cq, struct ib_wc *wc) wc 1328 drivers/nvme/host/rdma.c container_of(wc->wr_cqe, struct nvme_rdma_qe, cqe); wc 1333 drivers/nvme/host/rdma.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 1334 drivers/nvme/host/rdma.c nvme_rdma_wr_error(cq, wc, "SEND"); wc 1408 drivers/nvme/host/rdma.c static void nvme_rdma_async_done(struct ib_cq *cq, struct ib_wc *wc) wc 1410 drivers/nvme/host/rdma.c if (unlikely(wc->status != IB_WC_SUCCESS)) wc 1411 drivers/nvme/host/rdma.c nvme_rdma_wr_error(cq, wc, "ASYNC"); wc 1442 drivers/nvme/host/rdma.c struct nvme_completion *cqe, struct ib_wc *wc) wc 1460 drivers/nvme/host/rdma.c if (wc->wc_flags & IB_WC_WITH_INVALIDATE) { wc 1461 drivers/nvme/host/rdma.c if (unlikely(wc->ex.invalidate_rkey != req->mr->rkey)) { wc 1485 drivers/nvme/host/rdma.c static void nvme_rdma_recv_done(struct ib_cq *cq, struct ib_wc *wc) wc 1488 drivers/nvme/host/rdma.c container_of(wc->wr_cqe, struct nvme_rdma_qe, cqe); wc 1494 drivers/nvme/host/rdma.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 1495 drivers/nvme/host/rdma.c nvme_rdma_wr_error(cq, wc, "RECV"); wc 1511 drivers/nvme/host/rdma.c nvme_rdma_process_nvme_rsp(queue, cqe, wc); wc 129 drivers/nvme/target/rdma.c static void nvmet_rdma_send_done(struct ib_cq *cq, struct ib_wc *wc); wc 130 drivers/nvme/target/rdma.c static void nvmet_rdma_recv_done(struct ib_cq *cq, struct ib_wc *wc); wc 131 drivers/nvme/target/rdma.c static void nvmet_rdma_read_data_done(struct ib_cq *cq, struct ib_wc *wc); wc 534 drivers/nvme/target/rdma.c static void nvmet_rdma_send_done(struct ib_cq *cq, struct ib_wc *wc) wc 537 drivers/nvme/target/rdma.c container_of(wc->wr_cqe, struct nvmet_rdma_rsp, send_cqe); wc 542 drivers/nvme/target/rdma.c if (unlikely(wc->status != IB_WC_SUCCESS && wc 543 drivers/nvme/target/rdma.c wc->status != IB_WC_WR_FLUSH_ERR)) { wc 545 drivers/nvme/target/rdma.c wc->wr_cqe, ib_wc_status_msg(wc->status), wc->status); wc 582 drivers/nvme/target/rdma.c static void nvmet_rdma_read_data_done(struct ib_cq *cq, struct ib_wc *wc) wc 585 drivers/nvme/target/rdma.c container_of(wc->wr_cqe, struct nvmet_rdma_rsp, read_cqe); wc 595 drivers/nvme/target/rdma.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 598 drivers/nvme/target/rdma.c if (wc->status != IB_WC_WR_FLUSH_ERR) { wc 600 drivers/nvme/target/rdma.c wc->wr_cqe, ib_wc_status_msg(wc->status), wc->status); wc 787 drivers/nvme/target/rdma.c static void nvmet_rdma_recv_done(struct ib_cq *cq, struct ib_wc *wc) wc 790 drivers/nvme/target/rdma.c container_of(wc->wr_cqe, struct nvmet_rdma_cmd, cqe); wc 794 drivers/nvme/target/rdma.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 795 drivers/nvme/target/rdma.c if (wc->status != IB_WC_WR_FLUSH_ERR) { wc 797 drivers/nvme/target/rdma.c wc->wr_cqe, ib_wc_status_msg(wc->status), wc 798 drivers/nvme/target/rdma.c wc->status); wc 804 drivers/nvme/target/rdma.c if (unlikely(wc->byte_len < sizeof(struct nvme_command))) { wc 253 drivers/scsi/bfa/bfa_cs.h bfa_wc_up(struct bfa_wc_s *wc) wc 255 drivers/scsi/bfa/bfa_cs.h wc->wc_count++; wc 259 drivers/scsi/bfa/bfa_cs.h bfa_wc_down(struct bfa_wc_s *wc) wc 261 drivers/scsi/bfa/bfa_cs.h wc->wc_count--; wc 262 drivers/scsi/bfa/bfa_cs.h if (wc->wc_count == 0) wc 263 drivers/scsi/bfa/bfa_cs.h wc->wc_resume(wc->wc_cbarg); wc 270 drivers/scsi/bfa/bfa_cs.h bfa_wc_init(struct bfa_wc_s *wc, bfa_wc_resume_t wc_resume, void *wc_cbarg) wc 272 drivers/scsi/bfa/bfa_cs.h wc->wc_resume = wc_resume; wc 273 drivers/scsi/bfa/bfa_cs.h wc->wc_cbarg = wc_cbarg; wc 274 drivers/scsi/bfa/bfa_cs.h wc->wc_count = 0; wc 275 drivers/scsi/bfa/bfa_cs.h bfa_wc_up(wc); wc 282 drivers/scsi/bfa/bfa_cs.h bfa_wc_wait(struct bfa_wc_s *wc) wc 284 drivers/scsi/bfa/bfa_cs.h bfa_wc_down(wc); wc 1017 drivers/scsi/bfa/bfa_fcpim.c bfa_wc_init(&itnim->wc, bfa_itnim_cleanp_comp, itnim); wc 1029 drivers/scsi/bfa/bfa_fcpim.c bfa_wc_up(&itnim->wc); wc 1035 drivers/scsi/bfa/bfa_fcpim.c bfa_wc_up(&itnim->wc); wc 1039 drivers/scsi/bfa/bfa_fcpim.c bfa_wc_wait(&itnim->wc); wc 1087 drivers/scsi/bfa/bfa_fcpim.c bfa_wc_down(&itnim->wc); wc 1093 drivers/scsi/bfa/bfa_fcpim.c bfa_wc_down(&itnim->wc); wc 2692 drivers/scsi/bfa/bfa_fcpim.c bfa_wc_down(&ioim->iosp->tskim->wc); wc 3368 drivers/scsi/bfa/bfa_fcpim.c bfa_wc_init(&tskim->wc, bfa_tskim_cleanp_comp, tskim); wc 3372 drivers/scsi/bfa/bfa_fcpim.c bfa_wc_up(&tskim->wc); wc 3376 drivers/scsi/bfa/bfa_fcpim.c bfa_wc_wait(&tskim->wc); wc 3478 drivers/scsi/bfa/bfa_fcpim.c bfa_wc_down(&tskim->wc); wc 206 drivers/scsi/bfa/bfa_fcpim.h struct bfa_wc_s wc; /* waiting counter */ wc 232 drivers/scsi/bfa/bfa_fcpim.h struct bfa_wc_s wc; /* waiting counter */ wc 70 drivers/scsi/bfa/bfa_fcs.c bfa_wc_init(&fcs->wc, bfa_fcs_exit_comp, fcs); wc 71 drivers/scsi/bfa/bfa_fcs.c bfa_wc_up(&fcs->wc); wc 73 drivers/scsi/bfa/bfa_fcs.c bfa_wc_wait(&fcs->wc); wc 124 drivers/scsi/bfa/bfa_fcs.c bfa_wc_init(&fcs->wc, bfa_fcs_exit_comp, fcs); wc 125 drivers/scsi/bfa/bfa_fcs.c bfa_wc_up(&fcs->wc); wc 129 drivers/scsi/bfa/bfa_fcs.c bfa_wc_wait(&fcs->wc); wc 656 drivers/scsi/bfa/bfa_fcs.c bfa_wc_down(&fabric->fcs->wc); wc 722 drivers/scsi/bfa/bfa_fcs.c bfa_wc_down(&(fabric->fcs)->wc); wc 1036 drivers/scsi/bfa/bfa_fcs.c bfa_wc_wait(&fabric->wc); wc 1128 drivers/scsi/bfa/bfa_fcs.c bfa_wc_up(&fabric->wc); wc 1142 drivers/scsi/bfa/bfa_fcs.c bfa_wc_down(&fabric->wc); wc 1611 drivers/scsi/bfa/bfa_fcs.c bfa_wc_init(&fabric->wc, bfa_fcs_fabric_delete_comp, fabric); wc 1612 drivers/scsi/bfa/bfa_fcs.c bfa_wc_up(&fabric->wc); /* For the base port */ wc 152 drivers/scsi/bfa/bfa_fcs.h struct bfa_wc_s wc; /* waiting counter for events */ wc 199 drivers/scsi/bfa/bfa_fcs.h struct bfa_wc_s wc; /* wait counter for delete */ wc 699 drivers/scsi/bfa/bfa_fcs.h struct bfa_wc_s wc; /* waiting counter */ wc 761 drivers/scsi/bfa/bfa_fcs_lport.c bfa_wc_down(&port->fabric->wc); wc 974 drivers/scsi/qla2xxx/qla_gs.c uint16_t wc; wc 980 drivers/scsi/qla2xxx/qla_gs.c wc = data_size / 2; /* Size in 16bit words. */ wc 981 drivers/scsi/qla2xxx/qla_gs.c sns_cmd->p.cmd.buffer_length = cpu_to_le16(wc); wc 985 drivers/scsi/qla2xxx/qla_gs.c wc = (data_size - 16) / 4; /* Size in 32bit words. */ wc 986 drivers/scsi/qla2xxx/qla_gs.c sns_cmd->p.cmd.size = cpu_to_le16(wc); wc 69 drivers/scsi/qla2xxx/qla_mbx.c struct rom_cmd *wc; wc 72 drivers/scsi/qla2xxx/qla_mbx.c wc = rom_cmds + i; wc 73 drivers/scsi/qla2xxx/qla_mbx.c if (wc->cmd == cmd) wc 146 drivers/scsi/sd.c bool wc = false, fua = false; wc 149 drivers/scsi/sd.c wc = true; wc 154 drivers/scsi/sd.c blk_queue_write_cache(sdkp->disk->queue, wc, fua); wc 212 drivers/soc/ixp4xx/ixp4xx-npe.c u32 wc; wc 236 drivers/soc/ixp4xx/ixp4xx-npe.c wc = __raw_readl(&npe->regs->watch_count); wc 243 drivers/soc/ixp4xx/ixp4xx-npe.c if (wc != __raw_readl(&npe->regs->watch_count)) wc 69 drivers/staging/speakup/spk_priv.h void synth_putwc(u16 wc); wc 70 drivers/staging/speakup/spk_priv.h void synth_putwc_s(u16 wc); wc 237 drivers/staging/speakup/synth.c void synth_putwc(u16 wc) wc 239 drivers/staging/speakup/synth.c synth_buffer_add(wc); wc 243 drivers/staging/speakup/synth.c void synth_putwc_s(u16 wc) wc 245 drivers/staging/speakup/synth.c synth_buffer_add(wc); wc 4320 drivers/video/fbdev/omap2/omapfb/dss/dsi.c int bl, wc, pps, tot; wc 4322 drivers/video/fbdev/omap2/omapfb/dss/dsi.c wc = DIV_ROUND_UP(t->hact * t->bitspp, 8); wc 4323 drivers/video/fbdev/omap2/omapfb/dss/dsi.c pps = DIV_ROUND_UP(wc + 6, t->ndl); /* pixel packet size */ wc 4597 fs/btrfs/extent-tree.c struct walk_control *wc, wc 4612 fs/btrfs/extent-tree.c if (path->slots[wc->level] < wc->reada_slot) { wc 4613 fs/btrfs/extent-tree.c wc->reada_count = wc->reada_count * 2 / 3; wc 4614 fs/btrfs/extent-tree.c wc->reada_count = max(wc->reada_count, 2); wc 4616 fs/btrfs/extent-tree.c wc->reada_count = wc->reada_count * 3 / 2; wc 4617 fs/btrfs/extent-tree.c wc->reada_count = min_t(int, wc->reada_count, wc 4621 fs/btrfs/extent-tree.c eb = path->nodes[wc->level]; wc 4624 fs/btrfs/extent-tree.c for (slot = path->slots[wc->level]; slot < nritems; slot++) { wc 4625 fs/btrfs/extent-tree.c if (nread >= wc->reada_count) wc 4632 fs/btrfs/extent-tree.c if (slot == path->slots[wc->level]) wc 4635 fs/btrfs/extent-tree.c if (wc->stage == UPDATE_BACKREF && wc 4641 fs/btrfs/extent-tree.c wc->level - 1, 1, &refs, wc 4648 fs/btrfs/extent-tree.c if (wc->stage == DROP_REFERENCE) { wc 4652 fs/btrfs/extent-tree.c if (wc->level == 1 && wc 4655 fs/btrfs/extent-tree.c if (!wc->update_ref || wc 4660 fs/btrfs/extent-tree.c &wc->update_progress); wc 4664 fs/btrfs/extent-tree.c if (wc->level == 1 && wc 4672 fs/btrfs/extent-tree.c wc->reada_slot = slot; wc 4686 fs/btrfs/extent-tree.c struct walk_control *wc, int lookup_info) wc 4689 fs/btrfs/extent-tree.c int level = wc->level; wc 4694 fs/btrfs/extent-tree.c if (wc->stage == UPDATE_BACKREF && wc 4703 fs/btrfs/extent-tree.c ((wc->stage == DROP_REFERENCE && wc->refs[level] != 1) || wc 4704 fs/btrfs/extent-tree.c (wc->stage == UPDATE_BACKREF && !(wc->flags[level] & flag)))) { wc 4708 fs/btrfs/extent-tree.c &wc->refs[level], wc 4709 fs/btrfs/extent-tree.c &wc->flags[level]); wc 4713 fs/btrfs/extent-tree.c BUG_ON(wc->refs[level] == 0); wc 4716 fs/btrfs/extent-tree.c if (wc->stage == DROP_REFERENCE) { wc 4717 fs/btrfs/extent-tree.c if (wc->refs[level] > 1) wc 4720 fs/btrfs/extent-tree.c if (path->locks[level] && !wc->keep_locks) { wc 4728 fs/btrfs/extent-tree.c if (!(wc->flags[level] & flag)) { wc 4738 fs/btrfs/extent-tree.c wc->flags[level] |= flag; wc 4795 fs/btrfs/extent-tree.c struct walk_control *wc, int *lookup_info) wc 4805 fs/btrfs/extent-tree.c int level = wc->level; wc 4817 fs/btrfs/extent-tree.c if (wc->stage == UPDATE_BACKREF && wc 4841 fs/btrfs/extent-tree.c &wc->refs[level - 1], wc 4842 fs/btrfs/extent-tree.c &wc->flags[level - 1]); wc 4846 fs/btrfs/extent-tree.c if (unlikely(wc->refs[level - 1] == 0)) { wc 4853 fs/btrfs/extent-tree.c if (wc->stage == DROP_REFERENCE) { wc 4854 fs/btrfs/extent-tree.c if (wc->refs[level - 1] > 1) { wc 4857 fs/btrfs/extent-tree.c (wc->flags[0] & BTRFS_BLOCK_FLAG_FULL_BACKREF)) wc 4860 fs/btrfs/extent-tree.c if (!wc->update_ref || wc 4866 fs/btrfs/extent-tree.c ret = btrfs_comp_cpu_keys(&key, &wc->update_progress); wc 4870 fs/btrfs/extent-tree.c wc->stage = UPDATE_BACKREF; wc 4871 fs/btrfs/extent-tree.c wc->shared_level = level - 1; wc 4875 fs/btrfs/extent-tree.c (wc->flags[0] & BTRFS_BLOCK_FLAG_FULL_BACKREF)) wc 4888 fs/btrfs/extent-tree.c reada_walk_down(trans, root, wc, path); wc 4911 fs/btrfs/extent-tree.c wc->level = level; wc 4912 fs/btrfs/extent-tree.c if (wc->level == 1) wc 4913 fs/btrfs/extent-tree.c wc->reada_slot = 0; wc 4916 fs/btrfs/extent-tree.c wc->refs[level - 1] = 0; wc 4917 fs/btrfs/extent-tree.c wc->flags[level - 1] = 0; wc 4918 fs/btrfs/extent-tree.c if (wc->stage == DROP_REFERENCE) { wc 4919 fs/btrfs/extent-tree.c if (wc->flags[level] & BTRFS_BLOCK_FLAG_FULL_BACKREF) { wc 4940 fs/btrfs/extent-tree.c if (wc->restarted) { wc 4948 fs/btrfs/extent-tree.c wc->restarted = 0; wc 4973 fs/btrfs/extent-tree.c wc->drop_level = level; wc 4974 fs/btrfs/extent-tree.c find_next_key(path, level, &wc->drop_progress); wc 5009 fs/btrfs/extent-tree.c struct walk_control *wc) wc 5013 fs/btrfs/extent-tree.c int level = wc->level; wc 5017 fs/btrfs/extent-tree.c if (wc->stage == UPDATE_BACKREF) { wc 5018 fs/btrfs/extent-tree.c BUG_ON(wc->shared_level < level); wc 5019 fs/btrfs/extent-tree.c if (level < wc->shared_level) wc 5022 fs/btrfs/extent-tree.c ret = find_next_key(path, level + 1, &wc->update_progress); wc 5024 fs/btrfs/extent-tree.c wc->update_ref = 0; wc 5026 fs/btrfs/extent-tree.c wc->stage = DROP_REFERENCE; wc 5027 fs/btrfs/extent-tree.c wc->shared_level = -1; wc 5043 fs/btrfs/extent-tree.c &wc->refs[level], wc 5044 fs/btrfs/extent-tree.c &wc->flags[level]); wc 5050 fs/btrfs/extent-tree.c BUG_ON(wc->refs[level] == 0); wc 5051 fs/btrfs/extent-tree.c if (wc->refs[level] == 1) { wc 5060 fs/btrfs/extent-tree.c BUG_ON(wc->refs[level] > 1 && !path->locks[level]); wc 5062 fs/btrfs/extent-tree.c if (wc->refs[level] == 1) { wc 5064 fs/btrfs/extent-tree.c if (wc->flags[level] & BTRFS_BLOCK_FLAG_FULL_BACKREF) wc 5089 fs/btrfs/extent-tree.c if (wc->flags[level] & BTRFS_BLOCK_FLAG_FULL_BACKREF) wc 5094 fs/btrfs/extent-tree.c if (wc->flags[level + 1] & BTRFS_BLOCK_FLAG_FULL_BACKREF) wc 5101 fs/btrfs/extent-tree.c btrfs_free_tree_block(trans, root, eb, parent, wc->refs[level] == 1); wc 5103 fs/btrfs/extent-tree.c wc->refs[level] = 0; wc 5104 fs/btrfs/extent-tree.c wc->flags[level] = 0; wc 5116 fs/btrfs/extent-tree.c struct walk_control *wc) wc 5118 fs/btrfs/extent-tree.c int level = wc->level; wc 5123 fs/btrfs/extent-tree.c ret = walk_down_proc(trans, root, path, wc, lookup_info); wc 5134 fs/btrfs/extent-tree.c ret = do_walk_down(trans, root, path, wc, &lookup_info); wc 5140 fs/btrfs/extent-tree.c level = wc->level; wc 5148 fs/btrfs/extent-tree.c struct walk_control *wc, int max_level) wc 5150 fs/btrfs/extent-tree.c int level = wc->level; wc 5155 fs/btrfs/extent-tree.c wc->level = level; wc 5161 fs/btrfs/extent-tree.c ret = walk_up_proc(trans, root, path, wc); wc 5202 fs/btrfs/extent-tree.c struct walk_control *wc; wc 5217 fs/btrfs/extent-tree.c wc = kzalloc(sizeof(*wc), GFP_NOFS); wc 5218 fs/btrfs/extent-tree.c if (!wc) { wc 5252 fs/btrfs/extent-tree.c memset(&wc->update_progress, 0, wc 5253 fs/btrfs/extent-tree.c sizeof(wc->update_progress)); wc 5256 fs/btrfs/extent-tree.c memcpy(&wc->update_progress, &key, wc 5257 fs/btrfs/extent-tree.c sizeof(wc->update_progress)); wc 5284 fs/btrfs/extent-tree.c level, 1, &wc->refs[level], wc 5285 fs/btrfs/extent-tree.c &wc->flags[level]); wc 5290 fs/btrfs/extent-tree.c BUG_ON(wc->refs[level] == 0); wc 5297 fs/btrfs/extent-tree.c WARN_ON(wc->refs[level] != 1); wc 5302 fs/btrfs/extent-tree.c wc->restarted = test_bit(BTRFS_ROOT_DEAD_TREE, &root->state); wc 5303 fs/btrfs/extent-tree.c wc->level = level; wc 5304 fs/btrfs/extent-tree.c wc->shared_level = -1; wc 5305 fs/btrfs/extent-tree.c wc->stage = DROP_REFERENCE; wc 5306 fs/btrfs/extent-tree.c wc->update_ref = update_ref; wc 5307 fs/btrfs/extent-tree.c wc->keep_locks = 0; wc 5308 fs/btrfs/extent-tree.c wc->reada_count = BTRFS_NODEPTRS_PER_BLOCK(fs_info); wc 5312 fs/btrfs/extent-tree.c ret = walk_down_tree(trans, root, path, wc); wc 5318 fs/btrfs/extent-tree.c ret = walk_up_tree(trans, root, path, wc, BTRFS_MAX_LEVEL); wc 5325 fs/btrfs/extent-tree.c BUG_ON(wc->stage != DROP_REFERENCE); wc 5329 fs/btrfs/extent-tree.c if (wc->stage == DROP_REFERENCE) { wc 5330 fs/btrfs/extent-tree.c wc->drop_level = wc->level; wc 5331 fs/btrfs/extent-tree.c btrfs_node_key_to_cpu(path->nodes[wc->drop_level], wc 5332 fs/btrfs/extent-tree.c &wc->drop_progress, wc 5333 fs/btrfs/extent-tree.c path->slots[wc->drop_level]); wc 5336 fs/btrfs/extent-tree.c &wc->drop_progress); wc 5337 fs/btrfs/extent-tree.c root_item->drop_level = wc->drop_level; wc 5339 fs/btrfs/extent-tree.c BUG_ON(wc->level == 0); wc 5408 fs/btrfs/extent-tree.c kfree(wc); wc 5438 fs/btrfs/extent-tree.c struct walk_control *wc; wc 5450 fs/btrfs/extent-tree.c wc = kzalloc(sizeof(*wc), GFP_NOFS); wc 5451 fs/btrfs/extent-tree.c if (!wc) { wc 5468 fs/btrfs/extent-tree.c wc->refs[parent_level] = 1; wc 5469 fs/btrfs/extent-tree.c wc->flags[parent_level] = BTRFS_BLOCK_FLAG_FULL_BACKREF; wc 5470 fs/btrfs/extent-tree.c wc->level = level; wc 5471 fs/btrfs/extent-tree.c wc->shared_level = -1; wc 5472 fs/btrfs/extent-tree.c wc->stage = DROP_REFERENCE; wc 5473 fs/btrfs/extent-tree.c wc->update_ref = 0; wc 5474 fs/btrfs/extent-tree.c wc->keep_locks = 1; wc 5475 fs/btrfs/extent-tree.c wc->reada_count = BTRFS_NODEPTRS_PER_BLOCK(fs_info); wc 5478 fs/btrfs/extent-tree.c wret = walk_down_tree(trans, root, path, wc); wc 5484 fs/btrfs/extent-tree.c wret = walk_up_tree(trans, root, path, wc, parent_level); wc 5491 fs/btrfs/extent-tree.c kfree(wc); wc 290 fs/btrfs/tree-log.c struct walk_control *wc, u64 gen, int level); wc 298 fs/btrfs/tree-log.c struct walk_control *wc, u64 gen, int level) wc 313 fs/btrfs/tree-log.c if (wc->pin) wc 318 fs/btrfs/tree-log.c if (wc->pin && btrfs_header_level(eb) == 0) wc 320 fs/btrfs/tree-log.c if (wc->write) wc 322 fs/btrfs/tree-log.c if (wc->wait) wc 2536 fs/btrfs/tree-log.c struct walk_control *wc, u64 gen, int level) wc 2540 fs/btrfs/tree-log.c struct btrfs_root *root = wc->replay_dest; wc 2564 fs/btrfs/tree-log.c wc->stage == LOG_WALK_REPLAY_INODES) { wc 2579 fs/btrfs/tree-log.c wc->ignore_cur_inode = true; wc 2582 fs/btrfs/tree-log.c wc->ignore_cur_inode = false; wc 2584 fs/btrfs/tree-log.c ret = replay_xattr_deletes(wc->trans, root, log, wc 2590 fs/btrfs/tree-log.c ret = replay_dir_deletes(wc->trans, wc 2595 fs/btrfs/tree-log.c ret = overwrite_item(wc->trans, root, path, wc 2619 fs/btrfs/tree-log.c ret = btrfs_drop_extents(wc->trans, root, inode, wc 2623 fs/btrfs/tree-log.c ret = btrfs_update_inode(wc->trans, wc 2631 fs/btrfs/tree-log.c ret = link_to_fixup_dir(wc->trans, root, wc 2637 fs/btrfs/tree-log.c if (wc->ignore_cur_inode) wc 2641 fs/btrfs/tree-log.c wc->stage == LOG_WALK_REPLAY_DIR_INDEX) { wc 2642 fs/btrfs/tree-log.c ret = replay_one_dir_item(wc->trans, root, path, wc 2648 fs/btrfs/tree-log.c if (wc->stage < LOG_WALK_REPLAY_ALL) wc 2653 fs/btrfs/tree-log.c ret = overwrite_item(wc->trans, root, path, wc 2659 fs/btrfs/tree-log.c ret = add_inode_ref(wc->trans, root, log, path, wc 2665 fs/btrfs/tree-log.c ret = replay_one_extent(wc->trans, root, path, wc 2670 fs/btrfs/tree-log.c ret = replay_one_dir_item(wc->trans, root, path, wc 2683 fs/btrfs/tree-log.c struct walk_control *wc) wc 2724 fs/btrfs/tree-log.c ret = wc->process_func(root, next, wc, ptr_gen, wc 2732 fs/btrfs/tree-log.c if (wc->free) { wc 2790 fs/btrfs/tree-log.c struct walk_control *wc) wc 2813 fs/btrfs/tree-log.c ret = wc->process_func(root, path->nodes[*level], wc, wc 2819 fs/btrfs/tree-log.c if (wc->free) { wc 2857 fs/btrfs/tree-log.c struct btrfs_root *log, struct walk_control *wc) wc 2877 fs/btrfs/tree-log.c wret = walk_down_log_tree(trans, log, path, &level, wc); wc 2885 fs/btrfs/tree-log.c wret = walk_up_log_tree(trans, log, path, &level, wc); wc 2896 fs/btrfs/tree-log.c ret = wc->process_func(log, path->nodes[orig_level], wc, wc 2901 fs/btrfs/tree-log.c if (wc->free) { wc 3302 fs/btrfs/tree-log.c struct walk_control wc = { wc 3307 fs/btrfs/tree-log.c ret = walk_log_tree(trans, log, &wc); wc 6167 fs/btrfs/tree-log.c struct walk_control wc = { wc 6184 fs/btrfs/tree-log.c wc.trans = trans; wc 6185 fs/btrfs/tree-log.c wc.pin = 1; wc 6187 fs/btrfs/tree-log.c ret = walk_log_tree(trans, log_root_tree, &wc); wc 6230 fs/btrfs/tree-log.c wc.replay_dest = btrfs_read_fs_root_no_name(fs_info, &tmp_key); wc 6231 fs/btrfs/tree-log.c if (IS_ERR(wc.replay_dest)) { wc 6232 fs/btrfs/tree-log.c ret = PTR_ERR(wc.replay_dest); wc 6260 fs/btrfs/tree-log.c wc.replay_dest->log_root = log; wc 6261 fs/btrfs/tree-log.c btrfs_record_root_in_trans(trans, wc.replay_dest); wc 6262 fs/btrfs/tree-log.c ret = walk_log_tree(trans, log, &wc); wc 6264 fs/btrfs/tree-log.c if (!ret && wc.stage == LOG_WALK_REPLAY_ALL) { wc 6265 fs/btrfs/tree-log.c ret = fixup_inode_link_counts(trans, wc.replay_dest, wc 6269 fs/btrfs/tree-log.c if (!ret && wc.stage == LOG_WALK_REPLAY_ALL) { wc 6270 fs/btrfs/tree-log.c struct btrfs_root *root = wc.replay_dest; wc 6286 fs/btrfs/tree-log.c wc.replay_dest->log_root = NULL; wc 6301 fs/btrfs/tree-log.c if (wc.pin) { wc 6302 fs/btrfs/tree-log.c wc.pin = 0; wc 6303 fs/btrfs/tree-log.c wc.process_func = replay_one_buffer; wc 6304 fs/btrfs/tree-log.c wc.stage = LOG_WALK_REPLAY_INODES; wc 6308 fs/btrfs/tree-log.c if (wc.stage < LOG_WALK_REPLAY_ALL) { wc 6309 fs/btrfs/tree-log.c wc.stage++; wc 6327 fs/btrfs/tree-log.c if (wc.trans) wc 6328 fs/btrfs/tree-log.c btrfs_end_transaction(wc.trans); wc 266 fs/cifs/smbdirect.c static void send_done(struct ib_cq *cq, struct ib_wc *wc) wc 270 fs/cifs/smbdirect.c container_of(wc->wr_cqe, struct smbd_request, cqe); wc 273 fs/cifs/smbdirect.c request, wc->status); wc 275 fs/cifs/smbdirect.c if (wc->status != IB_WC_SUCCESS || wc->opcode != IB_WC_SEND) { wc 277 fs/cifs/smbdirect.c wc->status, wc->opcode); wc 482 fs/cifs/smbdirect.c static void recv_done(struct ib_cq *cq, struct ib_wc *wc) wc 486 fs/cifs/smbdirect.c container_of(wc->wr_cqe, struct smbd_response, cqe); wc 492 fs/cifs/smbdirect.c response, response->type, wc->status, wc->opcode, wc 493 fs/cifs/smbdirect.c wc->byte_len, wc->pkey_index); wc 495 fs/cifs/smbdirect.c if (wc->status != IB_WC_SUCCESS || wc->opcode != IB_WC_RECV) { wc 497 fs/cifs/smbdirect.c wc->status, wc->opcode); wc 503 fs/cifs/smbdirect.c wc->qp->device, wc 514 fs/cifs/smbdirect.c process_negotiation_response(response, wc->byte_len); wc 2244 fs/cifs/smbdirect.c static void register_mr_done(struct ib_cq *cq, struct ib_wc *wc) wc 2249 fs/cifs/smbdirect.c if (wc->status) { wc 2250 fs/cifs/smbdirect.c log_rdma_mr(ERR, "status=%d\n", wc->status); wc 2251 fs/cifs/smbdirect.c cqe = wc->wr_cqe; wc 2549 fs/cifs/smbdirect.c static void local_inv_done(struct ib_cq *cq, struct ib_wc *wc) wc 2554 fs/cifs/smbdirect.c cqe = wc->wr_cqe; wc 2557 fs/cifs/smbdirect.c if (wc->status != IB_WC_SUCCESS) { wc 2558 fs/cifs/smbdirect.c log_rdma_mr(ERR, "invalidate failed status=%x\n", wc->status); wc 210 fs/fat/dir.c wchar_t wc; wc 212 fs/fat/dir.c charlen = t->char2uni(c, clen, &wc); wc 228 fs/fat/dir.c *uni = wc; wc 250 fs/ntfs/unistr.c wchar_t wc; wc 259 fs/ntfs/unistr.c &wc); wc 262 fs/ntfs/unistr.c if (likely(wc)) { wc 263 fs/ntfs/unistr.c ucs[o++] = cpu_to_le16(wc); wc 327 fs/ntfs/unistr.c int i, o, ns_len, wc; wc 334 fs/ntfs/unistr.c wc = -ENAMETOOLONG; wc 344 fs/ntfs/unistr.c retry: wc = nls->uni2char(le16_to_cpu(ins[i]), ns + o, wc 346 fs/ntfs/unistr.c if (wc > 0) { wc 347 fs/ntfs/unistr.c o += wc; wc 349 fs/ntfs/unistr.c } else if (!wc) wc 351 fs/ntfs/unistr.c else if (wc == -ENAMETOOLONG && ns != *outs) { wc 378 fs/ntfs/unistr.c if (wc != -ENAMETOOLONG) wc 379 fs/ntfs/unistr.c wc = -EILSEQ; wc 380 fs/ntfs/unistr.c return wc; wc 803 fs/ocfs2/aops.c static void ocfs2_unlock_pages(struct ocfs2_write_ctxt *wc) wc 812 fs/ocfs2/aops.c if (wc->w_target_locked) { wc 813 fs/ocfs2/aops.c BUG_ON(!wc->w_target_page); wc 814 fs/ocfs2/aops.c for (i = 0; i < wc->w_num_pages; i++) { wc 815 fs/ocfs2/aops.c if (wc->w_target_page == wc->w_pages[i]) { wc 816 fs/ocfs2/aops.c wc->w_pages[i] = NULL; wc 820 fs/ocfs2/aops.c mark_page_accessed(wc->w_target_page); wc 821 fs/ocfs2/aops.c put_page(wc->w_target_page); wc 823 fs/ocfs2/aops.c ocfs2_unlock_and_free_pages(wc->w_pages, wc->w_num_pages); wc 842 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc) wc 844 fs/ocfs2/aops.c ocfs2_free_unwritten_list(inode, &wc->w_unwritten_list); wc 845 fs/ocfs2/aops.c ocfs2_unlock_pages(wc); wc 846 fs/ocfs2/aops.c brelse(wc->w_di_bh); wc 847 fs/ocfs2/aops.c kfree(wc); wc 856 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc; wc 858 fs/ocfs2/aops.c wc = kzalloc(sizeof(struct ocfs2_write_ctxt), GFP_NOFS); wc 859 fs/ocfs2/aops.c if (!wc) wc 862 fs/ocfs2/aops.c wc->w_cpos = pos >> osb->s_clustersize_bits; wc 863 fs/ocfs2/aops.c wc->w_first_new_cpos = UINT_MAX; wc 865 fs/ocfs2/aops.c wc->w_clen = cend - wc->w_cpos + 1; wc 867 fs/ocfs2/aops.c wc->w_di_bh = di_bh; wc 868 fs/ocfs2/aops.c wc->w_type = type; wc 871 fs/ocfs2/aops.c wc->w_large_pages = 1; wc 873 fs/ocfs2/aops.c wc->w_large_pages = 0; wc 875 fs/ocfs2/aops.c ocfs2_init_dealloc_ctxt(&wc->w_dealloc); wc 876 fs/ocfs2/aops.c INIT_LIST_HEAD(&wc->w_unwritten_list); wc 878 fs/ocfs2/aops.c *wcp = wc; wc 929 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc, wc 937 fs/ocfs2/aops.c if (wc->w_target_page) wc 938 fs/ocfs2/aops.c ocfs2_zero_new_buffers(wc->w_target_page, from, to); wc 940 fs/ocfs2/aops.c for(i = 0; i < wc->w_num_pages; i++) { wc 941 fs/ocfs2/aops.c tmppage = wc->w_pages[i]; wc 945 fs/ocfs2/aops.c ocfs2_jbd2_inode_add_write(wc->w_handle, inode, wc 954 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc, wc 973 fs/ocfs2/aops.c if (page == wc->w_target_page) { wc 1038 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc, wc 1058 fs/ocfs2/aops.c wc->w_num_pages = ocfs2_pages_per_cluster(inode->i_sb); wc 1068 fs/ocfs2/aops.c if ((start + wc->w_num_pages) > end_index) wc 1069 fs/ocfs2/aops.c wc->w_num_pages = end_index - start; wc 1071 fs/ocfs2/aops.c wc->w_num_pages = 1; wc 1076 fs/ocfs2/aops.c for(i = 0; i < wc->w_num_pages; i++) { wc 1080 fs/ocfs2/aops.c wc->w_type == OCFS2_WRITE_MMAP) { wc 1097 fs/ocfs2/aops.c wc->w_pages[i] = mmap_page; wc 1098 fs/ocfs2/aops.c wc->w_target_locked = true; wc 1100 fs/ocfs2/aops.c wc->w_type == OCFS2_WRITE_DIRECT) { wc 1102 fs/ocfs2/aops.c wc->w_pages[i] = NULL; wc 1105 fs/ocfs2/aops.c wc->w_pages[i] = find_or_create_page(mapping, index, wc 1107 fs/ocfs2/aops.c if (!wc->w_pages[i]) { wc 1113 fs/ocfs2/aops.c wait_for_stable_page(wc->w_pages[i]); wc 1116 fs/ocfs2/aops.c wc->w_target_page = wc->w_pages[i]; wc 1120 fs/ocfs2/aops.c wc->w_target_locked = false; wc 1133 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc, u32 cpos, wc 1152 fs/ocfs2/aops.c wc->w_di_bh, wc->w_handle, wc 1172 fs/ocfs2/aops.c wc->w_di_bh); wc 1174 fs/ocfs2/aops.c wc->w_handle, cpos, 1, *phys, wc 1175 fs/ocfs2/aops.c meta_ac, &wc->w_dealloc); wc 1200 fs/ocfs2/aops.c for(i = 0; i < wc->w_num_pages; i++) { wc 1204 fs/ocfs2/aops.c if (wc->w_pages[i] == NULL) { wc 1209 fs/ocfs2/aops.c tmpret = ocfs2_prepare_page_for_write(inode, &p_blkno, wc, wc 1210 fs/ocfs2/aops.c wc->w_pages[i], cpos, wc 1224 fs/ocfs2/aops.c ocfs2_write_failure(inode, wc, user_pos, user_len); wc 1234 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc, wc 1243 fs/ocfs2/aops.c for (i = 0; i < wc->w_clen; i++) { wc 1244 fs/ocfs2/aops.c desc = &wc->w_desc[i]; wc 1260 fs/ocfs2/aops.c wc, desc->c_cpos, pos, local_len); wc 1281 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc, wc 1286 fs/ocfs2/aops.c wc->w_target_from = pos & (PAGE_SIZE - 1); wc 1287 fs/ocfs2/aops.c wc->w_target_to = wc->w_target_from + len; wc 1301 fs/ocfs2/aops.c if (wc->w_large_pages) { wc 1308 fs/ocfs2/aops.c desc = &wc->w_desc[0]; wc 1312 fs/ocfs2/aops.c &wc->w_target_from, wc 1315 fs/ocfs2/aops.c desc = &wc->w_desc[wc->w_clen - 1]; wc 1320 fs/ocfs2/aops.c &wc->w_target_to); wc 1322 fs/ocfs2/aops.c wc->w_target_from = 0; wc 1323 fs/ocfs2/aops.c wc->w_target_to = PAGE_SIZE; wc 1335 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc, wc 1359 fs/ocfs2/aops.c if (wc->w_type != OCFS2_WRITE_DIRECT) wc 1377 fs/ocfs2/aops.c list_add_tail(&new->ue_node, &wc->w_unwritten_list); wc 1378 fs/ocfs2/aops.c wc->w_unwritten_count++; wc 1396 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc, wc 1410 fs/ocfs2/aops.c for (i = 0; i < wc->w_clen; i++) { wc 1411 fs/ocfs2/aops.c desc = &wc->w_desc[i]; wc 1412 fs/ocfs2/aops.c desc->c_cpos = wc->w_cpos + i; wc 1453 fs/ocfs2/aops.c if (desc->c_cpos >= wc->w_first_new_cpos) { wc 1471 fs/ocfs2/aops.c ret = ocfs2_unwritten_check(inode, wc, desc); wc 1487 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc) wc 1493 fs/ocfs2/aops.c struct ocfs2_dinode *di = (struct ocfs2_dinode *)wc->w_di_bh->b_data; wc 1513 fs/ocfs2/aops.c wc->w_pages[0] = wc->w_target_page = page; wc 1514 fs/ocfs2/aops.c wc->w_num_pages = 1; wc 1516 fs/ocfs2/aops.c ret = ocfs2_journal_access_di(handle, INODE_CACHE(inode), wc->w_di_bh, wc 1529 fs/ocfs2/aops.c ret = ocfs2_read_inline_data(inode, page, wc->w_di_bh); wc 1537 fs/ocfs2/aops.c wc->w_handle = handle; wc 1554 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc) wc 1570 fs/ocfs2/aops.c ocfs2_size_fits_inline_data(wc->w_di_bh, end)) wc 1577 fs/ocfs2/aops.c ret = ocfs2_convert_inline_data_to_extents(inode, wc->w_di_bh); wc 1592 fs/ocfs2/aops.c di = (struct ocfs2_dinode *)wc->w_di_bh->b_data; wc 1598 fs/ocfs2/aops.c ret = ocfs2_write_begin_inline(mapping, inode, wc); wc 1625 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc) wc 1640 fs/ocfs2/aops.c if (wc) wc 1641 fs/ocfs2/aops.c wc->w_first_new_cpos = wc 1666 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc; wc 1677 fs/ocfs2/aops.c ret = ocfs2_alloc_write_ctxt(&wc, osb, pos, len, type, di_bh); wc 1685 fs/ocfs2/aops.c mmap_page, wc); wc 1702 fs/ocfs2/aops.c len, wc); wc 1714 fs/ocfs2/aops.c clusters_need = wc->w_clen; wc 1716 fs/ocfs2/aops.c wc->w_cpos, wc->w_clen, UINT_MAX); wc 1723 fs/ocfs2/aops.c ret = ocfs2_populate_write_desc(inode, wc, &clusters_to_alloc, wc 1731 fs/ocfs2/aops.c di = (struct ocfs2_dinode *)wc->w_di_bh->b_data; wc 1753 fs/ocfs2/aops.c wc->w_di_bh); wc 1776 fs/ocfs2/aops.c if (wc->w_clen && (wc->w_desc[0].c_needs_zero || wc 1777 fs/ocfs2/aops.c wc->w_desc[wc->w_clen - 1].c_needs_zero)) wc 1782 fs/ocfs2/aops.c ocfs2_set_target_boundaries(osb, wc, pos, len, cluster_of_pages); wc 1791 fs/ocfs2/aops.c wc->w_handle = handle; wc 1800 fs/ocfs2/aops.c ret = ocfs2_journal_access_di(handle, INODE_CACHE(inode), wc->w_di_bh, wc 1812 fs/ocfs2/aops.c ret = ocfs2_grab_pages_for_write(mapping, wc, wc->w_cpos, pos, len, wc 1826 fs/ocfs2/aops.c BUG_ON(wc->w_target_page); wc 1831 fs/ocfs2/aops.c ret = ocfs2_write_cluster_by_desc(mapping, data_ac, meta_ac, wc, pos, wc 1845 fs/ocfs2/aops.c *pagep = wc->w_target_page; wc 1846 fs/ocfs2/aops.c *fsdata = wc; wc 1863 fs/ocfs2/aops.c if (wc->w_target_locked) wc 1866 fs/ocfs2/aops.c ocfs2_free_write_ctxt(inode, wc); wc 1941 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc) wc 1946 fs/ocfs2/aops.c if (!PageUptodate(wc->w_target_page)) { wc 1952 fs/ocfs2/aops.c kaddr = kmap_atomic(wc->w_target_page); wc 1970 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc = fsdata; wc 1971 fs/ocfs2/aops.c struct ocfs2_dinode *di = (struct ocfs2_dinode *)wc->w_di_bh->b_data; wc 1972 fs/ocfs2/aops.c handle_t *handle = wc->w_handle; wc 1975 fs/ocfs2/aops.c BUG_ON(!list_empty(&wc->w_unwritten_list)); wc 1979 fs/ocfs2/aops.c wc->w_di_bh, OCFS2_JOURNAL_ACCESS_WRITE); wc 1988 fs/ocfs2/aops.c ocfs2_write_end_inline(inode, pos, len, &copied, di, wc); wc 1992 fs/ocfs2/aops.c if (unlikely(copied < len) && wc->w_target_page) { wc 1993 fs/ocfs2/aops.c if (!PageUptodate(wc->w_target_page)) wc 1996 fs/ocfs2/aops.c ocfs2_zero_new_buffers(wc->w_target_page, start+copied, wc 1999 fs/ocfs2/aops.c if (wc->w_target_page) wc 2000 fs/ocfs2/aops.c flush_dcache_page(wc->w_target_page); wc 2002 fs/ocfs2/aops.c for(i = 0; i < wc->w_num_pages; i++) { wc 2003 fs/ocfs2/aops.c tmppage = wc->w_pages[i]; wc 2009 fs/ocfs2/aops.c if (tmppage == wc->w_target_page) { wc 2010 fs/ocfs2/aops.c from = wc->w_target_from; wc 2011 fs/ocfs2/aops.c to = wc->w_target_to; wc 2041 fs/ocfs2/aops.c if (wc->w_type != OCFS2_WRITE_DIRECT) { wc 2056 fs/ocfs2/aops.c ocfs2_journal_dirty(handle, wc->w_di_bh); wc 2064 fs/ocfs2/aops.c ocfs2_unlock_pages(wc); wc 2069 fs/ocfs2/aops.c ocfs2_run_deallocs(osb, &wc->w_dealloc); wc 2071 fs/ocfs2/aops.c brelse(wc->w_di_bh); wc 2072 fs/ocfs2/aops.c kfree(wc); wc 2145 fs/ocfs2/aops.c struct ocfs2_write_ctxt *wc; wc 2240 fs/ocfs2/aops.c (void **)&wc, di_bh, NULL); wc 2246 fs/ocfs2/aops.c desc = &wc->w_desc[0]; wc 2264 fs/ocfs2/aops.c if (!list_empty(&wc->w_unwritten_list)) { wc 2267 fs/ocfs2/aops.c ue = list_first_entry(&wc->w_unwritten_list, wc 2274 fs/ocfs2/aops.c list_splice_tail_init(&wc->w_unwritten_list, &dwc->dw_zero_list); wc 2275 fs/ocfs2/aops.c dwc->dw_zero_count += wc->w_unwritten_count; wc 2278 fs/ocfs2/aops.c ret = ocfs2_write_end_nolock(inode->i_mapping, pos, len, len, wc); wc 465 fs/ocfs2/cluster/heartbeat.c static inline void o2hb_bio_wait_init(struct o2hb_bio_wait_ctxt *wc) wc 467 fs/ocfs2/cluster/heartbeat.c atomic_set(&wc->wc_num_reqs, 1); wc 468 fs/ocfs2/cluster/heartbeat.c init_completion(&wc->wc_io_complete); wc 469 fs/ocfs2/cluster/heartbeat.c wc->wc_error = 0; wc 473 fs/ocfs2/cluster/heartbeat.c static inline void o2hb_bio_wait_dec(struct o2hb_bio_wait_ctxt *wc, wc 479 fs/ocfs2/cluster/heartbeat.c if (atomic_dec_and_test(&wc->wc_num_reqs)) { wc 481 fs/ocfs2/cluster/heartbeat.c complete(&wc->wc_io_complete); wc 486 fs/ocfs2/cluster/heartbeat.c static void o2hb_wait_on_io(struct o2hb_bio_wait_ctxt *wc) wc 488 fs/ocfs2/cluster/heartbeat.c o2hb_bio_wait_dec(wc, 1); wc 489 fs/ocfs2/cluster/heartbeat.c wait_for_completion(&wc->wc_io_complete); wc 494 fs/ocfs2/cluster/heartbeat.c struct o2hb_bio_wait_ctxt *wc = bio->bi_private; wc 498 fs/ocfs2/cluster/heartbeat.c wc->wc_error = blk_status_to_errno(bio->bi_status); wc 501 fs/ocfs2/cluster/heartbeat.c o2hb_bio_wait_dec(wc, 1); wc 508 fs/ocfs2/cluster/heartbeat.c struct o2hb_bio_wait_ctxt *wc, wc 535 fs/ocfs2/cluster/heartbeat.c bio->bi_private = wc; wc 568 fs/ocfs2/cluster/heartbeat.c struct o2hb_bio_wait_ctxt wc; wc 571 fs/ocfs2/cluster/heartbeat.c o2hb_bio_wait_init(&wc); wc 574 fs/ocfs2/cluster/heartbeat.c bio = o2hb_setup_one_bio(reg, &wc, ¤t_slot, max_slots, wc 582 fs/ocfs2/cluster/heartbeat.c atomic_inc(&wc.wc_num_reqs); wc 589 fs/ocfs2/cluster/heartbeat.c o2hb_wait_on_io(&wc); wc 590 fs/ocfs2/cluster/heartbeat.c if (wc.wc_error && !status) wc 591 fs/ocfs2/cluster/heartbeat.c status = wc.wc_error; wc 47 include/linux/dax.h void dax_write_cache(struct dax_device *dax_dev, bool wc); wc 91 include/linux/dax.h static inline void dax_write_cache(struct dax_device *dax_dev, bool wc) wc 400 include/linux/mlx5/driver.h bool wc; wc 426 include/linux/mlx5/driver.h bool wc; wc 27 include/math-emu/op-common.h #define _FP_DECL(wc, X) \ wc 29 include/math-emu/op-common.h _FP_FRAC_DECL_##wc(X) wc 36 include/math-emu/op-common.h #define _FP_UNPACK_CANONICAL(fs, wc, X) \ wc 42 include/math-emu/op-common.h _FP_FRAC_SLL_##wc(X, _FP_WORKBITS); \ wc 48 include/math-emu/op-common.h if (_FP_FRAC_ZEROP_##wc(X)) \ wc 54 include/math-emu/op-common.h _FP_FRAC_CLZ_##wc(_shift, X); \ wc 56 include/math-emu/op-common.h _FP_FRAC_SLL_##wc(X, (_shift+_FP_WORKBITS)); \ wc 69 include/math-emu/op-common.h if (_FP_FRAC_ZEROP_##wc(X)) \ wc 89 include/math-emu/op-common.h #define _FP_PACK_CANONICAL(fs, wc, X) \ wc 97 include/math-emu/op-common.h _FP_ROUND(wc, X); \ wc 98 include/math-emu/op-common.h if (_FP_FRAC_OVERP_##wc(fs, X)) \ wc 100 include/math-emu/op-common.h _FP_FRAC_CLEAR_OVERP_##wc(fs, X); \ wc 103 include/math-emu/op-common.h _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \ wc 123 include/math-emu/op-common.h _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \ wc 129 include/math-emu/op-common.h _FP_FRAC_SET_##wc(X, _FP_MAXFRAC_##wc); \ wc 141 include/math-emu/op-common.h _FP_FRAC_SRS_##wc(X, X##_e, _FP_WFRACBITS_##fs); \ wc 146 include/math-emu/op-common.h _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \ wc 150 include/math-emu/op-common.h _FP_ROUND(wc, X); \ wc 155 include/math-emu/op-common.h _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \ wc 161 include/math-emu/op-common.h _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \ wc 172 include/math-emu/op-common.h if (!_FP_FRAC_ZEROP_##wc(X)) \ wc 174 include/math-emu/op-common.h _FP_FRAC_SET_##wc(X, _FP_MINFRAC_##wc); \ wc 175 include/math-emu/op-common.h _FP_ROUND(wc, X); \ wc 176 include/math-emu/op-common.h _FP_FRAC_LOW_##wc(X) >>= (_FP_WORKBITS); \ wc 185 include/math-emu/op-common.h _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \ wc 190 include/math-emu/op-common.h _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \ wc 197 include/math-emu/op-common.h _FP_FRAC_SET_##wc(X, _FP_NANFRAC_##fs); \ wc 209 include/math-emu/op-common.h #define _FP_ISSIGNAN(fs, wc, X) \ wc 214 include/math-emu/op-common.h if (!_FP_FRAC_ZEROP_##wc(X) \ wc 229 include/math-emu/op-common.h #define _FP_ADD_INTERNAL(fs, wc, R, X, Y, OP) \ wc 242 include/math-emu/op-common.h _FP_FRAC_SRS_##wc(X, diff, _FP_WFRACBITS_##fs); \ wc 243 include/math-emu/op-common.h else if (!_FP_FRAC_ZEROP_##wc(X)) \ wc 244 include/math-emu/op-common.h _FP_FRAC_SET_##wc(X, _FP_MINFRAC_##wc); \ wc 252 include/math-emu/op-common.h _FP_FRAC_SRS_##wc(Y, diff, _FP_WFRACBITS_##fs); \ wc 253 include/math-emu/op-common.h else if (!_FP_FRAC_ZEROP_##wc(Y)) \ wc 254 include/math-emu/op-common.h _FP_FRAC_SET_##wc(Y, _FP_MINFRAC_##wc); \ wc 264 include/math-emu/op-common.h _FP_FRAC_ADD_##wc(R, X, Y); \ wc 265 include/math-emu/op-common.h if (_FP_FRAC_OVERP_##wc(fs, R)) \ wc 267 include/math-emu/op-common.h _FP_FRAC_SRS_##wc(R, 1, _FP_WFRACBITS_##fs); \ wc 274 include/math-emu/op-common.h _FP_FRAC_SUB_##wc(R, X, Y); \ wc 275 include/math-emu/op-common.h if (_FP_FRAC_ZEROP_##wc(R)) \ wc 286 include/math-emu/op-common.h if (_FP_FRAC_NEGP_##wc(R)) \ wc 288 include/math-emu/op-common.h _FP_FRAC_SUB_##wc(R, Y, X); \ wc 293 include/math-emu/op-common.h _FP_FRAC_CLZ_##wc(diff, R); \ wc 298 include/math-emu/op-common.h _FP_FRAC_SLL_##wc(R, diff); \ wc 306 include/math-emu/op-common.h _FP_CHOOSENAN(fs, wc, R, X, Y, OP); \ wc 315 include/math-emu/op-common.h _FP_FRAC_COPY_##wc(R, X); \ wc 326 include/math-emu/op-common.h _FP_FRAC_COPY_##wc(R, Y); \ wc 335 include/math-emu/op-common.h _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \ wc 369 include/math-emu/op-common.h #define _FP_ADD(fs, wc, R, X, Y) _FP_ADD_INTERNAL(fs, wc, R, X, Y, '+') wc 370 include/math-emu/op-common.h #define _FP_SUB(fs, wc, R, X, Y) \ wc 373 include/math-emu/op-common.h _FP_ADD_INTERNAL(fs, wc, R, X, Y, '-'); \ wc 382 include/math-emu/op-common.h #define _FP_NEG(fs, wc, R, X) \ wc 384 include/math-emu/op-common.h _FP_FRAC_COPY_##wc(R, X); \ wc 395 include/math-emu/op-common.h #define _FP_MUL(fs, wc, R, X, Y) \ wc 406 include/math-emu/op-common.h if (_FP_FRAC_OVERP_##wc(fs, R)) \ wc 407 include/math-emu/op-common.h _FP_FRAC_SRS_##wc(R, 1, _FP_WFRACBITS_##fs); \ wc 413 include/math-emu/op-common.h _FP_CHOOSENAN(fs, wc, R, X, Y, '*'); \ wc 426 include/math-emu/op-common.h _FP_FRAC_COPY_##wc(R, X); \ wc 438 include/math-emu/op-common.h _FP_FRAC_COPY_##wc(R, Y); \ wc 446 include/math-emu/op-common.h _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \ wc 460 include/math-emu/op-common.h #define _FP_DIV(fs, wc, R, X, Y) \ wc 473 include/math-emu/op-common.h _FP_CHOOSENAN(fs, wc, R, X, Y, '/'); \ wc 480 include/math-emu/op-common.h _FP_FRAC_COPY_##wc(R, X); \ wc 488 include/math-emu/op-common.h _FP_FRAC_COPY_##wc(R, Y); \ wc 509 include/math-emu/op-common.h _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \ wc 516 include/math-emu/op-common.h _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \ wc 531 include/math-emu/op-common.h #define _FP_CMP(fs, wc, ret, X, Y, un) \ wc 534 include/math-emu/op-common.h if ((X##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(X)) \ wc 535 include/math-emu/op-common.h || (Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(Y))) \ wc 544 include/math-emu/op-common.h __is_zero_x = (!X##_e && _FP_FRAC_ZEROP_##wc(X)) ? 1 : 0; \ wc 545 include/math-emu/op-common.h __is_zero_y = (!Y##_e && _FP_FRAC_ZEROP_##wc(Y)) ? 1 : 0; \ wc 559 include/math-emu/op-common.h else if (_FP_FRAC_GT_##wc(X, Y)) \ wc 561 include/math-emu/op-common.h else if (_FP_FRAC_GT_##wc(Y, X)) \ wc 571 include/math-emu/op-common.h #define _FP_CMP_EQ(fs, wc, ret, X, Y) \ wc 574 include/math-emu/op-common.h if ((X##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(X)) \ wc 575 include/math-emu/op-common.h || (Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(Y))) \ wc 582 include/math-emu/op-common.h && _FP_FRAC_EQ_##wc(X, Y) \ wc 583 include/math-emu/op-common.h && (X##_s == Y##_s || !X##_e && _FP_FRAC_ZEROP_##wc(X))); \ wc 591 include/math-emu/op-common.h #define _FP_SQRT(fs, wc, R, X) \ wc 593 include/math-emu/op-common.h _FP_FRAC_DECL_##wc(T); _FP_FRAC_DECL_##wc(S); \ wc 598 include/math-emu/op-common.h _FP_FRAC_COPY_##wc(R, X); \ wc 607 include/math-emu/op-common.h _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \ wc 626 include/math-emu/op-common.h _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \ wc 632 include/math-emu/op-common.h _FP_FRAC_SLL_##wc(X, 1); \ wc 634 include/math-emu/op-common.h _FP_FRAC_SET_##wc(S, _FP_ZEROFRAC_##wc); \ wc 635 include/math-emu/op-common.h _FP_FRAC_SET_##wc(R, _FP_ZEROFRAC_##wc); \ wc 637 include/math-emu/op-common.h _FP_SQRT_MEAT_##wc(R, S, T, X, q); \ wc 657 include/math-emu/op-common.h #define _FP_TO_INT(fs, wc, r, X, rsize, rsigned) \ wc 680 include/math-emu/op-common.h _FP_FRAC_SLL_##wc(X, (X##_e - _FP_WFRACBITS_##fs + 1)); \ wc 681 include/math-emu/op-common.h _FP_FRAC_ASSEMBLE_##wc(r, X, rsize); \ wc 700 include/math-emu/op-common.h if (_FP_W_TYPE_SIZE*wc < rsize) \ wc 702 include/math-emu/op-common.h _FP_FRAC_ASSEMBLE_##wc(r, X, rsize); \ wc 708 include/math-emu/op-common.h _FP_FRAC_SLL_##wc(X, (X##_e - _FP_WFRACBITS_##fs + 1)); \ wc 711 include/math-emu/op-common.h _FP_FRAC_SRS_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 2), \ wc 713 include/math-emu/op-common.h if (_FP_FRAC_LOW_##wc(X) & 1) \ wc 715 include/math-emu/op-common.h _FP_FRAC_SRL_##wc(X, 1); \ wc 717 include/math-emu/op-common.h _FP_FRAC_ASSEMBLE_##wc(r, X, rsize); \ wc 726 include/math-emu/op-common.h #define _FP_TO_INT_ROUND(fs, wc, r, X, rsize, rsigned) \ wc 738 include/math-emu/op-common.h _FP_FRAC_ASSEMBLE_##wc(r, X, rsize); \ wc 743 include/math-emu/op-common.h _FP_FRAC_SRL_##wc(X, _FP_WORKBITS - X##_e \ wc 745 include/math-emu/op-common.h _FP_FRAC_ASSEMBLE_##wc(r, X, rsize); \ wc 753 include/math-emu/op-common.h _FP_FRAC_SET_##wc(X, _FP_MINFRAC_##wc); \ wc 755 include/math-emu/op-common.h _FP_FRAC_SRS_##wc(X, _FP_FRACBITS_##fs - 1 - X##_e, \ wc 757 include/math-emu/op-common.h _FP_FRAC_CLZ_##wc(_lz0, X); \ wc 758 include/math-emu/op-common.h _FP_ROUND(wc, X); \ wc 759 include/math-emu/op-common.h _FP_FRAC_CLZ_##wc(_lz1, X); \ wc 762 include/math-emu/op-common.h _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \ wc 763 include/math-emu/op-common.h _FP_FRAC_ASSEMBLE_##wc(r, X, rsize); \ wc 792 include/math-emu/op-common.h #define _FP_FROM_INT(fs, wc, X, r, rsize, rtype) \ wc 815 include/math-emu/op-common.h _FP_FRAC_DISASSEMBLE_##wc(X, ur_, rsize); \ wc 817 include/math-emu/op-common.h _FP_FRAC_SLL_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 1)); \ wc 135 include/math-emu/soft-fp.h #define _FP_ROUND_NEAREST(wc, X) \ wc 137 include/math-emu/soft-fp.h if ((_FP_FRAC_LOW_##wc(X) & 15) != _FP_WORK_ROUND) \ wc 138 include/math-emu/soft-fp.h _FP_FRAC_ADDI_##wc(X, _FP_WORK_ROUND); \ wc 141 include/math-emu/soft-fp.h #define _FP_ROUND_ZERO(wc, X) (void)0 wc 143 include/math-emu/soft-fp.h #define _FP_ROUND_PINF(wc, X) \ wc 145 include/math-emu/soft-fp.h if (!X##_s && (_FP_FRAC_LOW_##wc(X) & 7)) \ wc 146 include/math-emu/soft-fp.h _FP_FRAC_ADDI_##wc(X, _FP_WORK_LSB); \ wc 149 include/math-emu/soft-fp.h #define _FP_ROUND_MINF(wc, X) \ wc 151 include/math-emu/soft-fp.h if (X##_s && (_FP_FRAC_LOW_##wc(X) & 7)) \ wc 152 include/math-emu/soft-fp.h _FP_FRAC_ADDI_##wc(X, _FP_WORK_LSB); \ wc 155 include/math-emu/soft-fp.h #define _FP_ROUND(wc, X) \ wc 157 include/math-emu/soft-fp.h if (_FP_FRAC_LOW_##wc(X) & 7) \ wc 162 include/math-emu/soft-fp.h _FP_ROUND_NEAREST(wc,X); \ wc 165 include/math-emu/soft-fp.h _FP_ROUND_ZERO(wc,X); \ wc 168 include/math-emu/soft-fp.h _FP_ROUND_PINF(wc,X); \ wc 171 include/math-emu/soft-fp.h _FP_ROUND_MINF(wc,X); \ wc 668 include/rdma/ib_mad.h struct ib_wc *wc; wc 855 include/rdma/ib_mad.h struct ib_wc *wc); wc 1321 include/rdma/ib_verbs.h void (*done)(struct ib_cq *cq, struct ib_wc *wc); wc 1551 include/rdma/ib_verbs.h struct ib_wc *wc; wc 2270 include/rdma/ib_verbs.h int (*poll_cq)(struct ib_cq *cq, int num_entries, struct ib_wc *wc); wc 3435 include/rdma/ib_verbs.h const struct ib_wc *wc, const struct ib_grh *grh, wc 3450 include/rdma/ib_verbs.h struct ib_ah *ib_create_ah_from_wc(struct ib_pd *pd, const struct ib_wc *wc, wc 3875 include/rdma/ib_verbs.h struct ib_wc *wc) wc 3877 include/rdma/ib_verbs.h return cq->device->ops.poll_cq(cq, num_entries, wc); wc 798 include/rdma/rdmavt_qp.h static inline void rvt_recv_cq(struct rvt_qp *qp, struct ib_wc *wc, wc 803 include/rdma/rdmavt_qp.h if (unlikely(!rvt_cq_enter(cq, wc, solicited))) wc 818 include/rdma/rdmavt_qp.h static inline void rvt_send_cq(struct rvt_qp *qp, struct ib_wc *wc, wc 823 include/rdma/rdmavt_qp.h if (unlikely(!rvt_cq_enter(cq, wc, solicited))) wc 122 include/trace/events/ib_mad.h TP_PROTO(struct ib_mad_send_wr_private *wr, struct ib_wc *wc), wc 123 include/trace/events/ib_mad.h TP_ARGS(wr, wc), wc 164 include/trace/events/ib_mad.h __entry->wc_status = wc->status; wc 165 include/trace/events/ib_mad.h __entry->length = wc->byte_len; wc 185 include/trace/events/ib_mad.h TP_PROTO(struct ib_mad_qp_info *qp_info, struct ib_wc *wc, wc 187 include/trace/events/ib_mad.h TP_ARGS(qp_info, wc, mad_hdr), wc 214 include/trace/events/ib_mad.h __entry->length = wc->byte_len; wc 224 include/trace/events/ib_mad.h __entry->slid = wc->slid; wc 225 include/trace/events/ib_mad.h __entry->src_qp = wc->src_qp; wc 226 include/trace/events/ib_mad.h __entry->sl = wc->sl; wc 229 include/trace/events/ib_mad.h wc->pkey_index, &__entry->pkey); wc 230 include/trace/events/ib_mad.h __entry->wc_status = wc->status; wc 186 include/trace/events/rpcrdma.h const struct ib_wc *wc, wc 190 include/trace/events/rpcrdma.h TP_ARGS(wc, frwr), wc 200 include/trace/events/rpcrdma.h __entry->status = wc->status; wc 201 include/trace/events/rpcrdma.h __entry->vendor_err = __entry->status ? wc->vendor_err : 0; wc 214 include/trace/events/rpcrdma.h const struct ib_wc *wc, \ wc 217 include/trace/events/rpcrdma.h TP_ARGS(wc, frwr)) wc 770 include/trace/events/rpcrdma.h const struct ib_wc *wc wc 773 include/trace/events/rpcrdma.h TP_ARGS(sc, wc), wc 785 include/trace/events/rpcrdma.h __entry->status = wc->status; wc 786 include/trace/events/rpcrdma.h __entry->vendor_err = __entry->status ? wc->vendor_err : 0; wc 798 include/trace/events/rpcrdma.h const struct ib_wc *wc wc 801 include/trace/events/rpcrdma.h TP_ARGS(wc), wc 811 include/trace/events/rpcrdma.h __entry->rep = container_of(wc->wr_cqe, struct rpcrdma_rep, wc 813 include/trace/events/rpcrdma.h __entry->status = wc->status; wc 814 include/trace/events/rpcrdma.h if (wc->status) { wc 816 include/trace/events/rpcrdma.h __entry->vendor_err = wc->vendor_err; wc 818 include/trace/events/rpcrdma.h __entry->byte_len = wc->byte_len; wc 1606 include/trace/events/rpcrdma.h const struct ib_wc *wc wc 1609 include/trace/events/rpcrdma.h TP_ARGS(wc), wc 1618 include/trace/events/rpcrdma.h __entry->cqe = wc->wr_cqe; wc 1619 include/trace/events/rpcrdma.h __entry->status = wc->status; wc 1620 include/trace/events/rpcrdma.h if (wc->status) wc 1621 include/trace/events/rpcrdma.h __entry->vendor_err = wc->vendor_err; wc 1635 include/trace/events/rpcrdma.h const struct ib_wc *wc \ wc 1637 include/trace/events/rpcrdma.h TP_ARGS(wc)) wc 1692 include/trace/events/rpcrdma.h const struct ib_wc *wc wc 1695 include/trace/events/rpcrdma.h TP_ARGS(wc), wc 1705 include/trace/events/rpcrdma.h __entry->cqe = wc->wr_cqe; wc 1706 include/trace/events/rpcrdma.h __entry->status = wc->status; wc 1707 include/trace/events/rpcrdma.h if (wc->status) { wc 1709 include/trace/events/rpcrdma.h __entry->vendor_err = wc->vendor_err; wc 1711 include/trace/events/rpcrdma.h __entry->byte_len = wc->byte_len; wc 34 include/uapi/linux/netfilter/nfnetlink_osf.h __u32 wc; wc 43 include/uapi/linux/netfilter/nfnetlink_osf.h struct nf_osf_wc wc; wc 484 include/uapi/rdma/ib_user_verbs.h struct ib_uverbs_wc wc[0]; wc 600 include/xen/interface/xen.h struct pvclock_wall_clock wc; wc 1532 kernel/debug/kdb/kdb_main.c } wc; wc 1535 kernel/debug/kdb/kdb_main.c cp = wc.c + 8 - bytesperword; wc 1537 kernel/debug/kdb/kdb_main.c cp = wc.c; wc 1539 kernel/debug/kdb/kdb_main.c wc.word = word; wc 290 net/9p/trans_rdma.c recv_done(struct ib_cq *cq, struct ib_wc *wc) wc 295 net/9p/trans_rdma.c container_of(wc->wr_cqe, struct p9_rdma_context, cqe); wc 304 net/9p/trans_rdma.c if (wc->status != IB_WC_SUCCESS) wc 307 net/9p/trans_rdma.c c->rc.size = wc->byte_len; wc 334 net/9p/trans_rdma.c req, err, wc->status); wc 341 net/9p/trans_rdma.c send_done(struct ib_cq *cq, struct ib_wc *wc) wc 346 net/9p/trans_rdma.c container_of(wc->wr_cqe, struct p9_rdma_context, cqe); wc 81 net/netfilter/nfnetlink_osf.c if (f->wss.wc >= OSF_WSS_MAX) wc 95 net/netfilter/nfnetlink_osf.c check_WSS = f->wss.wc; wc 395 net/rds/ib.h void rds_ib_mr_cqe_handler(struct rds_ib_connection *ic, struct ib_wc *wc); wc 406 net/rds/ib.h void rds_ib_recv_cqe_handler(struct rds_ib_connection *ic, struct ib_wc *wc, wc 433 net/rds/ib.h void rds_ib_send_cqe_handler(struct rds_ib_connection *ic, struct ib_wc *wc); wc 296 net/rds/ib_cm.c struct ib_wc *wc; wc 300 net/rds/ib_cm.c wc = wcs + i; wc 302 net/rds/ib_cm.c (unsigned long long)wc->wr_id, wc->status, wc 303 net/rds/ib_cm.c wc->byte_len, be32_to_cpu(wc->ex.imm_data)); wc 305 net/rds/ib_cm.c if (wc->wr_id <= ic->i_send_ring.w_nr || wc 306 net/rds/ib_cm.c wc->wr_id == RDS_IB_ACK_WR_ID) wc 307 net/rds/ib_cm.c rds_ib_send_cqe_handler(ic, wc); wc 309 net/rds/ib_cm.c rds_ib_mr_cqe_handler(ic, wc); wc 341 net/rds/ib_cm.c struct ib_wc *wc; wc 345 net/rds/ib_cm.c wc = wcs + i; wc 347 net/rds/ib_cm.c (unsigned long long)wc->wr_id, wc->status, wc 348 net/rds/ib_cm.c wc->byte_len, be32_to_cpu(wc->ex.imm_data)); wc 350 net/rds/ib_cm.c rds_ib_recv_cqe_handler(ic, wc, ack_state); wc 322 net/rds/ib_frmr.c void rds_ib_mr_cqe_handler(struct rds_ib_connection *ic, struct ib_wc *wc) wc 324 net/rds/ib_frmr.c struct rds_ib_mr *ibmr = (void *)(unsigned long)wc->wr_id; wc 327 net/rds/ib_frmr.c if (wc->status != IB_WC_SUCCESS) { wc 334 net/rds/ib_frmr.c wc->status, wc 335 net/rds/ib_frmr.c ib_wc_status_msg(wc->status), wc 336 net/rds/ib_frmr.c wc->vendor_err); wc 971 net/rds/ib_recv.c struct ib_wc *wc, wc 978 net/rds/ib_recv.c (unsigned long long)wc->wr_id, wc->status, wc 979 net/rds/ib_recv.c ib_wc_status_msg(wc->status), wc->byte_len, wc 980 net/rds/ib_recv.c be32_to_cpu(wc->ex.imm_data)); wc 991 net/rds/ib_recv.c if (wc->status == IB_WC_SUCCESS) { wc 992 net/rds/ib_recv.c rds_ib_process_recv(conn, recv, wc->byte_len, state); wc 998 net/rds/ib_recv.c conn->c_tos, wc->status, wc 999 net/rds/ib_recv.c ib_wc_status_msg(wc->status)); wc 241 net/rds/ib_send.c void rds_ib_send_cqe_handler(struct rds_ib_connection *ic, struct ib_wc *wc) wc 253 net/rds/ib_send.c (unsigned long long)wc->wr_id, wc->status, wc 254 net/rds/ib_send.c ib_wc_status_msg(wc->status), wc->byte_len, wc 255 net/rds/ib_send.c be32_to_cpu(wc->ex.imm_data)); wc 258 net/rds/ib_send.c if (wc->wr_id == RDS_IB_ACK_WR_ID) { wc 267 net/rds/ib_send.c completed = rds_ib_ring_completed(&ic->i_send_ring, wc->wr_id, oldest); wc 274 net/rds/ib_send.c rm = rds_ib_send_unmap_op(ic, send, wc->status); wc 302 net/rds/ib_send.c if (wc->status != IB_WC_SUCCESS && rds_conn_up(conn)) { wc 305 net/rds/ib_send.c conn->c_tos, wc->status, wc 306 net/rds/ib_send.c ib_wc_status_msg(wc->status)); wc 351 net/smc/smc_cdc.c static void smc_cdc_rx_handler(struct ib_wc *wc, void *buf) wc 353 net/smc/smc_cdc.c struct smc_link *link = (struct smc_link *)wc->qp->qp_context; wc 359 net/smc/smc_cdc.c if (wc->byte_len < offsetof(struct smc_cdc_msg, reserved)) wc 556 net/smc/smc_llc.c static void smc_llc_rx_handler(struct ib_wc *wc, void *buf) wc 558 net/smc/smc_llc.c struct smc_link *link = (struct smc_link *)wc->qp->qp_context; wc 561 net/smc/smc_llc.c if (wc->byte_len < sizeof(*llc)) wc 64 net/smc/smc_wr.c static inline void smc_wr_tx_process_cqe(struct ib_wc *wc) wc 71 net/smc/smc_wr.c link = wc->qp->qp_context; wc 73 net/smc/smc_wr.c if (wc->opcode == IB_WC_REG_MR) { wc 74 net/smc/smc_wr.c if (wc->status) wc 82 net/smc/smc_wr.c pnd_snd_idx = smc_wr_tx_find_pending_index(link, wc->wr_id); wc 85 net/smc/smc_wr.c link->wr_tx_pends[pnd_snd_idx].wc_status = wc->status; wc 94 net/smc/smc_wr.c if (wc->status) { wc 107 net/smc/smc_wr.c pnd_snd.handler(&pnd_snd.priv, link, wc->status); wc 114 net/smc/smc_wr.c struct ib_wc wc[SMC_WR_MAX_POLL_CQE]; wc 121 net/smc/smc_wr.c memset(&wc, 0, sizeof(wc)); wc 122 net/smc/smc_wr.c rc = ib_poll_cq(dev->roce_cq_send, SMC_WR_MAX_POLL_CQE, wc); wc 131 net/smc/smc_wr.c smc_wr_tx_process_cqe(&wc[i]); wc 337 net/smc/smc_wr.c static inline void smc_wr_rx_demultiplex(struct ib_wc *wc) wc 339 net/smc/smc_wr.c struct smc_link *link = (struct smc_link *)wc->qp->qp_context; wc 345 net/smc/smc_wr.c if (wc->byte_len < sizeof(*wr_rx)) wc 347 net/smc/smc_wr.c temp_wr_id = wc->wr_id; wc 352 net/smc/smc_wr.c handler->handler(wc, wr_rx); wc 356 net/smc/smc_wr.c static inline void smc_wr_rx_process_cqes(struct ib_wc wc[], int num) wc 362 net/smc/smc_wr.c link = wc[i].qp->qp_context; wc 363 net/smc/smc_wr.c if (wc[i].status == IB_WC_SUCCESS) { wc 365 net/smc/smc_wr.c smc_wr_rx_demultiplex(&wc[i]); wc 369 net/smc/smc_wr.c switch (wc[i].status) { wc 389 net/smc/smc_wr.c struct ib_wc wc[SMC_WR_MAX_POLL_CQE]; wc 396 net/smc/smc_wr.c memset(&wc, 0, sizeof(wc)); wc 397 net/smc/smc_wr.c rc = ib_poll_cq(dev->roce_cq_recv, SMC_WR_MAX_POLL_CQE, wc); wc 405 net/smc/smc_wr.c smc_wr_rx_process_cqes(&wc[0], rc); wc 401 net/sunrpc/xprtrdma/frwr_ops.c static void frwr_wc_fastreg(struct ib_cq *cq, struct ib_wc *wc) wc 403 net/sunrpc/xprtrdma/frwr_ops.c struct ib_cqe *cqe = wc->wr_cqe; wc 408 net/sunrpc/xprtrdma/frwr_ops.c trace_xprtrdma_wc_fastreg(wc, frwr); wc 469 net/sunrpc/xprtrdma/frwr_ops.c static void __frwr_release_mr(struct ib_wc *wc, struct rpcrdma_mr *mr) wc 471 net/sunrpc/xprtrdma/frwr_ops.c if (wc->status != IB_WC_SUCCESS) wc 483 net/sunrpc/xprtrdma/frwr_ops.c static void frwr_wc_localinv(struct ib_cq *cq, struct ib_wc *wc) wc 485 net/sunrpc/xprtrdma/frwr_ops.c struct ib_cqe *cqe = wc->wr_cqe; wc 491 net/sunrpc/xprtrdma/frwr_ops.c trace_xprtrdma_wc_li(wc, frwr); wc 492 net/sunrpc/xprtrdma/frwr_ops.c __frwr_release_mr(wc, mr); wc 502 net/sunrpc/xprtrdma/frwr_ops.c static void frwr_wc_localinv_wake(struct ib_cq *cq, struct ib_wc *wc) wc 504 net/sunrpc/xprtrdma/frwr_ops.c struct ib_cqe *cqe = wc->wr_cqe; wc 510 net/sunrpc/xprtrdma/frwr_ops.c trace_xprtrdma_wc_li_wake(wc, frwr); wc 511 net/sunrpc/xprtrdma/frwr_ops.c __frwr_release_mr(wc, mr); wc 604 net/sunrpc/xprtrdma/frwr_ops.c static void frwr_wc_localinv_done(struct ib_cq *cq, struct ib_wc *wc) wc 606 net/sunrpc/xprtrdma/frwr_ops.c struct ib_cqe *cqe = wc->wr_cqe; wc 613 net/sunrpc/xprtrdma/frwr_ops.c trace_xprtrdma_wc_li_done(wc, frwr); wc 614 net/sunrpc/xprtrdma/frwr_ops.c __frwr_release_mr(wc, mr); wc 111 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c static void svc_rdma_wc_receive(struct ib_cq *cq, struct ib_wc *wc); wc 305 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c static void svc_rdma_wc_receive(struct ib_cq *cq, struct ib_wc *wc) wc 308 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c struct ib_cqe *cqe = wc->wr_cqe; wc 311 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c trace_svcrdma_wc_receive(wc); wc 316 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c if (wc->status != IB_WC_SUCCESS) wc 323 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c ctxt->rc_byte_len = wc->byte_len; wc 326 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c wc->byte_len, DMA_FROM_DEVICE); wc 19 net/sunrpc/xprtrdma/svc_rdma_rw.c static void svc_rdma_write_done(struct ib_cq *cq, struct ib_wc *wc); wc 20 net/sunrpc/xprtrdma/svc_rdma_rw.c static void svc_rdma_wc_read_done(struct ib_cq *cq, struct ib_wc *wc); wc 202 net/sunrpc/xprtrdma/svc_rdma_rw.c static void svc_rdma_write_done(struct ib_cq *cq, struct ib_wc *wc) wc 204 net/sunrpc/xprtrdma/svc_rdma_rw.c struct ib_cqe *cqe = wc->wr_cqe; wc 211 net/sunrpc/xprtrdma/svc_rdma_rw.c trace_svcrdma_wc_write(wc); wc 216 net/sunrpc/xprtrdma/svc_rdma_rw.c if (unlikely(wc->status != IB_WC_SUCCESS)) wc 260 net/sunrpc/xprtrdma/svc_rdma_rw.c static void svc_rdma_wc_read_done(struct ib_cq *cq, struct ib_wc *wc) wc 262 net/sunrpc/xprtrdma/svc_rdma_rw.c struct ib_cqe *cqe = wc->wr_cqe; wc 269 net/sunrpc/xprtrdma/svc_rdma_rw.c trace_svcrdma_wc_read(wc); wc 274 net/sunrpc/xprtrdma/svc_rdma_rw.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 117 net/sunrpc/xprtrdma/svc_rdma_sendto.c static void svc_rdma_wc_send(struct ib_cq *cq, struct ib_wc *wc); wc 258 net/sunrpc/xprtrdma/svc_rdma_sendto.c static void svc_rdma_wc_send(struct ib_cq *cq, struct ib_wc *wc) wc 261 net/sunrpc/xprtrdma/svc_rdma_sendto.c struct ib_cqe *cqe = wc->wr_cqe; wc 264 net/sunrpc/xprtrdma/svc_rdma_sendto.c trace_svcrdma_wc_send(wc); wc 272 net/sunrpc/xprtrdma/svc_rdma_sendto.c if (unlikely(wc->status != IB_WC_SUCCESS)) { wc 132 net/sunrpc/xprtrdma/verbs.c rpcrdma_wc_send(struct ib_cq *cq, struct ib_wc *wc) wc 134 net/sunrpc/xprtrdma/verbs.c struct ib_cqe *cqe = wc->wr_cqe; wc 139 net/sunrpc/xprtrdma/verbs.c trace_xprtrdma_wc_send(sc, wc); wc 150 net/sunrpc/xprtrdma/verbs.c rpcrdma_wc_receive(struct ib_cq *cq, struct ib_wc *wc) wc 152 net/sunrpc/xprtrdma/verbs.c struct ib_cqe *cqe = wc->wr_cqe; wc 158 net/sunrpc/xprtrdma/verbs.c trace_xprtrdma_wc_receive(wc); wc 160 net/sunrpc/xprtrdma/verbs.c if (wc->status != IB_WC_SUCCESS) wc 164 net/sunrpc/xprtrdma/verbs.c rpcrdma_set_xdrlen(&rep->rr_hdrbuf, wc->byte_len); wc 165 net/sunrpc/xprtrdma/verbs.c rep->rr_wc_flags = wc->wc_flags; wc 166 net/sunrpc/xprtrdma/verbs.c rep->rr_inv_rkey = wc->ex.invalidate_rkey; wc 170 net/sunrpc/xprtrdma/verbs.c wc->byte_len, DMA_FROM_DEVICE); wc 1501 sound/isa/wavefront/wavefront_synth.c wavefront_control *wc) wc 1509 sound/isa/wavefront/wavefront_synth.c "cmd 0x%x\n", wc->cmd); wc 1513 sound/isa/wavefront/wavefront_synth.c switch (wc->cmd) { wc 1528 sound/isa/wavefront/wavefront_synth.c wc->rbuf[0] = dev->interrupts_are_midi; wc 1532 sound/isa/wavefront/wavefront_synth.c dev->rom_samples_rdonly = wc->wbuf[0]; wc 1533 sound/isa/wavefront/wavefront_synth.c wc->status = 0; wc 1537 sound/isa/wavefront/wavefront_synth.c i = wc->wbuf[0] | (wc->wbuf[1] << 7); wc 1541 sound/isa/wavefront/wavefront_synth.c wc->status = EINVAL; wc 1544 sound/isa/wavefront/wavefront_synth.c wc->rbuf[0] = dev->sample_status[i]; wc 1545 sound/isa/wavefront/wavefront_synth.c wc->status = 0; wc 1549 sound/isa/wavefront/wavefront_synth.c dev->debug = wc->wbuf[0]; wc 1554 sound/isa/wavefront/wavefront_synth.c munge_int32 (*((u32 *) wc->wbuf), patchnumbuf, 2); wc 1555 sound/isa/wavefront/wavefront_synth.c memcpy (wc->wbuf, patchnumbuf, 2); wc 1562 sound/isa/wavefront/wavefront_synth.c wc->status = wavefront_fetch_multisample wc 1563 sound/isa/wavefront/wavefront_synth.c (dev, (wavefront_patch_info *) wc->rbuf); wc 1569 sound/isa/wavefront/wavefront_synth.c wc->status = EINVAL; wc 1573 sound/isa/wavefront/wavefront_synth.c wc->status = snd_wavefront_cmd (dev, wc->cmd, wc->rbuf, wc->wbuf); wc 1581 sound/isa/wavefront/wavefront_synth.c if (wc->status == 0) { wc 1582 sound/isa/wavefront/wavefront_synth.c switch (wc->cmd) { wc 1589 sound/isa/wavefront/wavefront_synth.c dev->freemem = demunge_int32 (wc->rbuf, 4); wc 1593 sound/isa/wavefront/wavefront_synth.c demunge_buf (wc->rbuf, wc->rbuf, WF_PATCH_BYTES); wc 1597 sound/isa/wavefront/wavefront_synth.c demunge_buf (wc->rbuf, wc->rbuf, WF_PROGRAM_BYTES); wc 1601 sound/isa/wavefront/wavefront_synth.c demunge_buf (wc->rbuf, wc->rbuf, WF_DRUM_BYTES - 1); wc 1605 sound/isa/wavefront/wavefront_synth.c process_sample_hdr (wc->rbuf); wc 1653 sound/isa/wavefront/wavefront_synth.c wavefront_control *wc; wc 1675 sound/isa/wavefront/wavefront_synth.c wc = memdup_user(argp, sizeof(*wc)); wc 1676 sound/isa/wavefront/wavefront_synth.c if (IS_ERR(wc)) wc 1677 sound/isa/wavefront/wavefront_synth.c return PTR_ERR(wc); wc 1679 sound/isa/wavefront/wavefront_synth.c if (wavefront_synth_control (acard, wc) < 0) wc 1681 sound/isa/wavefront/wavefront_synth.c else if (copy_to_user (argp, wc, sizeof (*wc))) wc 1685 sound/isa/wavefront/wavefront_synth.c kfree(wc); wc 52 sound/pci/ctxfi/cttimer.c unsigned int wc; /* current wallclock */ wc 184 sound/pci/ctxfi/cttimer.c unsigned int wc, diff; wc 192 sound/pci/ctxfi/cttimer.c wc = ct_xfitimer_get_wc(atimer); wc 193 sound/pci/ctxfi/cttimer.c diff = wc - atimer->wc; wc 194 sound/pci/ctxfi/cttimer.c atimer->wc = wc; wc 296 sound/pci/ctxfi/cttimer.c atimer->wc = ct_xfitimer_get_wc(atimer); wc 686 sound/soc/codecs/hdac_hdmi.c struct snd_kcontrol_new *wc, int numkc, wc 698 sound/soc/codecs/hdac_hdmi.c w->kcontrol_news = wc;