linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin Sperl <martin-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
To: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Linus Walleij
	<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Depreciated spi_master.transfer and "prepared spi messages" for an optimized pipelined-SPI-DMA-driver
Date: Wed, 30 Oct 2013 23:52:33 +0100	[thread overview]
Message-ID: <3342FD19-4438-463B-89B2-A83D3475AC22@sperl.org> (raw)
In-Reply-To: <20131030215716.GV2493-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>

Hi Mark!

After a lot of digging I found the API you are referring to in:
http://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/include/linux/spi/spi.h

So when will this go in?

How would you recommend to connect your prepared structure to a specific  message?
There is no flag/field in spi_message to link that.

Would this mean that I would keep an internal list with the address of the SPI message 
any my "prepared data" and I need to iterate over that list every time I need it?
This search might - worsted case - become a scaling issue if too many prepared 
statements are created... 
Ok, there are other constructs to store data in making lookup faster,
but does this not make the driver more complex than necessary?

It could lead to all drivers starting "simple" and then at some point it becomes
an issue as one driver makes heavy use of this showing it becomes a bottle-neck
and then all spi-bus-drivers would need to get touched to optimize things...

Why not provide a lookup function for the prepared data immediately and make 
sure the drivers use this one. Then we only have to change it later in one place
and reduce code-replication across drivers.
(obviously you would also need put/delete methods to make that interface complete.)

Also those function pointers do not have wrappers functions for ease of use, 
so that they can get used in the individual drivers that know that they can 
prepare the spi_message, as they do not change the transfer structure....

Thanks,
		Martin

On 30.10.2013, at 22:57, Mark Brown wrote:

> On Wed, Oct 30, 2013 at 07:33:30PM +0100, Martin Sperl wrote:
> 
>> I have seen your email and I have checked 3.12-rc7:
>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/linux/spi/spi.h?id=refs/tags/v3.12-rc7
>> (Assuming this is the latest, but I would say that the version of Linus would 
>> be authoritative)
> 
> No, look in -next (or the SPI tree which you can see in MAINTAINERS):
> 
>  git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git
> 
>> The following would go into struct spi_master:
>>  int (*prepare_message)(struct spi_device *dev,struct spi_message *mesg);
>>  int (*unprepare_message)(struct spi_device *dev,struct spi_message *mesg);
> 
> Which, like I say, is exactly what's there in terms of a driver API.

--
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

  parent reply	other threads:[~2013-10-30 22:52 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <F70C4469-6325-48D5-A7CA-52CC1FC404BD@sperl.org>
     [not found] ` <CACRpkdb6y=o4__snBs2DR1f=xW_u7KdkHg3fb7XN5e2gicBJeg@mail.gmail.com>
     [not found]   ` <CACRpkdb6y=o4__snBs2DR1f=xW_u7KdkHg3fb7XN5e2gicBJeg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-29 16:59     ` Fwd: Depreciated spi_master.transfer and "prepared spi messages" for an optimized pipelined-SPI-DMA-driver Linus Walleij
     [not found]       ` <CACRpkdb7y88oq7XyVFc_0Nx4pXtaebPe7KB2yizBRJGwWLqJig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-29 17:56         ` Mark Brown
2013-10-29 21:18         ` Martin Sperl
     [not found]           ` <06C7F4D3-EC91-46CF-90BE-FC24D54F2389-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-10-29 22:53             ` Mark Brown
     [not found]               ` <20131029225353.GB11424-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-10-30 17:11                 ` Martin Sperl
     [not found]                   ` <F64AD25A-C7EC-4A0D-9169-850C12F4D8A3-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-10-30 21:51                     ` Mark Brown
2013-10-30  8:40             ` Martin Sperl
     [not found]               ` <02BFF0F6-3836-4DEC-AA53-FF100E037DE9-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-10-30 17:19                 ` Mark Brown
     [not found]                   ` <20131030171902.GL2493-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-10-30 18:33                     ` Martin Sperl
     [not found]                       ` <8D8B0BAD-0E00-4147-B4C8-FBB18F060C96-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-10-30 21:57                         ` Mark Brown
     [not found]                           ` <20131030215716.GV2493-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-10-30 22:52                             ` Martin Sperl [this message]
     [not found]                               ` <3342FD19-4438-463B-89B2-A83D3475AC22-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-10-31  0:10                                 ` Mark Brown
     [not found]                                   ` <20131031001004.GW2493-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-04 17:33                                     ` Martin Sperl
     [not found]                                       ` <18639D9A-630E-44F3-AA7A-ADFF5D5E8B56-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-04 18:45                                         ` Mark Brown
     [not found]                                           ` <20131104184511.GR2493-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-04 21:43                                             ` Martin Sperl
     [not found]                                               ` <5A55A832-5313-499C-A483-BF5A6649D69D-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-05  1:03                                                 ` Linus Walleij
2013-11-06  9:48                                                 ` Mark Brown
     [not found]                                                   ` <20131106094854.GF11602-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-06 11:28                                                     ` Martin Sperl
     [not found]                                                       ` <844EDAEA-3FDC-48D0-B59E-CECC0A83761E-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-06 11:32                                                         ` Mark Brown
     [not found]                                                           ` <20131106113219.GJ11602-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-06 12:10                                                             ` Martin Sperl
     [not found]                                                               ` <C6C68042-63A0-40FD-8363-B4553ECB4774-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-06 16:24                                                                 ` Mark Brown
     [not found]                                                                   ` <20131106162410.GB2674-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-06 19:54                                                                     ` Martin Sperl
     [not found]                                                                       ` <3B0EDE3F-3386-4879-8D89-2E4577860073-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-06 23:26                                                                         ` Mark Brown
     [not found]                                                                           ` <20131106232605.GC2674-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-07  0:43                                                                             ` Martin Sperl
     [not found]                                                                               ` <72D635F5-4229-4D78-8AA3-1392D5D80127-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-07 20:31                                                                                 ` Mark Brown
     [not found]                                                                                   ` <20131107203127.GB2493-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-08 14:16                                                                                     ` Martin Sperl
     [not found]                                                                                       ` <86AE15B6-05AF-4EFF-8B8F-10806A7C148B-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-08 16:19                                                                                         ` Mark Brown
     [not found]                                                                                           ` <20131108161957.GP2493-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-08 17:31                                                                                             ` Martin Sperl
     [not found]                                                                                               ` <5F70E708-89B9-4DCF-A31A-E688BAA0E062-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-08 18:09                                                                                                 ` Mark Brown
     [not found]                                                                                                   ` <20131108180934.GQ2493-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-08 19:18                                                                                                     ` Martin Sperl
     [not found]                                                                                                       ` <C375DEE6-1AEC-4AFB-A9D6-583DCB4476A3-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-09 18:30                                                                                                         ` Mark Brown
     [not found]                                                                                                           ` <20131109183056.GU2493-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-10 10:54                                                                                                             ` Martin Sperl
     [not found]                                                                                                               ` <6C7903B3-8563-490E-AD7D-BA5D65FFB9BC-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-12  1:19                                                                                                                 ` Mark Brown
     [not found]                                                                                                                   ` <20131112011954.GH2674-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-12 14:42                                                                                                                     ` Martin Sperl
     [not found]                                                                                                                       ` <52823E73.503-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-12 17:59                                                                                                                         ` Martin Sperl
     [not found]                                                                                                                           ` <2252E63E-176C-43F7-B259-D1C3A142DAFE-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-13 15:43                                                                                                                             ` Mark Brown
     [not found]                                                                                                                               ` <20131113154346.GT878-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-13 18:35                                                                                                                                 ` Martin Sperl
     [not found]                                                                                                                                   ` <ED58E869-A9F6-4BB2-8EC6-D71F946509DC-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-13 19:33                                                                                                                                     ` Mark Brown
     [not found]                                                                                                                                       ` <20131113193320.GE878-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-13 21:31                                                                                                                                         ` Martin Sperl
2013-11-13 15:11                                                                                                                         ` Mark Brown
     [not found]                                                                                                                           ` <20131113151102.GS878-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-13 15:48                                                                                                                             ` Martin Sperl
     [not found]                                                                                                                               ` <77070979-0CE4-4C76-B12E-DA94B2577172-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-13 16:59                                                                                                                                 ` Mark Brown
2013-11-14  1:50                                                                                                                         ` Mark Brown
     [not found]                                                                                                                           ` <20131114015009.GB26614-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-14 19:47                                                                                                                             ` Martin Sperl
     [not found]                                                                                                                               ` <9640F4C7-7F82-453E-9D83-5875A1559A20-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-15 11:15                                                                                                                                 ` Martin Sperl
     [not found]                                                                                                                                   ` <5286026B.2090903-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-16 14:23                                                                                                                                     ` Mark Brown
     [not found]                                                                                                                                       ` <20131116142356.GY15393-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-19 13:11                                                                                                                                         ` Martin Sperl
     [not found]                                                                                                                                           ` <528B6370.9000903-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-19 15:02                                                                                                                                             ` Mark Brown
     [not found]                                                                                                                                               ` <20131119150204.GA2674-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-19 15:13                                                                                                                                                 ` Martin Sperl
2013-11-15 13:33                                                                                                                                 ` Mark Brown
     [not found]                                                                                                                                   ` <20131115133312.GE26614-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-15 14:52                                                                                                                                     ` Martin Sperl
     [not found]                                                                                                                                       ` <0BA2243C-2F22-492A-B517-76E243535549-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-16 12:56                                                                                                                                         ` Mark Brown
2013-11-10 11:05                                                                                                             ` Mark Brown
     [not found]                                                                                                               ` <20131110110524.GA878-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-10 16:41                                                                                                                 ` Martin Sperl
     [not found]                                                                                                                   ` <3361A01A-C7D0-4689-AFBD-085D3E62A67C-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-11-11 11:18                                                                                                                     ` Mark Brown
     [not found]                                                                                                                       ` <20131111111842.GE2674-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-11 11:44                                                                                                                         ` Martin Sperl
     [not found] ` <F70C4469-6325-48D5-A7CA-52CC1FC404BD-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2013-10-29 19:09   ` Fwd: " Linus Walleij

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=3342FD19-4438-463B-89B2-A83D3475AC22@sperl.org \
    --to=martin-d5rikyn9cnpytjvyw6ydsg@public.gmane.org \
    --cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@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).