Re: [PATCH 0/2] Free running cyclic transfer implementation for pl330
From: Alexander Kochetkov
Date: Wed Apr 26 2017 - 13:02:10 EST
Hello!
Just to let you know, that I got following test report from Stephen (thanks a lot!).
The patch wonât work due to full cyclic transfer doesnât fit into mcbufsz (256 bytes long).
His application requested driver to do cyclic transfer with large number of cycles.
pl330 microcode has restriction on how far PC can change and this limit is 256 bytes,
so increasing mcbufsz will not solve problem. Donât want to make jump bridges or
something like on the fly CPU modified microcode.
> 14 ÐÐÑ. 2017 Ð., Ð 23:24, Stephen Barber <smbarber@xxxxxxxxxxxx> ÐÐÐÐÑÐÐ(Ð):
>
> Hi Alexander,
>
> Thanks for your patches!
>
> I gave them a try on kevin (Samsung Chromebook Plus) with our
> chromeos-4.4 kernel branch, plus some cherry-picks on top to get
> things to apply cleanly. Here's what my tree looks like:
>
> 344daf13fa4e (HEAD -> apply-pl330) dmaengine: pl330: don't emit code
> for one iteration loop
> 062596b83fec dmaengine: pl330: make cyclic transfer free runnable
> 0e75f2647b8e dmaengine: pl330: fix double lock
> 7d22b54b79f2 dmaengine: pl330: remove unused âregsâ
> 8769d7115cec dmaengine: pl330: do not generate unaligned access
> 65ad077f685b dmaengine: pl330: convert callback to helper function
> 368e7aa6dffd dmaengine: add support to provide error result from a DMA
> transation
> 8f8afe84472f dmaengine: Add helper function to prep for error reporting
> 2acc1e704232 dmaengine: pl330: explicitly freeup irq
> ed36cde14cf0 (m/master, cros/chromeos-4.4) UPSTREAM: audit: add tty
> field to LOGIN event
>
> Unfortunately when I start playing audio, things don't seem to work :(
> Rolling back HEAD to "dmaengine: pl330: fix double lock" works though.
>
> The only thing I get from dmesg relevant to pl330 is this:
> [ 59.203375] dma-pl330 ff6d0000.dma-controller:
> pl330_submit_req:1498 Try increasing mcbufsz (12810/256)
> [ 59.203395] dma-pl330 ff6d0000.dma-controller: fill_queue:2023 Bad Desc(2)
> [ 63.837390] dma-pl330 ff6d0000.dma-controller:
> pl330_submit_req:1498 Try increasing mcbufsz (12810/256)
> [ 63.837410] dma-pl330 ff6d0000.dma-controller: fill_queue:2023 Bad Desc(2)
>
> Thanks,
> Steve
>
> 14 ÐÐÑ. 2017 Ð., Ð 21:04, Krzysztof Kozlowski <krzk@xxxxxxxxxx> ÐÐÐÐÑÐÐ(Ð):
>
> Let me know if you need more data. I wonder why you haven't experience
> this?
I donât have idea why this might happen on Odroid and due to the fact the patch donât
work for Stephen and I donât have another idea how to implement that, it is better to
leave the problem along.
Krzysztof, thanks a lot for help. Really.
Regards,
Alexander.