RDMA/ocrdma: Read ASIC_ID register to select asic_gen
ocrdma driver selects execution path based on sli_family and asic generation number. This introduces code to read the asic gen number from pci register instead of obtaining it from the Emulex NIC driver. Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
此提交包含在:
@@ -267,7 +267,7 @@ static struct ocrdma_pd *_ocrdma_alloc_pd(struct ocrdma_dev *dev,
|
||||
|
||||
if (udata && uctx) {
|
||||
pd->dpp_enabled =
|
||||
dev->nic_info.dev_family == OCRDMA_GEN2_FAMILY;
|
||||
ocrdma_get_asic_type(dev) == OCRDMA_ASIC_GEN_SKH_R;
|
||||
pd->num_dpp_qp =
|
||||
pd->dpp_enabled ? OCRDMA_PD_MAX_DPP_ENABLED_QP : 0;
|
||||
}
|
||||
@@ -1161,7 +1161,7 @@ err:
|
||||
static void ocrdma_set_qp_db(struct ocrdma_dev *dev, struct ocrdma_qp *qp,
|
||||
struct ocrdma_pd *pd)
|
||||
{
|
||||
if (dev->nic_info.dev_family == OCRDMA_GEN2_FAMILY) {
|
||||
if (ocrdma_get_asic_type(dev) == OCRDMA_ASIC_GEN_SKH_R) {
|
||||
qp->sq_db = dev->nic_info.db +
|
||||
(pd->id * dev->nic_info.db_page_size) +
|
||||
OCRDMA_DB_GEN2_SQ_OFFSET;
|
||||
@@ -1688,7 +1688,7 @@ static int ocrdma_copy_srq_uresp(struct ocrdma_dev *dev, struct ocrdma_srq *srq,
|
||||
(srq->pd->id * dev->nic_info.db_page_size);
|
||||
uresp.db_page_size = dev->nic_info.db_page_size;
|
||||
uresp.num_rqe_allocated = srq->rq.max_cnt;
|
||||
if (dev->nic_info.dev_family == OCRDMA_GEN2_FAMILY) {
|
||||
if (ocrdma_get_asic_type(dev) == OCRDMA_ASIC_GEN_SKH_R) {
|
||||
uresp.db_rq_offset = OCRDMA_DB_GEN2_RQ_OFFSET;
|
||||
uresp.db_shift = 24;
|
||||
} else {
|
||||
|
新增問題並參考
封鎖使用者