Re: [PATCH v3 1/1] dmaengine: dw: Select only supported masters for ACPI devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 24, 2024 at 09:07:19PM +0200, Ferry Toth wrote:
> Op 20-09-2024 om 17:56 schreef Andy Shevchenko:
> > From: Serge Semin <fancer.lancer@xxxxxxxxx>
> > 
> > The recently submitted fix-commit revealed a problem in the iDMA 32-bit
> > platform code. Even though the controller supported only a single master
> > the dw_dma_acpi_filter() method hard-coded two master interfaces with IDs
> > 0 and 1. As a result the sanity check implemented in the commit
> > b336268dde75 ("dmaengine: dw: Add peripheral bus width verification")
> > got incorrect interface data width and thus prevented the client drivers
> > from configuring the DMA-channel with the EINVAL error returned. E.g.,
> > the next error was printed for the PXA2xx SPI controller driver trying
> > to configure the requested channels:
> > 
> > > [  164.525604] pxa2xx_spi_pci 0000:00:07.1: DMA slave config failed
> > > [  164.536105] pxa2xx_spi_pci 0000:00:07.1: failed to get DMA TX descriptor
> > > [  164.543213] spidev spi-SPT0001:00: SPI transfer failed: -16
> > 
> > The problem would have been spotted much earlier if the iDMA 32-bit
> > controller supported more than one master interfaces. But since it
> > supports just a single master and the iDMA 32-bit specific code just
> > ignores the master IDs in the CTLLO preparation method, the issue has
> > been gone unnoticed so far.
> > 
> > Fix the problem by specifying the default master ID for both memory
> > and peripheral devices in the driver data. Thus the issue noticed for
> > the iDMA 32-bit controllers will be eliminated and the ACPI-probed
> > DW DMA controllers will be configured with the correct master ID by
> > default.

...

> Tested-by: Ferry Toth <fntoth@xxxxxxxxx> (Intel Edison-Arduino)

Thanks for testing!
Vinod, can this be queued for v6.12-rc3?

-- 
With Best Regards,
Andy Shevchenko






[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux