From: Brian Norris <computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Michal Suchanek <hramrach-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Heiner Kallweit
<hkallweit1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
MTD Maling List
<linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Martin Sperl <martin-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
Subject: Re: RfC: Handle SPI controller limitations like maximum message length
Date: Fri, 20 Nov 2015 15:22:11 -0800 [thread overview]
Message-ID: <20151120232211.GA64635@google.com> (raw)
In-Reply-To: <CAOMqctTt=78C4m2jjMb9mRBOkoZ5uZ4neVm0NS39iNO8otn=dA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Fri, Nov 20, 2015 at 08:05:48PM +0100, Michal Suchanek wrote:
> On 20 November 2015 at 19:59, Heiner Kallweit <hkallweit1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> > Am 20.11.2015 um 13:35 schrieb Mark Brown:
> >> On Fri, Nov 20, 2015 at 11:06:47AM +0100, Heiner Kallweit wrote:
> >>> If the discussed case is valid a clear hint to all users of spi_sync and
> >>> friends should be added that the caller can not rely on status code 0
> >>> only but must check actual_length to verify that the complete message
> >>> was transferred.
> >>
> >> You'll get an error on truncation. It may be possible to recover.
> >>
> > OK, I interpret this as:
> > Controller drivers shall return 0 only if the complete message was
> > transferred successfully.
> > If a controller driver returns an error it has the option to set
> > actual_length to what was transferred successfully.
> >
> > This means we can't use patch 4 from Michal because it bails out as soon
> > as the underlying SPI transfer returns an error.
Right (although you meant patch 7).
> > Instead something like the spi-nor patch I sent on Oct 6th would be needed:
> > [PATCH] mtd: spi-nor: handle controller driver limitations in spi_nor_read
I don't think your patch is good either...
> > It loops over nor->read and ignores errors as long as at least something
> > was read.
> >
>
> I don't think ignoring errors in general is good idea.
...for this reason, at least.
> If it's desirable that a partial transfer is reported as error then a
> particular error value should be defined for this case and drivers
> that can continue the transfer in a driver-specific way (such as
> spi-nor) can check for this error and handle it appropriately and pass
> through any other error.
Based on Mark's further comments (and my own intuition), I'd rather not
try to interpret different error codes to mean "truncated but keep
going" vs. "truncated for other reason, stop now", unless we really have
to.
I think if we do what Heiner was proposing from the beginning -- expose
a reasonable max SPI message length -- then I think we'll cover the bulk
of what we want. SPI NOR drivers can then try "small enough" transfers,
and if we see any errors, those are unexpected, and we abort.
Sound OK?
Brian
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2015-11-20 23:22 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-18 21:19 RfC: Handle SPI controller limitations like maximum message length Heiner Kallweit
[not found] ` <564CEB61.2000601-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-18 21:57 ` Mark Brown
[not found] ` <20151118215755.GL31303-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-18 22:50 ` Heiner Kallweit
[not found] ` <564D0098.4030107-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-19 11:40 ` Mark Brown
[not found] ` <20151119114057.GN31303-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-19 15:00 ` Martin Sperl
[not found] ` <F224F5F3-FAD5-47FE-9419-39E53BCBB8C6-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2015-11-19 17:15 ` Mark Brown
[not found] ` <20151119171538.GO31303-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-20 0:07 ` Brian Norris
[not found] ` <20151120000746.GQ64635-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2015-11-20 11:06 ` Mark Brown
[not found] ` <20151120110616.GR31303-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-20 11:16 ` Martin Sperl
2015-11-20 10:18 ` Martin Sperl
[not found] ` <9CDADBED-FD18-4635-82A9-5AB14C9ABCAE-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2015-11-20 12:05 ` Mark Brown
[not found] ` <20151120120502.GT31303-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-20 12:56 ` Martin Sperl
[not found] ` <08871ECD-52DF-4CBF-AF3D-4C3A442C008A-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2015-11-21 13:49 ` Mark Brown
[not found] ` <20151121134946.GI26072-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-21 14:10 ` Heiner Kallweit
[not found] ` <56507B3B.4080608-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-21 15:57 ` Michal Suchanek
[not found] ` <CAOMqctR=UDEPbgJDY3YvxpbVEEp4t6ajkyv=cVAZp2fLBNBanA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-11-21 22:59 ` [PATCH 0/3] spi: mtd: Handle HW message length restrictions Heiner Kallweit
2015-11-21 23:01 ` [PATCH 1/3] spi: core: add max_msg_size to spi_master Heiner Kallweit
[not found] ` <5650F7D4.1090209-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-22 13:16 ` Mark Brown
[not found] ` <20151122131626.GN26072-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-22 16:15 ` Heiner Kallweit
[not found] ` <5651EA08.5090400-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-23 11:38 ` Mark Brown
[not found] ` <20151123113846.GH1929-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-27 19:26 ` Heiner Kallweit
[not found] ` <5658AE7C.3050507-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-30 16:42 ` Mark Brown
[not found] ` <20151130164223.GE1929-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-30 20:15 ` Heiner Kallweit
2015-11-21 23:08 ` [PATCH 2/3] mtd: m25p80: handle HW message size restrictions Heiner Kallweit
[not found] ` <5650F952.2060409-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-22 12:51 ` Michal Suchanek
2015-11-21 23:11 ` [PATCH 3/3] spi: fsl-espi: make use of max_msg_size in spi_master to handle HW restrictions Heiner Kallweit
2015-11-30 20:24 ` [PATCH v2 1/2] spi: core: add max_msg_size to spi_master Heiner Kallweit
2015-11-30 20:25 ` [PATCH resubmit 2/2] spi: fsl-espi: make use of max_msg_size in spi_master to handle HW restrictions Heiner Kallweit
[not found] ` <565CB0C0.9060104-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-01 14:19 ` Mark Brown
[not found] ` <20151201141923.GJ1929-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-12-01 18:53 ` Heiner Kallweit
2015-11-22 13:19 ` RfC: Handle SPI controller limitations like maximum message length Mark Brown
2015-11-20 0:02 ` Brian Norris
[not found] ` <20151120000226.GP64635-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2015-11-20 6:59 ` Heiner Kallweit
[not found] ` <564EC4E0.90602-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-20 10:06 ` Heiner Kallweit
[not found] ` <CAFSsGVsJBi6yPin7X9MCS8LD6nygjynfgDgFicjojkm0rOJSJw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-11-20 12:35 ` Mark Brown
[not found] ` <20151120123540.GC1929-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-20 18:59 ` Heiner Kallweit
[not found] ` <564F6D99.8090203-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-20 19:05 ` Michal Suchanek
[not found] ` <CAOMqctTt=78C4m2jjMb9mRBOkoZ5uZ4neVm0NS39iNO8otn=dA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-11-20 19:21 ` Mark Brown
[not found] ` <20151120192157.GF1929-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-20 19:44 ` Michal Suchanek
2015-11-20 23:22 ` Brian Norris [this message]
[not found] ` <20151120232211.GA64635-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2015-11-21 22:53 ` Heiner Kallweit
2015-11-20 19:18 ` Mark Brown
[not found] ` <20151120191842.GE1929-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-20 19:37 ` Heiner Kallweit
2015-11-20 12:31 ` Mark Brown
2015-11-20 12:56 ` Michal Suchanek
[not found] ` <CAOMqctQo58yCfzU3u=u3N0zNfhQph2Pw2vnrxsVvAEXi5n2HRw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-11-20 23:07 ` Brian Norris
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=20151120232211.GA64635@google.com \
--to=computersforpeace-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=hkallweit1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=hramrach-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=martin-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.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;
as well as URLs for NNTP newsgroup(s).