dmaengine: dw: override LLP support if asked in platform data
There are at least two known devices, e.g. DMA controller found on ARC AXS101 SDP board, that have LLP register and no multi block transfer support at the same time. Override autodetection by user provided data. Reported-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Reviewed-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by: Bryan O'Donoghue <pure.logic@nexus-software.ie> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

父節點
c072e113b8
當前提交
5fb23e35ca
@@ -1571,11 +1571,7 @@ int dw_dma_probe(struct dw_dma_chip *chip)
|
||||
(dwc_params >> DWC_PARAMS_MBLK_EN & 0x1) == 0;
|
||||
} else {
|
||||
dwc->block_size = pdata->block_size;
|
||||
|
||||
/* Check if channel supports multi block transfer */
|
||||
channel_writel(dwc, LLP, DWC_LLP_LOC(0xffffffff));
|
||||
dwc->nollp = DWC_LLP_LOC(channel_readl(dwc, LLP)) == 0;
|
||||
channel_writel(dwc, LLP, 0);
|
||||
dwc->nollp = pdata->is_nollp;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user