Message ID | 20220606161034.3544803-1-pbrobinson@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | a7cd3cf0b2e5aaacfe5e02c472bd28e98e640be7 |
Headers | show |
Series | dmaengine: imx-sdma: Allow imx8m for imx7 FW revs | expand |
On Mon, Jun 6, 2022 at 1:10 PM Peter Robinson <pbrobinson@gmail.com> wrote: > > The revision of the imx-sdma IP that is in the i.MX8M series is the > same is that as that in the i.MX7 series but the imx7d MODULE_FIRMWARE > directive is wrapped in a condiditional which means it's not defined > when built for aarch64 SOC_IMX8M platforms and hence you get the > following errors when the driver loads on imx8m devices: > > imx-sdma 302c0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2 > imx-sdma 302c0000.dma-controller: external firmware not found, using ROM firmware > > Add the SOC_IMX8M into the check so the firmware can load on i.MX8. > > Fixes: 1474d48bd639 ("arm64: dts: imx8mq: Add SDMA nodes") > Fixes: 941acd566b18 ("dmaengine: imx-sdma: Only check ratio on parts that support 1:1") > Signed-off-by: Peter Robinson <pbrobinson@gmail.com> > Cc: stable@vger.kernel.org # v5.2+ Reviewed-by: Fabio Estevam <festevam@gmail.com>
On 06-06-22, 17:10, Peter Robinson wrote: > The revision of the imx-sdma IP that is in the i.MX8M series is the > same is that as that in the i.MX7 series but the imx7d MODULE_FIRMWARE > directive is wrapped in a condiditional which means it's not defined > when built for aarch64 SOC_IMX8M platforms and hence you get the > following errors when the driver loads on imx8m devices: > > imx-sdma 302c0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2 > imx-sdma 302c0000.dma-controller: external firmware not found, using ROM firmware > > Add the SOC_IMX8M into the check so the firmware can load on i.MX8. Applied, thanks
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 8535018ee7a2..900cafdaf359 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -2346,7 +2346,7 @@ MODULE_DESCRIPTION("i.MX SDMA driver"); #if IS_ENABLED(CONFIG_SOC_IMX6Q) MODULE_FIRMWARE("imx/sdma/sdma-imx6q.bin"); #endif -#if IS_ENABLED(CONFIG_SOC_IMX7D) +#if IS_ENABLED(CONFIG_SOC_IMX7D) || IS_ENABLED(CONFIG_SOC_IMX8M) MODULE_FIRMWARE("imx/sdma/sdma-imx7d.bin"); #endif MODULE_LICENSE("GPL");
The revision of the imx-sdma IP that is in the i.MX8M series is the same is that as that in the i.MX7 series but the imx7d MODULE_FIRMWARE directive is wrapped in a condiditional which means it's not defined when built for aarch64 SOC_IMX8M platforms and hence you get the following errors when the driver loads on imx8m devices: imx-sdma 302c0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2 imx-sdma 302c0000.dma-controller: external firmware not found, using ROM firmware Add the SOC_IMX8M into the check so the firmware can load on i.MX8. Fixes: 1474d48bd639 ("arm64: dts: imx8mq: Add SDMA nodes") Fixes: 941acd566b18 ("dmaengine: imx-sdma: Only check ratio on parts that support 1:1") Signed-off-by: Peter Robinson <pbrobinson@gmail.com> Cc: stable@vger.kernel.org # v5.2+ --- drivers/dma/imx-sdma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)