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>
Subject: Re: RfC: Handle SPI controller limitations like maximum message length
Date: Fri, 20 Nov 2015 15:07:43 -0800 [thread overview]
Message-ID: <20151120230743.GZ64635@google.com> (raw)
In-Reply-To: <CAOMqctQo58yCfzU3u=u3N0zNfhQph2Pw2vnrxsVvAEXi5n2HRw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hi Michal,
On Fri, Nov 20, 2015 at 01:56:21PM +0100, Michal Suchanek wrote:
> I was dealing
> with a driver that can transfer up to 63 bytes because it has 64byte
> fifo and the hardware locks up when it's full. The limitation is only
> due to the driver cutting way too many corners. There is dmaengine
> support available for the platform which has been merged recently so
> the driver can use DMA for arbitrarily long transfers. Even without
> DMA there is possibility to to drive CS manually and compose multiple
> transfers into single logical message or whatever.
>
> Either way, the limit of 63 bytes is very low and would actually cause
> problems with many device drivers so it was agreed that fixing the
> master one way or another is desirable.
Thanks for clarifying what your underlying SPI driver/controller
limitations are. I've probably heard this before, but it's hard to keep
track. This helps me review your MTD/SPI-NOR patches better.
All in all, I believe this is not acceptable for SPI NOR. Even if things
"mostly work" by limiting messages to 64 (or 63) bytes, I don't think
they are good in the long run, since the flash may respond differently
to sub-256-byte writes than to 256+ byte writes. I mentioned some of
this in reply to your other patches, but I think a SPI NOR driver would
just have to reject you if you can't even transfer one flash page of
data.
> 64k limit on the other hand is something more usable from driver
> writer standpoint and some banked mmap access to flash memories would
> have similar granularity.
Right.
> I would also like to point out that the limit depends on the transfer
> settings. For example, a SPI controller can have no limit on transfer
> size but when accessing a flash memory through mmap interface the mmap
> window limits the amount of data you can transfer at once. This
> particular case may be fixable by moving the mmap window transparently
> inside the driver.
Hmm, I'm not sure I have much opinion on that one without having a
non-theoretical case. It seems like it'd be best if the SPI master
driver can work as best as it can to respect a single reasonable "max
mesage size", even if that means choosing the lowest common denominator
of all limitations.
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
prev parent reply other threads:[~2015-11-20 23:07 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
[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 [this message]
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=20151120230743.GZ64635@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 \
/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).