From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vinod Koul Subject: Re: [PATCH v5 15/15] dmaengine: imx-sdma: add uart rom script Date: Tue, 11 Jun 2019 10:07:31 +0530 Message-ID: <20190611043731.GS9160@vkoul-mobl.Dlink> References: <20190610081753.11422-1-yibin.gong@nxp.com> <20190610081753.11422-16-yibin.gong@nxp.com> <20190610125534.GQ9160@vkoul-mobl.Dlink> <1560251269.9731.41.camel@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1560251269.9731.41.camel@nxp.com> Sender: linux-kernel-owner@vger.kernel.org To: Robin Gong Cc: dl-linux-imx , "linux-kernel@vger.kernel.org" , "robh+dt@kernel.org" , "u.kleine-koenig@pengutronix.de" , "devicetree@vger.kernel.org" , "festevam@gmail.com" , "dan.j.williams@intel.com" , "broonie@kernel.org" , "mark.rutland@arm.com" , "dmaengine@vger.kernel.org" , "catalin.marinas@arm.com" , "will.deacon@arm.com" , "shawnguo@kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-spi@vger.kernel.org" List-Id: devicetree@vger.kernel.org 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@nxp.com wrote: > > > > > > From: Robin Gong > > > > > > 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&data=02%7C01%7Cyibin.gong%40nxp.com%7C6a7833e8a09 > > > 344d9951e08d6eda35fc5%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C > > > 636957683278190279&sdata=RHeypEOREiPGmKveg6gYPy%2FMg8Dzz4JpcHsm > > > %2Bbdxlzo%3D&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 -- ~Vinod