mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 07:01:32 +00:00
scsi: megaraid_sas: Fix combined reply queue mode detection
For Invader series, if FW supports more than 8 MSI-x vectors, driver needs to enable combined reply queue mode. For Ventura series, driver enables combined reply queue mode in case of more than 16 MSI-x vectors. Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com> Signed-off-by: Shivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
1401371d7f
commit
e29c322133
@ -5415,12 +5415,29 @@ static int megasas_init_fw(struct megasas_instance *instance)
|
||||
instance->msix_vectors = (scratch_pad_2
|
||||
& MR_MAX_REPLY_QUEUES_OFFSET) + 1;
|
||||
fw_msix_count = instance->msix_vectors;
|
||||
} else { /* Invader series supports more than 8 MSI-x vectors*/
|
||||
} else {
|
||||
instance->msix_vectors = ((scratch_pad_2
|
||||
& MR_MAX_REPLY_QUEUES_EXT_OFFSET)
|
||||
>> MR_MAX_REPLY_QUEUES_EXT_OFFSET_SHIFT) + 1;
|
||||
|
||||
/*
|
||||
* For Invader series, > 8 MSI-x vectors
|
||||
* supported by FW/HW implies combined
|
||||
* reply queue mode is enabled.
|
||||
* For Ventura series, > 16 MSI-x vectors
|
||||
* supported by FW/HW implies combined
|
||||
* reply queue mode is enabled.
|
||||
*/
|
||||
switch (instance->adapter_type) {
|
||||
case INVADER_SERIES:
|
||||
if (instance->msix_vectors > 8)
|
||||
instance->msix_combined = true;
|
||||
break;
|
||||
case VENTURA_SERIES:
|
||||
if (instance->msix_vectors > 16)
|
||||
instance->msix_combined = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if (rdpq_enable)
|
||||
instance->is_rdpq = (scratch_pad_2 & MR_RDPQ_MODE_OFFSET) ?
|
||||
|
Loading…
Reference in New Issue
Block a user