• X
    dma: mmp_pdma: clear DRCMR when free a phy channel · 26a2dfde
    Xiang Wang 提交于
    In mmp pdma, phy channels are allocated/freed dynamically.
    The mapping from DMA request to DMA channel number in DRCMR
    should be cleared when a phy channel is freed. Otherwise
    conflicts will happen when:
    1. A is using channel 2 and free it after finished, but A
    still maps to channel 2 in DRCMR of A.
    2. Now another one B gets channel 2. So B maps to channel 2
    too in DRCMR of B.
    In the datasheet, it is described that "Do not map two active
    requests to the same channel since it produces unpredictable
    results" and we can observe that during test.
    Signed-off-by: NXiang Wang <wangx@marvell.com>
    Signed-off-by: NVinod Koul <vinod.koul@intel.com>
    26a2dfde
mmp_pdma.c 22.6 KB