diff options
| author | Dmitry Torokhov <[email protected]> | 2023-08-30 16:06:38 -0700 | 
|---|---|---|
| committer | Dmitry Torokhov <[email protected]> | 2023-08-30 16:06:38 -0700 | 
| commit | 1ac731c529cd4d6adbce134754b51ff7d822b145 (patch) | |
| tree | 143ab3f35ca5f3b69f583c84e6964b17139c2ec1 /drivers/infiniband/hw/irdma/hw.c | |
| parent | 07b4c950f27bef0362dc6ad7ee713aab61d58149 (diff) | |
| parent | 54116d442e001e1b6bd482122043b1870998a1f3 (diff) | |
Merge branch 'next' into for-linus
Prepare input updates for 6.6 merge window.
Diffstat (limited to 'drivers/infiniband/hw/irdma/hw.c')
| -rw-r--r-- | drivers/infiniband/hw/irdma/hw.c | 20 | 
1 files changed, 15 insertions, 5 deletions
diff --git a/drivers/infiniband/hw/irdma/hw.c b/drivers/infiniband/hw/irdma/hw.c index 2e1e2bad0401..795f7fd4f257 100644 --- a/drivers/infiniband/hw/irdma/hw.c +++ b/drivers/infiniband/hw/irdma/hw.c @@ -41,6 +41,7 @@ static enum irdma_hmc_rsrc_type iw_hmc_obj_types[] = {  	IRDMA_HMC_IW_XFFL,  	IRDMA_HMC_IW_Q1,  	IRDMA_HMC_IW_Q1FL, +	IRDMA_HMC_IW_PBLE,  	IRDMA_HMC_IW_TIMER,  	IRDMA_HMC_IW_FSIMC,  	IRDMA_HMC_IW_FSIAV, @@ -827,6 +828,8 @@ static int irdma_create_hmc_objs(struct irdma_pci_f *rf, bool privileged,  	info.entry_type = rf->sd_type;  	for (i = 0; i < IW_HMC_OBJ_TYPE_NUM; i++) { +		if (iw_hmc_obj_types[i] == IRDMA_HMC_IW_PBLE) +			continue;  		if (dev->hmc_info->hmc_obj[iw_hmc_obj_types[i]].cnt) {  			info.rsrc_type = iw_hmc_obj_types[i];  			info.count = dev->hmc_info->hmc_obj[info.rsrc_type].cnt; @@ -1089,14 +1092,19 @@ static int irdma_cfg_ceq_vector(struct irdma_pci_f *rf, struct irdma_ceq *iwceq,  	int status;  	if (rf->msix_shared && !ceq_id) { +		snprintf(msix_vec->name, sizeof(msix_vec->name) - 1, +			 "irdma-%s-AEQCEQ-0", dev_name(&rf->pcidev->dev));  		tasklet_setup(&rf->dpc_tasklet, irdma_dpc);  		status = request_irq(msix_vec->irq, irdma_irq_handler, 0, -				     "AEQCEQ", rf); +				     msix_vec->name, rf);  	} else { +		snprintf(msix_vec->name, sizeof(msix_vec->name) - 1, +			 "irdma-%s-CEQ-%d", +			 dev_name(&rf->pcidev->dev), ceq_id);  		tasklet_setup(&iwceq->dpc_tasklet, irdma_ceq_dpc);  		status = request_irq(msix_vec->irq, irdma_ceq_handler, 0, -				     "CEQ", iwceq); +				     msix_vec->name, iwceq);  	}  	cpumask_clear(&msix_vec->mask);  	cpumask_set_cpu(msix_vec->cpu_affinity, &msix_vec->mask); @@ -1125,9 +1133,11 @@ static int irdma_cfg_aeq_vector(struct irdma_pci_f *rf)  	u32 ret = 0;  	if (!rf->msix_shared) { +		snprintf(msix_vec->name, sizeof(msix_vec->name) - 1, +			 "irdma-%s-AEQ", dev_name(&rf->pcidev->dev));  		tasklet_setup(&rf->dpc_tasklet, irdma_dpc);  		ret = request_irq(msix_vec->irq, irdma_irq_handler, 0, -				  "irdma", rf); +				  msix_vec->name, rf);  	}  	if (ret) {  		ibdev_dbg(&rf->iwdev->ibdev, "ERR: aeq irq config fail\n"); @@ -1901,8 +1911,8 @@ int irdma_ctrl_init_hw(struct irdma_pci_f *rf)  			break;  		rf->init_state = CEQ0_CREATED;  		/* Handles processing of CQP completions */ -		rf->cqp_cmpl_wq = alloc_ordered_workqueue("cqp_cmpl_wq", -						WQ_HIGHPRI | WQ_UNBOUND); +		rf->cqp_cmpl_wq = +			alloc_ordered_workqueue("cqp_cmpl_wq", WQ_HIGHPRI);  		if (!rf->cqp_cmpl_wq) {  			status = -ENOMEM;  			break;  |