Re: [PATCH 6/7] dw_dmac: check if controller supports LLP

viresh kumar
2012-09-18T07:13:51Z

On Mon, Sep 17, 2012 at 1:09 PM, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> Some controllers have the reduced functionality where the LLP multi block
> transfers are not supported. This patch introduces a check and refuses to deal
> with such devices.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/dma/dw_dmac.c | 35 ++++++++++++++++++++++++++++++++++-
> drivers/dma/dw_dmac_regs.h | 4 ++++
> 2 files changed, 38 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c
> index fdb7d5a..00958ad 100644
> --- a/drivers/dma/dw_dmac.c
> +++ b/drivers/dma/dw_dmac.c
> @@ -647,6 +647,12 @@ dwc_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src,
> unsigned int dst_width;
> u32 ctllo;
>
> + if (dwc->nollp) {
> + dev_dbg(chan2dev(&dwc->chan),
> + "channel doesn't support LLP transfers\n");
> + return NULL;
> + }

But this could have been a single block request. Isn't it?

--
viresh