• Sreekanth Reddy's avatar
    mpt3sas: Added Combined Reply Queue feature to extend up-to 96 MSIX vector support · fb77bb53
    Sreekanth Reddy authored
    In this patch, increased the number of MSIX vector support for SAS3 C0 HBAs to
    up-to 96.
    
    Following are changes that are done in this patch
    
    1. This feature is enabled only for SAS3 C0 and higher revision cards and also
    only when reply post free queue count is greater than 8.
    
    2. To support this feature 12 SupplementalReplyPostHostIndex system interfaces
    are used. MSI-X index numbered from 0 to 7 use the first
    SupplementalReplyPostHostIndex system interface to update its corresponding
    ReplyPostHostIndex values, MSI-X index numbered from 8 to 15 will use the
    second SupplementalReplyPostHostIndex system interface and so on. These 12
    SuppementalReplyPostHostIndex system interfaces address are saved in the array
    replyPostRegisterIndex[].
    
    3. As each SupplementalReplyPostHostIndex register supports 8 MSI-X
    vectors. So MSIxIndex field in these register must contain a value between 0
    and 7.
    
    4. After processing the reply descriptors from a reply post free queues then
    update the new reply post host index value in ReplyPostHostIndex field and
    (msix_index mod 8) value in MSIxIndex field of SupplementalReplyPostHostIndex
    register. The Address of this SupplementalReplyPostHostIndex register is
    retrived from (msix_index/8)th entry of replyPostRegisterIndex[] array.
    Signed-off-by: default avatarSreekanth Reddy <Sreekanth.Reddy@avagotech.com>
    Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: default avatarJames Bottomley <JBottomley@Odin.com>
    fb77bb53
mpt3sas_base.c 143 KB