lkml.org 
[lkml]   [2020]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v11 12/12] dmaengine: imx-sdma: add uart rom script
From
Date
On 10.08.20 12:57, Robin Gong wrote:
> On 2020/08/10 15:33 Frieder Schrempf <frieder.schrempf@kontron.de> wrote:
>> Hi Robin,
>>
>> This patch seems to break UART DMA in case the ROM firmware is used. In that
>> case sdma->script_number is set to SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V1, so
>> the ROM scripts at uart_2_mcu_addr and uartsh_2_mcu_addr will never be
>> added in sdma_add_scripts() as they are now moved beyond the V1 max index.
>>
>> Reverting this patch fixes UART DMA with ROM firmware.
>> Can you please find a way to fix this or just drop this change?
>>
> Hi Frieder,
> Thanks for your report, could you try with the additional below patch?
> If that works, I'll merge it into next version.

Sorry, I can't promise to find the time to spin up a test for this
anytime soon. But the diff looks like it would work.

It would be nice if we could get this patchset merged soon, as it also
seems to provide fixes for SPI on i.MX8MM. So any help with reviewing
and testing is appreciated.

>
> diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
> index 5900e32..4db55b9 100644
> --- a/drivers/dma/imx-sdma.c
> +++ b/drivers/dma/imx-sdma.c
> @@ -1754,6 +1754,19 @@ static void sdma_add_scripts(struct sdma_engine *sdma,
> for (i = 0; i < sdma->script_number; i++)
> if (addr_arr[i] > 0)
> saddr_arr[i] = addr_arr[i];
> +
> + /*
> + * get uart_2_mcu_addr/uartsh_2_mcu_addr rom script specially because
> + * they are now replaced by uart_2_mcu_ram_addr/uartsh_2_mcu_ram_addr
> + * to be compatible with legacy freescal/nxp sdma firmware, and they
> + * are located in the bottom part of sdma_script_start_addrs which are
> + * beyond the SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V1.
> + */
> + if (addr->uart_2_mcu_addr)
> + sdma->script_addrs->uart_2_mcu_addr = addr->uart_2_mcu_addr;
> + if (addr->uartsh_2_mcu_addr)
> + sdma->script_addrs->uartsh_2_mcu_addr = addr->uartsh_2_mcu_addr;
> +
> }
>
>

\
 
 \ /
  Last update: 2020-08-11 09:11    [W:0.070 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site