All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@kernel.org>
To: Robin Gong <yibin.gong@nxp.com>
Cc: Vinod Koul <vkoul@kernel.org>,
	"shawnguo@kernel.org" <shawnguo@kernel.org>,
	"s.hauer@pengutronix.de" <s.hauer@pengutronix.de>,
	"festevam@gmail.com" <festevam@gmail.com>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>,
	"matthias.schiffer@ew.tq-group.com" 
	<matthias.schiffer@ew.tq-group.com>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	dl-linux-imx <linux-imx@nxp.com>,
	"linux-spi@vger.kernel.org" <linux-spi@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v1 RFC 1/2] spi: introduce fallback to pio
Date: Fri, 12 Jun 2020 15:16:11 +0100	[thread overview]
Message-ID: <20200612141611.GI5396@sirena.org.uk> (raw)
In-Reply-To: <VE1PR04MB66384013797FE6B01943F2A889810@VE1PR04MB6638.eurprd04.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 2533 bytes --]

On Fri, Jun 12, 2020 at 01:48:41PM +0000, Robin Gong wrote:
> On 2020/06/12 18:14 Mark Brown <broonie@kernel.org> wrote: 

> > Please look at the formatting of your e-mails - they're really hard to read.  The
> > line length is over 80 columns and there's no breaks between paragraphs.

> Sorry for that, seems my outlook format issue, hope it's ok now this time :)

Yes, looks good thanks!

> > Client could enable this feature by choosing SPI_MASTER_FALLBACK freely
> > without any impact on others.

> > SPI_MASTER_FALLBACK.  If this works why would any driver not enable the
> > flag?

> Just make sure little impact if it's not good enough and potential issue may
> come out after it's merged into mainline. TBH, I'm not sure if it has taken
> care all in spi core. Besides, I don't know if other spi client need this feature.

It's not something that's going to come up a lot for most devices, it'd
be a mapping failure due to running out of memory or something, but your
point about that being possible is valid.

> > > Any error happen in DMA could fallback to PIO , seems a nice to have,
> > because it could
> > > give chance to run in PIO which is more reliable. But if there is also error in

> > PIO, thus may loop here, it's better adding limit try times here?

> > An error doesn't mean nothing happened on the bus, an error could for
> > example also be something like a FIFO overrun which corrupts data.

> Do you mean fallback to PIO may cause FIFO overrun since some latency
> involved so that this patch seems not useful as expected?

No, I mean that the reason the DMA transfer fails may be something that
happens after we've started putting things on the bus - the bit about
FIFOs is just a random example of an error that could happen.

> > It *could* but only in extreme situations, and again this isn't just handling
> > errors from failure to prepare the hardware but also anything that happens
> > after it.

> Okay, understood your point. You prefer to some interface provided by dma
> engine before dmaengine_prep_slave_sg so that can_dma() can know if
> this dma channel is ready indeed. But unfortunately, seems there is no one....

Well, this is free software and everything can be modified!  The other
option would be framework changes in SPI that allowed us to indicate
from the driver that an error occured before we started doing anything
to the hardware (like happens here) through something like a special
error code or splitting up the API.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Mark Brown <broonie@kernel.org>
To: Robin Gong <yibin.gong@nxp.com>
Cc: "matthias.schiffer@ew.tq-group.com"
	<matthias.schiffer@ew.tq-group.com>,
	"shawnguo@kernel.org" <shawnguo@kernel.org>,
	"s.hauer@pengutronix.de" <s.hauer@pengutronix.de>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>,
	"linux-spi@vger.kernel.org" <linux-spi@vger.kernel.org>,
	Vinod Koul <vkoul@kernel.org>, dl-linux-imx <linux-imx@nxp.com>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	"festevam@gmail.com" <festevam@gmail.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v1 RFC 1/2] spi: introduce fallback to pio
Date: Fri, 12 Jun 2020 15:16:11 +0100	[thread overview]
Message-ID: <20200612141611.GI5396@sirena.org.uk> (raw)
In-Reply-To: <VE1PR04MB66384013797FE6B01943F2A889810@VE1PR04MB6638.eurprd04.prod.outlook.com>


