• Anup Patel's avatar
    dmaengine: bcm-sba-raid: Use only single mailbox channel · 4e9f8187
    Anup Patel authored
    Each mailbox channel used by Broadcom SBA RAID driver is
    a separate HW ring.
    
    Currently, Broadcom SBA RAID driver creates one DMA channel
    using one or more mailbox channels. When we are using more
    than one mailbox channels for a DMA channel, the sba_request
    are distributed evenly among multiple mailbox channels which
    results in sba_request being completed out-of-order.
    
    The above described out-of-order completion of sba_request
    breaks the dma_async_is_complete() API because it assumes
    DMA cookies are completed in orderly fashion.
    
    To ensure correct behaviour of dma_async_is_complete() API,
    this patch updates Broadcom SBA RAID driver to use only
    single mailbox channel. If additional mailbox channels are
    specified in DT then those will be ignored.
    Signed-off-by: default avatarAnup Patel <anup.patel@broadcom.com>
    Reviewed-by: default avatarRay Jui <ray.jui@broadcom.com>
    Reviewed-by: default avatarScott Branden <scott.branden@broadcom.com>
    Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
    4e9f8187
bcm-sba-raid.c 48.3 KB