RDMA/ocrdma: Fix the max_sge reported from FW
Current driver is reporting wrong values for max_sge and max_sge_rd in query_device. This breaks the nfs rdma and iser in some device profiles. Fixing the driver to report correct values from FW. Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com> Signed-off-by: Devesh Sharma <devesh.sharma@broadcom.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
此提交包含在:
@@ -1156,18 +1156,18 @@ static void ocrdma_get_attr(struct ocrdma_dev *dev,
|
||||
attr->max_srq =
|
||||
(rsp->max_srq_rpir_qps & OCRDMA_MBX_QUERY_CFG_MAX_SRQ_MASK) >>
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_SRQ_OFFSET;
|
||||
attr->max_send_sge = ((rsp->max_write_send_sge &
|
||||
attr->max_send_sge = ((rsp->max_recv_send_sge &
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_SEND_SGE_MASK) >>
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_SEND_SGE_SHIFT);
|
||||
attr->max_recv_sge = (rsp->max_write_send_sge &
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_SEND_SGE_MASK) >>
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_SEND_SGE_SHIFT;
|
||||
attr->max_recv_sge = (rsp->max_recv_send_sge &
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_RECV_SGE_MASK) >>
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_RECV_SGE_SHIFT;
|
||||
attr->max_srq_sge = (rsp->max_srq_rqe_sge &
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_SRQ_SGE_MASK) >>
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_SRQ_SGE_OFFSET;
|
||||
attr->max_rdma_sge = (rsp->max_write_send_sge &
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_WRITE_SGE_MASK) >>
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_WRITE_SGE_SHIFT;
|
||||
attr->max_rdma_sge = (rsp->max_wr_rd_sge &
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_RD_SGE_MASK) >>
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_RD_SGE_SHIFT;
|
||||
attr->max_ord_per_qp = (rsp->max_ird_ord_per_qp &
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_ORD_PER_QP_MASK) >>
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_ORD_PER_QP_SHIFT;
|
||||
|
新增問題並參考
封鎖使用者