Message ID | 20181213184444.21904-1-geert+renesas@glider.be (mailing list archive) |
---|---|
Headers | show |
Series | serial: sh-sci: Fix fallback to PIO on DMA failure | expand |
On 12/13/18 12:44 PM, Geert Uytterhoeven wrote: > Hi Greg, Jiri, > > When submitting a DMA request fails, the sh-sci driver is supposed to > fall back to PIO. However, this never really worked due to various > reasons (sh-sci driver issues and dmaengine framework limitations). Is it possible to test this under qemu-system-sh4? (Does that emulate the DMA controller?) Rob
Hi Rob, On Sun, Dec 16, 2018 at 3:22 AM Rob Landley <rob@landley.net> wrote: > On 12/13/18 12:44 PM, Geert Uytterhoeven wrote: > > When submitting a DMA request fails, the sh-sci driver is supposed to > > fall back to PIO. However, this never really worked due to various > > reasons (sh-sci driver issues and dmaengine framework limitations). > > Is it possible to test this under qemu-system-sh4? (Does that emulate the DMA > controller?) No, the sh-sci emulation in QEMU is very limited, and does not include DMA. My patch series does not affect PIO mode, only errors paths in DMA code. Gr{oetje,eeting}s, Geert
On Thu, Dec 13, 2018 at 07:44:40PM +0100, Geert Uytterhoeven wrote: > Hi Greg, Jiri, > > When submitting a DMA request fails, the sh-sci driver is supposed to > fall back to PIO. However, this never really worked due to various > reasons (sh-sci driver issues and dmaengine framework limitations). > > There are three places where DMA submission can fail, and the driver > should fall back to PIO: > 1. sci_dma_rx_complete(), > 2. sci_submit_rx(), > 3. work_fn_tx(). > > This patch series fixes fallback to PIO in the receive path (cases 1 and > 2). > Fallback to PIO in the transmit path (case 3) already seems to work > fine. > > Changes compared to v3: > - Let sci_submit_rx() return -EAGAIN instead of -1 on failure, > - Check for negative error in sci_submit_rx() caller. First 3 patches now queued up, thanks. I'll wait for a respin or something for patch 4. thanks, greg k-h