From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2] spi: orion.c: Add direct access mode
Date: Fri, 25 Mar 2016 16:11:05 +0100 [thread overview]
Message-ID: <4319407.5A4b1VspuB@wuerfel> (raw)
In-Reply-To: <20160325103253.GA2566@sirena.org.uk>
On Friday 25 March 2016 10:32:53 Mark Brown wrote:
> On Thu, Mar 24, 2016 at 09:07:32PM +0100, Arnd Bergmann wrote:
> > On Thursday 24 March 2016 18:51:53 Stefan Roese wrote:
>
> > > I see. But with this we are back to statically mapping the MBus
> > > windows that are used. Resulting in potentially multiple windows
> > > per SPI controller, which is not necessary (Andrew and Mark
> > > objected against that).
>
> > I'm not following here. Do you mean we should set up and tear
> > down the windows in the runtime PM callbacks so they are only
> > present when we actually access a device instead?
>
> What we're trying to avoid is allocating a window to every single client
> device attached to SPI, the controller can only talk to one device at
> once anyway so having one per device is wasteful when this is a limited
> resource. Looking at this from the point of view of a SPI driver it
> just seems obviously bad, in order to get the best performance with this
> controller we need to do a special per-device magic binding. That's not
> good for usability, it's not ideal having to do it per controller but at
> least then it's done for the SoC.
>
> We also already apparently have some dynamic code for PCIe.
The PCI implementation is a bit of a layering violation, as the mbus
binding has to know about the special reserved area that is used for
dynamic PCI mappings.
There is nothing magic in the binding if we just do the same thing
the flash driver does, and describe the memory range that is associated
with a chipselect.
> > Among the dts files we ship with the kernel, how many would
> > actually use more than one mapping in practice if we decide to
> > do the static ranges property? I had a quick look and could not
> > even find one that has more than one chip-select connected.
>
> Do any of these boards have things like expansion connectors?
I think they are basically all consumer products, e.g. NAS systems
or routers that just have a single SPI-NOR flash.
> > Ok, so with the static mapping it could be done very easily, or
> > we need a more complex solution for the dynamic mapping.
>
> Part of what I personally don't understand is why this is complicated?
I think we'd need to add another special case in the bus driver
for it, which otherwise should be able to handle this in a generic
way: if we just use the existing binding, the spi host driver can
simply call devm_ioremap_resource() to see if there is a map
for a given chipselect and otherwise fall back to the current
mode.
Arnd
next prev parent reply other threads:[~2016-03-25 15:11 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-22 16:24 [PATCH v2] spi: orion.c: Add direct access mode Stefan Roese
2016-03-22 16:35 ` Thomas Petazzoni
2016-03-22 16:44 ` Stefan Roese
2016-03-23 11:33 ` Mark Brown
2016-03-23 11:59 ` Stefan Roese
2016-03-23 12:54 ` Mark Brown
2016-03-23 13:10 ` Stefan Roese
2016-03-23 13:26 ` Andrew Lunn
2016-03-23 13:36 ` Mark Brown
2016-03-23 13:56 ` Andrew Lunn
2016-03-23 19:51 ` Arnd Bergmann
2016-03-24 7:22 ` Stefan Roese
2016-03-24 12:42 ` Arnd Bergmann
2016-03-24 16:15 ` Stefan Roese
2016-03-24 16:42 ` Arnd Bergmann
2016-03-24 17:30 ` Stefan Roese
2016-03-24 16:48 ` Arnd Bergmann
2016-03-24 17:51 ` Stefan Roese
2016-03-24 20:07 ` Arnd Bergmann
2016-03-25 10:32 ` Mark Brown
2016-03-25 15:11 ` Arnd Bergmann [this message]
2016-03-25 15:50 ` Mark Brown
2016-03-25 20:58 ` Arnd Bergmann
2016-03-25 22:39 ` Mark Brown
2016-03-29 12:39 ` Arnd Bergmann
2016-03-29 16:47 ` Mark Brown
2016-03-29 19:49 ` Arnd Bergmann
2016-03-29 19:52 ` Mark Brown
2016-03-29 20:04 ` Arnd Bergmann
2016-03-29 21:00 ` Mark Brown
2016-03-29 21:08 ` Arnd Bergmann
2016-03-29 21:28 ` Mark Brown
2016-03-29 22:04 ` Arnd Bergmann
2016-04-05 7:11 ` Stefan Roese
2016-04-05 13:15 ` Andrew Lunn
2016-04-05 13:20 ` Stefan Roese
2016-04-05 13:31 ` Andrew Lunn
2016-03-23 13:27 ` Mark Brown
2016-03-23 17:25 ` Stefan Roese
2016-03-23 18:29 ` Mark Brown
2016-03-23 18:39 ` Andrew Lunn
2016-03-24 5:45 ` Stefan Roese
2016-03-24 11:23 ` Mark Brown
2016-03-24 12:05 ` Stefan Roese
2016-03-22 17:39 ` Mark Brown
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=4319407.5A4b1VspuB@wuerfel \
--to=arnd@arndb.de \
--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