| .. | .. |
|---|
| 380 | 380 | q->len = len; |
|---|
| 381 | 381 | q->entry_size = entry_size; |
|---|
| 382 | 382 | q->size = len * entry_size; |
|---|
| 383 | | - q->va = dma_zalloc_coherent(&dev->nic_info.pdev->dev, q->size, |
|---|
| 384 | | - &q->dma, GFP_KERNEL); |
|---|
| 383 | + q->va = dma_alloc_coherent(&dev->nic_info.pdev->dev, q->size, &q->dma, |
|---|
| 384 | + GFP_KERNEL); |
|---|
| 385 | 385 | if (!q->va) |
|---|
| 386 | 386 | return -ENOMEM; |
|---|
| 387 | 387 | return 0; |
|---|
| .. | .. |
|---|
| 792 | 792 | qp->srq->ibsrq. |
|---|
| 793 | 793 | srq_context); |
|---|
| 794 | 794 | } else if (dev_event) { |
|---|
| 795 | | - pr_err("%s: Fatal event received\n", dev->ibdev.name); |
|---|
| 795 | + dev_err(&dev->ibdev.dev, "Fatal event received\n"); |
|---|
| 796 | 796 | ib_dispatch_event(&ib_evt); |
|---|
| 797 | 797 | } |
|---|
| 798 | 798 | |
|---|
| .. | .. |
|---|
| 1190 | 1190 | attr->max_mr = rsp->max_mr; |
|---|
| 1191 | 1191 | attr->max_mr_size = ((u64)rsp->max_mr_size_hi << 32) | |
|---|
| 1192 | 1192 | rsp->max_mr_size_lo; |
|---|
| 1193 | | - attr->max_fmr = 0; |
|---|
| 1194 | 1193 | attr->max_pages_per_frmr = rsp->max_pages_per_frmr; |
|---|
| 1195 | 1194 | attr->max_num_mr_pbl = rsp->max_num_mr_pbl; |
|---|
| 1196 | 1195 | attr->max_cqe = rsp->max_cq_cqes_per_cq & |
|---|
| .. | .. |
|---|
| 1351 | 1350 | mqe->u.nonemb_req.sge[0].pa_hi = (u32) upper_32_bits(dma.pa); |
|---|
| 1352 | 1351 | mqe->u.nonemb_req.sge[0].len = dma.size; |
|---|
| 1353 | 1352 | |
|---|
| 1354 | | - memset(dma.va, 0, dma.size); |
|---|
| 1355 | 1353 | ocrdma_init_mch((struct ocrdma_mbx_hdr *)dma.va, |
|---|
| 1356 | 1354 | OCRDMA_CMD_GET_CTRL_ATTRIBUTES, |
|---|
| 1357 | 1355 | OCRDMA_SUBSYS_COMMON, |
|---|
| .. | .. |
|---|
| 1690 | 1688 | goto mem_err_ah; |
|---|
| 1691 | 1689 | dev->av_tbl.pa = pa; |
|---|
| 1692 | 1690 | dev->av_tbl.num_ah = max_ah; |
|---|
| 1693 | | - memset(dev->av_tbl.va, 0, dev->av_tbl.size); |
|---|
| 1694 | 1691 | |
|---|
| 1695 | 1692 | pbes = (struct ocrdma_pbe *)dev->av_tbl.pbl.va; |
|---|
| 1696 | 1693 | for (i = 0; i < dev->av_tbl.size / OCRDMA_MIN_Q_PAGE_SIZE; i++) { |
|---|
| .. | .. |
|---|
| 1819 | 1816 | return -ENOMEM; |
|---|
| 1820 | 1817 | ocrdma_init_mch(&cmd->cmd.req, OCRDMA_CMD_CREATE_CQ, |
|---|
| 1821 | 1818 | OCRDMA_SUBSYS_COMMON, sizeof(*cmd)); |
|---|
| 1822 | | - cq->va = dma_zalloc_coherent(&pdev->dev, cq->len, &cq->pa, GFP_KERNEL); |
|---|
| 1819 | + cq->va = dma_alloc_coherent(&pdev->dev, cq->len, &cq->pa, GFP_KERNEL); |
|---|
| 1823 | 1820 | if (!cq->va) { |
|---|
| 1824 | 1821 | status = -ENOMEM; |
|---|
| 1825 | 1822 | goto mem_err; |
|---|
| .. | .. |
|---|
| 1888 | 1885 | return status; |
|---|
| 1889 | 1886 | } |
|---|
| 1890 | 1887 | |
|---|
| 1891 | | -int ocrdma_mbx_destroy_cq(struct ocrdma_dev *dev, struct ocrdma_cq *cq) |
|---|
| 1888 | +void ocrdma_mbx_destroy_cq(struct ocrdma_dev *dev, struct ocrdma_cq *cq) |
|---|
| 1892 | 1889 | { |
|---|
| 1893 | | - int status = -ENOMEM; |
|---|
| 1894 | 1890 | struct ocrdma_destroy_cq *cmd; |
|---|
| 1895 | 1891 | |
|---|
| 1896 | 1892 | cmd = ocrdma_init_emb_mqe(OCRDMA_CMD_DELETE_CQ, sizeof(*cmd)); |
|---|
| 1897 | 1893 | if (!cmd) |
|---|
| 1898 | | - return status; |
|---|
| 1894 | + return; |
|---|
| 1899 | 1895 | ocrdma_init_mch(&cmd->req, OCRDMA_CMD_DELETE_CQ, |
|---|
| 1900 | 1896 | OCRDMA_SUBSYS_COMMON, sizeof(*cmd)); |
|---|
| 1901 | 1897 | |
|---|
| .. | .. |
|---|
| 1903 | 1899 | (cq->id << OCRDMA_DESTROY_CQ_QID_SHIFT) & |
|---|
| 1904 | 1900 | OCRDMA_DESTROY_CQ_QID_MASK; |
|---|
| 1905 | 1901 | |
|---|
| 1906 | | - status = ocrdma_mbx_cmd(dev, (struct ocrdma_mqe *)cmd); |
|---|
| 1902 | + ocrdma_mbx_cmd(dev, (struct ocrdma_mqe *)cmd); |
|---|
| 1907 | 1903 | ocrdma_unbind_eq(dev, cq->eqn); |
|---|
| 1908 | 1904 | dma_free_coherent(&dev->nic_info.pdev->dev, cq->len, cq->va, cq->pa); |
|---|
| 1909 | 1905 | kfree(cmd); |
|---|
| 1910 | | - return status; |
|---|
| 1911 | 1906 | } |
|---|
| 1912 | 1907 | |
|---|
| 1913 | 1908 | int ocrdma_mbx_alloc_lkey(struct ocrdma_dev *dev, struct ocrdma_hw_mr *hwmr, |
|---|
| .. | .. |
|---|
| 1967 | 1962 | int i; |
|---|
| 1968 | 1963 | struct ocrdma_reg_nsmr *cmd; |
|---|
| 1969 | 1964 | struct ocrdma_reg_nsmr_rsp *rsp; |
|---|
| 1965 | + u64 fbo = hwmr->va & (hwmr->pbe_size - 1); |
|---|
| 1970 | 1966 | |
|---|
| 1971 | 1967 | cmd = ocrdma_init_emb_mqe(OCRDMA_CMD_REGISTER_NSMR, sizeof(*cmd)); |
|---|
| 1972 | 1968 | if (!cmd) |
|---|
| .. | .. |
|---|
| 1992 | 1988 | OCRDMA_REG_NSMR_HPAGE_SIZE_SHIFT; |
|---|
| 1993 | 1989 | cmd->totlen_low = hwmr->len; |
|---|
| 1994 | 1990 | cmd->totlen_high = upper_32_bits(hwmr->len); |
|---|
| 1995 | | - cmd->fbo_low = (u32) (hwmr->fbo & 0xffffffff); |
|---|
| 1996 | | - cmd->fbo_high = (u32) upper_32_bits(hwmr->fbo); |
|---|
| 1991 | + cmd->fbo_low = lower_32_bits(fbo); |
|---|
| 1992 | + cmd->fbo_high = upper_32_bits(fbo); |
|---|
| 1997 | 1993 | cmd->va_loaddr = (u32) hwmr->va; |
|---|
| 1998 | 1994 | cmd->va_hiaddr = (u32) upper_32_bits(hwmr->va); |
|---|
| 1999 | 1995 | |
|---|
| .. | .. |
|---|
| 2209 | 2205 | qp->sq.max_cnt = max_wqe_allocated; |
|---|
| 2210 | 2206 | len = (hw_pages * hw_page_size); |
|---|
| 2211 | 2207 | |
|---|
| 2212 | | - qp->sq.va = dma_zalloc_coherent(&pdev->dev, len, &pa, GFP_KERNEL); |
|---|
| 2208 | + qp->sq.va = dma_alloc_coherent(&pdev->dev, len, &pa, GFP_KERNEL); |
|---|
| 2213 | 2209 | if (!qp->sq.va) |
|---|
| 2214 | 2210 | return -EINVAL; |
|---|
| 2215 | 2211 | qp->sq.len = len; |
|---|
| .. | .. |
|---|
| 2259 | 2255 | qp->rq.max_cnt = max_rqe_allocated; |
|---|
| 2260 | 2256 | len = (hw_pages * hw_page_size); |
|---|
| 2261 | 2257 | |
|---|
| 2262 | | - qp->rq.va = dma_zalloc_coherent(&pdev->dev, len, &pa, GFP_KERNEL); |
|---|
| 2258 | + qp->rq.va = dma_alloc_coherent(&pdev->dev, len, &pa, GFP_KERNEL); |
|---|
| 2263 | 2259 | if (!qp->rq.va) |
|---|
| 2264 | 2260 | return -ENOMEM; |
|---|
| 2265 | 2261 | qp->rq.pa = pa; |
|---|
| .. | .. |
|---|
| 2315 | 2311 | if (dev->attr.ird == 0) |
|---|
| 2316 | 2312 | return 0; |
|---|
| 2317 | 2313 | |
|---|
| 2318 | | - qp->ird_q_va = dma_zalloc_coherent(&pdev->dev, ird_q_len, &pa, |
|---|
| 2319 | | - GFP_KERNEL); |
|---|
| 2314 | + qp->ird_q_va = dma_alloc_coherent(&pdev->dev, ird_q_len, &pa, |
|---|
| 2315 | + GFP_KERNEL); |
|---|
| 2320 | 2316 | if (!qp->ird_q_va) |
|---|
| 2321 | 2317 | return -ENOMEM; |
|---|
| 2322 | 2318 | ocrdma_build_q_pages(&cmd->ird_addr[0], dev->attr.num_ird_pages, |
|---|
| .. | .. |
|---|
| 2496 | 2492 | int status; |
|---|
| 2497 | 2493 | struct rdma_ah_attr *ah_attr = &attrs->ah_attr; |
|---|
| 2498 | 2494 | const struct ib_gid_attr *sgid_attr; |
|---|
| 2499 | | - u32 vlan_id = 0xFFFF; |
|---|
| 2495 | + u16 vlan_id = 0xFFFF; |
|---|
| 2500 | 2496 | u8 mac_addr[6], hdr_type; |
|---|
| 2501 | 2497 | union { |
|---|
| 2502 | 2498 | struct sockaddr_in _sockaddr_in; |
|---|
| .. | .. |
|---|
| 2525 | 2521 | sizeof(cmd->params.dgid)); |
|---|
| 2526 | 2522 | |
|---|
| 2527 | 2523 | sgid_attr = ah_attr->grh.sgid_attr; |
|---|
| 2528 | | - vlan_id = rdma_vlan_dev_vlan_id(sgid_attr->ndev); |
|---|
| 2529 | | - memcpy(mac_addr, sgid_attr->ndev->dev_addr, ETH_ALEN); |
|---|
| 2524 | + status = rdma_read_gid_l2_fields(sgid_attr, &vlan_id, &mac_addr[0]); |
|---|
| 2525 | + if (status) |
|---|
| 2526 | + return status; |
|---|
| 2530 | 2527 | |
|---|
| 2531 | 2528 | qp->sgid_idx = grh->sgid_index; |
|---|
| 2532 | 2529 | memcpy(&cmd->params.sgid[0], &sgid_attr->gid.raw[0], |
|---|
| .. | .. |
|---|
| 2862 | 2859 | return status; |
|---|
| 2863 | 2860 | } |
|---|
| 2864 | 2861 | |
|---|
| 2865 | | -int ocrdma_mbx_destroy_srq(struct ocrdma_dev *dev, struct ocrdma_srq *srq) |
|---|
| 2862 | +void ocrdma_mbx_destroy_srq(struct ocrdma_dev *dev, struct ocrdma_srq *srq) |
|---|
| 2866 | 2863 | { |
|---|
| 2867 | | - int status = -ENOMEM; |
|---|
| 2868 | 2864 | struct ocrdma_destroy_srq *cmd; |
|---|
| 2869 | 2865 | struct pci_dev *pdev = dev->nic_info.pdev; |
|---|
| 2870 | 2866 | cmd = ocrdma_init_emb_mqe(OCRDMA_CMD_DELETE_SRQ, sizeof(*cmd)); |
|---|
| 2871 | 2867 | if (!cmd) |
|---|
| 2872 | | - return status; |
|---|
| 2868 | + return; |
|---|
| 2873 | 2869 | cmd->id = srq->id; |
|---|
| 2874 | | - status = ocrdma_mbx_cmd(dev, (struct ocrdma_mqe *)cmd); |
|---|
| 2870 | + ocrdma_mbx_cmd(dev, (struct ocrdma_mqe *)cmd); |
|---|
| 2875 | 2871 | if (srq->rq.va) |
|---|
| 2876 | 2872 | dma_free_coherent(&pdev->dev, srq->rq.len, |
|---|
| 2877 | 2873 | srq->rq.va, srq->rq.pa); |
|---|
| 2878 | 2874 | kfree(cmd); |
|---|
| 2879 | | - return status; |
|---|
| 2880 | 2875 | } |
|---|
| 2881 | 2876 | |
|---|
| 2882 | 2877 | static int ocrdma_mbx_get_dcbx_config(struct ocrdma_dev *dev, u32 ptype, |
|---|
| .. | .. |
|---|
| 2906 | 2901 | mqe_sge->pa_hi = (u32) upper_32_bits(pa); |
|---|
| 2907 | 2902 | mqe_sge->len = cmd.hdr.pyld_len; |
|---|
| 2908 | 2903 | |
|---|
| 2909 | | - memset(req, 0, sizeof(struct ocrdma_get_dcbx_cfg_req)); |
|---|
| 2910 | 2904 | ocrdma_init_mch(&req->hdr, OCRDMA_CMD_GET_DCBX_CONFIG, |
|---|
| 2911 | 2905 | OCRDMA_SUBSYS_DCBX, cmd.hdr.pyld_len); |
|---|
| 2912 | 2906 | req->param_type = ptype; |
|---|
| .. | .. |
|---|
| 3066 | 3060 | return status; |
|---|
| 3067 | 3061 | } |
|---|
| 3068 | 3062 | |
|---|
| 3069 | | -int ocrdma_free_av(struct ocrdma_dev *dev, struct ocrdma_ah *ah) |
|---|
| 3063 | +void ocrdma_free_av(struct ocrdma_dev *dev, struct ocrdma_ah *ah) |
|---|
| 3070 | 3064 | { |
|---|
| 3071 | 3065 | unsigned long flags; |
|---|
| 3072 | 3066 | spin_lock_irqsave(&dev->av_tbl.lock, flags); |
|---|
| 3073 | 3067 | ah->av->valid = 0; |
|---|
| 3074 | 3068 | spin_unlock_irqrestore(&dev->av_tbl.lock, flags); |
|---|
| 3075 | | - return 0; |
|---|
| 3076 | 3069 | } |
|---|
| 3077 | 3070 | |
|---|
| 3078 | 3071 | static int ocrdma_create_eqs(struct ocrdma_dev *dev) |
|---|