From: maxime.ripard@bootlin.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/6] spi: sun4i: restrict transfer length in PIO-mode
Date: Tue, 3 Apr 2018 13:40:06 +0200 [thread overview]
Message-ID: <20180403114006.u7tz2c7lvofsqwtg@flea> (raw)
In-Reply-To: <4390604e-092b-a89d-3581-b57ee9cbb6a1@orpaltech.com>
On Tue, Apr 03, 2018 at 02:08:43PM +0300, Sergey Suloev wrote:
> On 04/03/2018 11:10 AM, Maxime Ripard wrote:
> > On Thu, Mar 29, 2018 at 09:59:03PM +0300, Sergey Suloev wrote:
> > > There is no need to handle 3/4 empty/full interrupts as the maximum
> > > supported transfer length in PIO mode is 64 bytes for sun4i-family
> > > SoCs.
> > That assumes that you'll be able to treat the FIFO full interrupt and
> > drain the FIFO before we have the next byte coming in. This would
> > require a real time system, and we're not in one of them.
>
> AFAIK in SPI protocol we send and receive at the same time.
It depends. The protocol allows it yes, but most devices I've seen can
only operate in half duplex. But it's not really the point.
> As soon as the transfer length is <= FIFO depth then it means that
> at the moment we get TC interrupt all data for this transfer
> sent/received already.
>
> Is your point here that draining FIFO might be a long operation and we can
> lose next portion of data ?
My point is that, if you get another interrupt(s) right before the
FIFO full interrupt, that interrupt is going to be masked for as long
as it is needed for the previous handler(s) to execute.
If you're having another byte received while the interrupt is masked,
you're losing data.
Maxime
--
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180403/389746ed/attachment.sig>
next prev parent reply other threads:[~2018-04-03 11:40 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-29 18:59 [PATCH 0/6] spi: Add support for DMA transfers in sun4i SPI driver Sergey Suloev
2018-03-29 18:59 ` [PATCH 1/6] spi: core: handle timeout error from transfer_one() Sergey Suloev
2018-03-29 18:59 ` [PATCH 2/6] spi: sun4i: restrict transfer length in PIO-mode Sergey Suloev
2018-04-03 8:10 ` Maxime Ripard
2018-04-03 10:26 ` Sergey Suloev
2018-04-03 11:08 ` Sergey Suloev
2018-04-03 11:40 ` Maxime Ripard [this message]
2018-04-03 12:12 ` Sergey Suloev
2018-03-29 18:59 ` [PATCH 3/6] spi: sun4i: coding style/readability improvements Sergey Suloev
2018-03-29 18:59 ` [PATCH 4/6] spi: sun4i: use completion provided by SPI core driver Sergey Suloev
2018-03-29 18:59 ` [PATCH 5/6] spi: sun4i: introduce register set/unset helpers Sergey Suloev
2018-04-03 8:14 ` Maxime Ripard
2018-04-03 10:27 ` Sergey Suloev
2018-03-29 18:59 ` [PATCH 6/6] spi: sun4i: add DMA transfers support Sergey Suloev
2018-04-03 8:17 ` Maxime Ripard
2018-04-03 13:03 ` Sergey Suloev
2018-04-04 6:27 ` Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180403114006.u7tz2c7lvofsqwtg@flea \
--to=maxime.ripard@bootlin.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox