From: Heiner Kallweit <hkallweit1@gmail.com>
To: Mark Brown <broonie@kernel.org>
Cc: Brian Norris <computersforpeace@gmail.com>,
Michal Suchanek <hramrach@gmail.com>,
Martin Sperl <martin@sperl.org>,
MTD Maling List <linux-mtd@lists.infradead.org>,
"linux-spi@vger.kernel.org" <linux-spi@vger.kernel.org>
Subject: Re: [PATCH 1/3] spi: core: add max_msg_size to spi_master
Date: Fri, 27 Nov 2015 20:26:52 +0100 [thread overview]
Message-ID: <5658AE7C.3050507@gmail.com> (raw)
In-Reply-To: <20151123113846.GH1929@sirena.org.uk>
Am 23.11.2015 um 12:38 schrieb Mark Brown:
> On Sun, Nov 22, 2015 at 05:15:04PM +0100, Heiner Kallweit wrote:
>> Am 22.11.2015 um 14:16 schrieb Mark Brown:
>
>> To avoid misunderstandings:
>> For fsl-espi the length of a SPI transfer has to be programmed (max 64K)
>> and after this number of bytes has been transferred CS is deselected
>> internally. There's no way to control CS directly.
>> Do you consider this a message or transfer size limit?
>> To me this seems to be exactly what you describe as "devices that aren't
>> able to deal with multiple transfers independently".
>
> Well, possibly. What happens with a very large proportion of SPI
> controllers is that we just ignore the /CS functionality of the
> controller and use a GPIO instead, most SoC integrations also support
> GPIO on the same pin and there's rarely any advantage in trying to use
> the integrated support.
>
Right, that's the case also for fsl-espi. The bad thing is that there's
no way to change only the CS pin to a GPIO.
Only the complete block of SPI signals can be switched to GPIO.
>>> For slightly more complex things like this it probably also makes sense
>>> to use an accessor - I can see us wanting to combine restrictions from
>>> DMA engines into restrictions for the SPI controller for example. That
>>> gives us a bit of insulation between the clients and the API.
>
>> When you talk about accessors do you think of hooks in spi_master so that
>> each controller driver can provide its own implementation of e.g.
>> something like get_max_msg_size()?
>
> No, for the clients so they aren't peering at the struct.
>
Sure, do you think of a simple getter like this or a more complex thing?
size_t spi_get_max_msg_size(struct spi_master *master)
{
return master->max_msg_size;
}
WARNING: multiple messages have this Message-ID (diff)
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>,
Martin Sperl <martin-d5rIkyn9cnPYtjvyW6yDsg@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: [PATCH 1/3] spi: core: add max_msg_size to spi_master
Date: Fri, 27 Nov 2015 20:26:52 +0100 [thread overview]
Message-ID: <5658AE7C.3050507@gmail.com> (raw)
In-Reply-To: <20151123113846.GH1929-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
Am 23.11.2015 um 12:38 schrieb Mark Brown:
> On Sun, Nov 22, 2015 at 05:15:04PM +0100, Heiner Kallweit wrote:
>> Am 22.11.2015 um 14:16 schrieb Mark Brown:
>
>> To avoid misunderstandings:
>> For fsl-espi the length of a SPI transfer has to be programmed (max 64K)
>> and after this number of bytes has been transferred CS is deselected
>> internally. There's no way to control CS directly.
>> Do you consider this a message or transfer size limit?
>> To me this seems to be exactly what you describe as "devices that aren't
>> able to deal with multiple transfers independently".
>
> Well, possibly. What happens with a very large proportion of SPI
> controllers is that we just ignore the /CS functionality of the
> controller and use a GPIO instead, most SoC integrations also support
> GPIO on the same pin and there's rarely any advantage in trying to use
> the integrated support.
>
Right, that's the case also for fsl-espi. The bad thing is that there's
no way to change only the CS pin to a GPIO.
Only the complete block of SPI signals can be switched to GPIO.
>>> For slightly more complex things like this it probably also makes sense
>>> to use an accessor - I can see us wanting to combine restrictions from
>>> DMA engines into restrictions for the SPI controller for example. That
>>> gives us a bit of insulation between the clients and the API.
>
>> When you talk about accessors do you think of hooks in spi_master so that
>> each controller driver can provide its own implementation of e.g.
>> something like get_max_msg_size()?
>
> No, for the clients so they aren't peering at the struct.
>
Sure, do you think of a simple getter like this or a more complex thing?
size_t spi_get_max_msg_size(struct spi_master *master)
{
return master->max_msg_size;
}
--
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-27 19:27 UTC|newest]
Thread overview: 92+ 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
2015-11-18 21:19 ` Heiner Kallweit
2015-11-18 21:57 ` Mark Brown
2015-11-18 21:57 ` Mark Brown
2015-11-18 22:50 ` Heiner Kallweit
2015-11-18 22:50 ` Heiner Kallweit
2015-11-19 11:40 ` Mark Brown
2015-11-19 11:40 ` Mark Brown
2015-11-19 15:00 ` Martin Sperl
2015-11-19 15:00 ` Martin Sperl
2015-11-19 17:15 ` Mark Brown
2015-11-19 17:15 ` Mark Brown
2015-11-20 0:07 ` Brian Norris
2015-11-20 0:07 ` Brian Norris
2015-11-20 11:06 ` Mark Brown
2015-11-20 11:06 ` Mark Brown
2015-11-20 11:16 ` Martin Sperl
2015-11-20 11:16 ` Martin Sperl
2015-11-20 10:18 ` Martin Sperl
2015-11-20 10:18 ` Martin Sperl
2015-11-20 12:05 ` Mark Brown
2015-11-20 12:05 ` Mark Brown
2015-11-20 12:56 ` Martin Sperl
2015-11-20 12:56 ` Martin Sperl
2015-11-21 13:49 ` Mark Brown
2015-11-21 13:49 ` Mark Brown
2015-11-21 14:10 ` Heiner Kallweit
2015-11-21 14:10 ` Heiner Kallweit
2015-11-21 15:57 ` Michal Suchanek
2015-11-21 15:57 ` Michal Suchanek
2015-11-21 22:59 ` [PATCH 0/3] spi: mtd: Handle HW message length restrictions Heiner Kallweit
2015-11-21 22:59 ` Heiner Kallweit
2015-11-21 23:01 ` [PATCH 1/3] spi: core: add max_msg_size to spi_master Heiner Kallweit
2015-11-21 23:01 ` Heiner Kallweit
2015-11-22 13:16 ` Mark Brown
2015-11-22 13:16 ` Mark Brown
2015-11-22 16:15 ` Heiner Kallweit
2015-11-22 16:15 ` Heiner Kallweit
2015-11-23 11:38 ` Mark Brown
2015-11-23 11:38 ` Mark Brown
2015-11-27 19:26 ` Heiner Kallweit [this message]
2015-11-27 19:26 ` Heiner Kallweit
2015-11-30 16:42 ` Mark Brown
2015-11-30 16:42 ` Mark Brown
2015-11-30 20:15 ` Heiner Kallweit
2015-11-30 20:15 ` Heiner Kallweit
2015-11-21 23:08 ` [PATCH 2/3] mtd: m25p80: handle HW message size restrictions Heiner Kallweit
2015-11-21 23:08 ` Heiner Kallweit
2015-11-22 12:51 ` Michal Suchanek
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-21 23:11 ` 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:24 ` 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
2015-11-30 20:25 ` Heiner Kallweit
2015-12-01 14:19 ` Mark Brown
2015-12-01 14:19 ` Mark Brown
2015-12-01 18:53 ` Heiner Kallweit
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-22 13:19 ` Mark Brown
2015-11-20 0:02 ` Brian Norris
2015-11-20 0:02 ` Brian Norris
2015-11-20 6:59 ` Heiner Kallweit
2015-11-20 6:59 ` Heiner Kallweit
2015-11-20 10:06 ` Heiner Kallweit
2015-11-20 10:06 ` Heiner Kallweit
2015-11-20 12:35 ` Mark Brown
2015-11-20 12:35 ` Mark Brown
2015-11-20 18:59 ` Heiner Kallweit
2015-11-20 18:59 ` Heiner Kallweit
2015-11-20 19:05 ` Michal Suchanek
2015-11-20 19:05 ` Michal Suchanek
2015-11-20 19:21 ` Mark Brown
2015-11-20 19:21 ` Mark Brown
2015-11-20 19:44 ` Michal Suchanek
2015-11-20 19:44 ` Michal Suchanek
2015-11-20 23:22 ` Brian Norris
2015-11-20 23:22 ` Brian Norris
2015-11-21 22:53 ` Heiner Kallweit
2015-11-21 22:53 ` Heiner Kallweit
2015-11-20 19:18 ` Mark Brown
2015-11-20 19:18 ` Mark Brown
2015-11-20 19:37 ` Heiner Kallweit
2015-11-20 19:37 ` Heiner Kallweit
2015-11-20 12:31 ` Mark Brown
2015-11-20 12:31 ` Mark Brown
2015-11-20 12:56 ` Michal Suchanek
2015-11-20 12:56 ` Michal Suchanek
2015-11-20 23:07 ` Brian Norris
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=5658AE7C.3050507@gmail.com \
--to=hkallweit1@gmail.com \
--cc=broonie@kernel.org \
--cc=computersforpeace@gmail.com \
--cc=hramrach@gmail.com \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-spi@vger.kernel.org \
--cc=martin@sperl.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 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.