• S
    [SCSI] megaraid_sas: Add support for Uneven Span PRL11 · bc93d425
    Sumit.Saxena@lsi.com 提交于
    MegaRAID older Firmware does not support uneven span configuration for PRL11.
    E.g User wants to create 34 Driver PRL11 config, it was not possible using old
    firmware, since it was not supported configuration in old firmware
    
    Old Firmware expect even number of Drives in each span and same number of
    physical drives at each span.  Considering above design, 17 Drives at Span-0
    and 17 drives at span-1 was not possible.
    
    Now, using this new feature Firmware and Driver both required changes.  New
    Firmware can allow user to create 16 Drives at span-0 and 18 Drives at
    span-1. This will allow user to create 34 Drives Uneven span PRL11.
    
    RAID map is interface between Driver and FW to fetch all required
    fields(attributes) for each Virtual Drives.  Since legacy RAID map consider
    Even Span design, there was no place to keep Uneven span information in
    existing Raid map.  Because of this limitation, for Uneven span VD, driver can
    not use RAID map.
    
    This patch address the changes required in Driver to support Uneven span PRL11
    support.
    
    1. Driver will find if Firmware has UnevenSpanSupport or not by reading
       Controller Info.
    2. If Firmware has UnvenSpan PRL11 support, then Driver will inform about its
       capability of handling UnevenSpan PRL11 to the firmware.
    3. Driver will update its copy of span info on each time Raid map update is
       called.
    4. Follow different IO path if it is Uneven Span. (For Uneven Span, Driver
       uses Span Set info to find relavent fields for that particular Virtual
       Disk)
    
    More verbose prints will be available by setting "SPAN_DEBUG" to 1 at
    compilation time.
    Signed-off-by: NSumit Saxena <sumit.saxena@lsi.com>
    Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
    Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
    bc93d425
megaraid_sas_fusion.c 67.7 KB