From: Heiner Kallweit <hkallweit1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Brian Norris
<computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Michal Suchanek
<hramrach-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
MTD Maling List
<linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
Cyrille Pitchen
<cyrille.pitchen-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>,
Marek Vasut <marex-ynQEQJNshbs@public.gmane.org>,
Han Xu <han.xu-3arQi8VN3Tc@public.gmane.org>,
linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 2/2] mtd: m25p80: consider max_transfer_size when reading
Date: Tue, 7 Jun 2016 08:03:11 +0200 [thread overview]
Message-ID: <fe0042f9-66c9-51fd-ca91-641c5cc25c40@gmail.com> (raw)
In-Reply-To: <20160606230752.GM7510-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
Am 07.06.2016 um 01:07 schrieb Mark Brown:
> On Mon, Jun 06, 2016 at 08:53:10PM +0200, Heiner Kallweit wrote:
>> Am 06.06.2016 um 19:40 schrieb Mark Brown:
>
>>> That doesn't make any sense, the controller hardware doesn't
>>> magically change based on what is connected to it.
>
>> The issue with fsl-espi is that the controller deactivates CS after
>> each physical transfer. And a lot of HW designs use the hardware CS,
>> therefore the advise to use a GPIO instead doesn't really help.
>
> There's no pinmux to fix the broken behaviour? The Freescale SPI
> controllers really are terrible :(
>
>> In case of SPI NOR CS needs to stay active between command and data
>
> In the case of *all* SPI transactions this needs to happen. This is
> *not* optional, it's not some weird requirement of NOR, it's one of the
> most basic requirements for a SPI driver on Linux.
>
>> Well, we could reduce the max_transfer_size exposed by the driver by
>> the max length of a m25p80 read command in general.
>
> No! Apart from anything else this would be a complete and total
> abstraction failure. This is a driver for a SPI controller, not a
> driver for a flash controller, which means that it should not have flash
> specific hacks in it.
>
>> Then we might be too strict for other SPI devices, but this may
>> be acceptable as the current fsl-espi driver is usable with SPI NOR
>> devices only anyway.
>
> What makes you say this? I'm guessing that the driver is just broken
> but it would be good to understand the specifics.
>
See fsl_espi_rw_trans():
In case of transfers > SPCOM_TRANLEN_MAX it loops and reads in
SPCOM_TRANLEN_MAX chunks whilst replacing bytes 2-4 of the
message buffer with the new start address to read from.
Having said that it implicitely assumes that the first transfer in
the message is a m25p80 read command with a 3 byte address.
And in fsl_espi_do_one_msg() it assumes that each message includes
max one r/o transfer (else rx_buf is overwritten).
I'm not 100% sure whether any arbitrary combination of r/o, r/w, w/o
transfers in a SPI message is acceptable. But this controller driver
supports just the transfer combinations generated by the m25p80
protocol driver.
--
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:[~2016-06-07 6:03 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <56D22823.7090005@gmail.com>
[not found] ` <20160405193952.GA5243@localhost>
[not found] ` <57041B43.2000109@gmail.com>
[not found] ` <20160405210727.GB5243@localhost>
[not found] ` <5706B084.2070909@gmail.com>
[not found] ` <5706B084.2070909-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-05-05 23:57 ` [PATCH 2/2] mtd: m25p80: consider max_transfer_size when reading Brian Norris
[not found] ` <20160505235700.GA99474-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2016-05-06 12:14 ` Mark Brown
[not found] ` <20160506121431.GQ6292-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-06-03 22:22 ` Heiner Kallweit
[not found] ` <77a22258-95ca-031a-825d-a9e98e30a162-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-06 17:40 ` Mark Brown
[not found] ` <20160606174003.GE7510-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-06-06 18:28 ` Brian Norris
[not found] ` <20160606182803.GA128439-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2016-06-06 18:34 ` Mark Brown
[not found] ` <20160606183426.GJ7510-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-06-06 18:43 ` Brian Norris
[not found] ` <20160606184348.GA135086-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2016-06-06 18:48 ` Mark Brown
2016-06-06 18:53 ` Heiner Kallweit
[not found] ` <a57adb90-0d80-186f-17d3-6fdf106bfb4a-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-06 19:40 ` Michal Suchanek
[not found] ` <CAOMqctRH9a0QmubdAvbyk=AC10MSa=nsNRkSURU+JOwKrN9HCA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-06 21:02 ` Heiner Kallweit
2016-06-06 19:46 ` Geert Uytterhoeven
2016-06-06 21:20 ` Heiner Kallweit
[not found] ` <971ad721-5644-e5f9-2918-65db0e6b1996-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-06 22:28 ` Marek Vasut
[not found] ` <5755F8FB.2070409-ynQEQJNshbs@public.gmane.org>
2016-06-07 4:52 ` Heiner Kallweit
2016-06-06 23:07 ` Mark Brown
[not found] ` <20160606230752.GM7510-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-06-07 6:03 ` Heiner Kallweit [this message]
[not found] ` <fe0042f9-66c9-51fd-ca91-641c5cc25c40-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-07 8:10 ` Michal Suchanek
[not found] ` <CAOMqctRmtCXurb8A05m2kw+9EjU+AWB8Uj0z1FPO792kGG=36Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-07 20:42 ` Heiner Kallweit
2016-06-08 19:51 ` Heiner Kallweit
[not found] ` <20977e07-6354-2753-8286-e992c32454d1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-09 7:12 ` Michal Suchanek
[not found] ` <CAOMqctQfsN4OoXN59yH13n-UJiEUJVOkxzMTMAndmBc8Dq+ANA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-17 20:13 ` Heiner Kallweit
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=fe0042f9-66c9-51fd-ca91-641c5cc25c40@gmail.com \
--to=hkallweit1-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=cyrille.pitchen-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org \
--cc=han.xu-3arQi8VN3Tc@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=marex-ynQEQJNshbs@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).