Thread (30 messages) 30 messages, 4 authors, 2018-04-10

[PATCH v3 3/6] spi: sun6i: restrict transfer length in PIO-mode

From: broonie@kernel.org (Mark Brown)
Date: 2018-04-09 11:27:12
Also in: linux-spi, lkml

On Mon, Apr 09, 2018 at 02:10:40PM +0300, Sergey Suloev wrote:
On 04/09/2018 01:50 PM, Mark Brown wrote:
quoted
On Mon, Apr 09, 2018 at 01:26:23PM +0300, Sergey Suloev wrote:
quoted
quoted
Because current implementation tries to send more than FIFO-depth of data in
a single call to "transfer_one" which is wrong.
quoted
No, that's absolutely not the case.  All any of these functions has to
do is transfer whatever they were asked to, how they do it is not at all
important to the framework.
I think you don't fully understand the issue. Let's talk about sun4i and?
sun6i SPI? drivers separately.
sun4i
1)it is correctly declaring max_transfer_size=FIFO depth for PIO mode? but
transfer_one() function doesn't follow the declaration allowing PIO
transfers longer than FIFO depth? by just refilling FIFO using 3/4 FIFO
empty interrupt. I can definitely state here that long transfers WON'T WORK
on real hardware. I tested it and that's why I can say that. But as soon as
sun4i SPI driver? is correctly declaring max_transfer_size then "smart"
clients will work well by limiting a single transfer size to FIFO depth. I
tested it with real hardware, again.
None of this is in the slightest bit related to the use of transfer_one() 
vs transfer_one_message().  These are all implementation details and
will so far as I can tell apply equally to both APIs.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180409/1c431774/attachment.sig>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help