[-- Attachment #1.1: Type: text/plain, Size: 2533 bytes --]

On Fri, Jun 12, 2020 at 01:48:41PM +0000, Robin Gong wrote:
> On 2020/06/12 18:14 Mark Brown <broonie@kernel.org> wrote: 

> > Please look at the formatting of your e-mails - they're really hard to read.  The
> > line length is over 80 columns and there's no breaks between paragraphs.

> Sorry for that, seems my outlook format issue, hope it's ok now this time :)

Yes, looks good thanks!

> > Client could enable this feature by choosing SPI_MASTER_FALLBACK freely
> > without any impact on others.

> > SPI_MASTER_FALLBACK.  If this works why would any driver not enable the
> > flag?

> Just make sure little impact if it's not good enough and potential issue may
> come out after it's merged into mainline. TBH, I'm not sure if it has taken
> care all in spi core. Besides, I don't know if other spi client need this feature.

It's not something that's going to come up a lot for most devices, it'd
be a mapping failure due to running out of memory or something, but your
point about that being possible is valid.

> > > Any error happen in DMA could fallback to PIO , seems a nice to have,
> > because it could
> > > give chance to run in PIO which is more reliable. But if there is also error in

> > PIO, thus may loop here, it's better adding limit try times here?

> > An error doesn't mean nothing happened on the bus, an error could for
> > example also be something like a FIFO overrun which corrupts data.

> Do you mean fallback to PIO may cause FIFO overrun since some latency
> involved so that this patch seems not useful as expected?

No, I mean that the reason the DMA transfer fails may be something that
happens after we've started putting things on the bus - the bit about
FIFOs is just a random example of an error that could happen.

> > It *could* but only in extreme situations, and again this isn't just handling
> > errors from failure to prepare the hardware but also anything that happens
> > after it.

> Okay, understood your point. You prefer to some interface provided by dma
> engine before dmaengine_prep_slave_sg so that can_dma() can know if
> this dma channel is ready indeed. But unfortunately, seems there is no one....

Well, this is free software and everything can be modified!  The other
option would be framework changes in SPI that allowed us to indicate
from the driver that an error occured before we started doing anything
to the hardware (like happens here) through something like a special
error code or splitting up the API.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-06-12 14:16 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-11 12:58 [PATCH v1 RFC 0/2] introduce fallback to pio in spi core Robin Gong
2020-06-11 12:58 ` Robin Gong
2020-06-11 12:58 ` [PATCH v1 RFC 1/2] spi: introduce fallback to pio Robin Gong
2020-06-11 12:58   ` Robin Gong
2020-06-11 13:40   ` Mark Brown
2020-06-11 13:40     ` Mark Brown
2020-06-12  2:18     ` Robin Gong
2020-06-12  2:18       ` Robin Gong
2020-06-12 10:13       ` Mark Brown
2020-06-12 10:13         ` Mark Brown
2020-06-12 13:48         ` Robin Gong
2020-06-12 13:48           ` Robin Gong
2020-06-12 14:16           ` Mark Brown [this message]
2020-06-12 14:16             ` Mark Brown
2020-06-14 13:04             ` Robin Gong
2020-06-14 13:04               ` Robin Gong
2020-06-15  7:19               ` Vinod Koul
2020-06-15  7:19                 ` Vinod Koul
2020-06-15  8:59                 ` Robin Gong
2020-06-15  8:59                   ` Robin Gong
2020-06-15 11:25                   ` Vinod Koul
2020-06-15 11:25                     ` Vinod Koul
2020-06-16  3:05                     ` Robin Gong
2020-06-16  3:05                       ` Robin Gong
2020-06-15 12:35               ` Mark Brown
2020-06-15 12:35                 ` Mark Brown
2020-06-15 13:35                 ` Robin Gong
2020-06-15 13:35                   ` Robin Gong
2020-06-15 13:39                   ` Mark Brown
2020-06-15 13:39                     ` Mark Brown
2020-06-15 14:18                     ` Robin Gong
2020-06-15 14:18                       ` Robin Gong
2020-06-15 14:36                       ` Mark Brown
2020-06-15 14:36                         ` Mark Brown
2020-06-15 14:53                         ` Robin Gong
2020-06-15 14:53                           ` Robin Gong
2020-06-15 14:55                           ` Mark Brown
2020-06-15 14:55                             ` Mark Brown
2020-06-16  2:03                             ` Robin Gong
2020-06-16  2:03                               ` Robin Gong
2020-06-16  9:59                               ` Mark Brown
2020-06-16  9:59                                 ` Mark Brown
2020-06-16 10:13                                 ` Robin Gong
2020-06-16 10:13                                   ` Robin Gong
2020-06-16 10:26                                   ` Mark Brown
2020-06-16 10:26                                     ` Mark Brown
2020-06-16 12:29                                     ` Robin Gong
2020-06-16 12:29                                       ` Robin Gong
2020-06-11 12:58 ` [PATCH v1 RFC 2/2] spi: spi-imx: add fallback feature Robin Gong
2020-06-11 12:58   ` Robin Gong

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=20200612141611.GI5396@sirena.org.uk \
    --to=broonie@kernel.org \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=matthias.schiffer@ew.tq-group.com \
    --cc=robin.murphy@arm.com \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=vkoul@kernel.org \
    --cc=yibin.gong@nxp.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.