Re: [PATCH v5 15/15] dmaengine: imx-sdma: add uart rom script

From: Vinod Koul
Date: Tue Jun 11 2019 - 00:45:10 EST


On 11-06-19, 03:04, Robin Gong wrote:
> On 2019-06-10 at 12:55 +0000, Vinod Koul wrote:
> > On 10-06-19, 16:17, yibin.gong@xxxxxxx wrote:
> > >
> > > From: Robin Gong <yibin.gong@xxxxxxx>
> > >
> > > For the compatibility of NXP internal legacy kernel before 4.19
> > > which
> > > is based on uart ram script and upstreaming kernel based on uart
> > > rom
> > > script, add both uart ram/rom script in latest sdma firmware. By
> > > default
> > > uart rom script used.
> > > Besides, add two multi-fifo scripts for SAI/PDM on i.mx8m/8mm and
> > > add
> > > back qspi script miss for v4(i.mx7d/8m/8mm family, but v3 is for
> > > i.mx6).
> > >
> > > rom script:
> > > uart_2_mcu_addr
> > > uartsh_2_mcu_addr /* through spba bus */
> > > ram script:
> > > uart_2_mcu_ram_addr
> > > uartsh_2_mcu_ram_addr /* through spba bus */
> > >
> > > Please get latest sdma firmware from the below and put them into
> > > the path
> > > (/lib/firmware/imx/sdma/):
> > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fg
> > > it.kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ffirmware%2Flinux
> > > -firmware.git&amp;data=02%7C01%7Cyibin.gong%40nxp.com%7C6a7833e8a09
> > > 344d9951e08d6eda35fc5%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C
> > > 636957683278190279&amp;sdata=RHeypEOREiPGmKveg6gYPy%2FMg8Dzz4JpcHsm
> > > %2Bbdxlzo%3D&amp;reserved=0
> > > /tree/imx/sdma
> > How does this work with folks have older firmware?
> The older SDMA RAM script(firmware) will break the uart driver of
> upstreaming kernel for these years, this is why Lucas raise uart driver
> patch (commit 905c0decad28) to use ROM script instead. There are two
> ways to fix uart issue: one is checking 'Idle Condition
> Detection'/'Aging timer' in RAM script and enable 'IDLE' in uart
> driver, another is only checking 'Aging timer' in ROM script and
> adjusting RX FIFO burst length one word less to ensure at least one
> word left forever in RX FIFO which is the trigger requirement of 'Aging
> timer'(So no need 'IDLE', 'Aging time' is enough) . FSL/NXP internal
> kernel go with the first option, while upstreaming kernel go with the
> second. Since Lucas's patch assume ROM script used in kernel and
> disable 'IDLE', upstreaming kernel broken in uart driver with older
> firmware for these years. So this patch is just for fix this
> compatibility issue with the ram script(older firmware) updated in
> linux-firmware(done already.), thus both RAM script and ROM script can
> work in kernel. Besides, kernel with the latest RAM firmware and this
> patch set can workaround ecspi issue without any function break which
> Lucas concerned about.

Acked-by: Vinod Koul <vkoul@xxxxxxxxxx>

--
~Vinod