.. | .. |
---|
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) |
---|