linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin Guy <martinwguy-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	Mika Westerberg <mika.westerberg-X3B1VOXEql0@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH v3 1/2] spi: implemented driver for Cirrus EP93xx SPI controller
Date: Mon, 19 Apr 2010 20:26:30 +0100	[thread overview]
Message-ID: <k2z56d259a01004191226u40c3af14g87604b996716dbb4@mail.gmail.com> (raw)
In-Reply-To: <j2hfa686aa41004191205jf61e53ectc994ab0e5a2c4c53-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On 4/19/10, Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> wrote:
>  >>  >> > +       for (cpsr = 2; cpsr <= 254; cpsr += 2) {
>  >>  >> > +               for (scr = 0; scr <= 255; scr++) {
>  >>  >>
>  >>  >> Non-deterministic.
>  > Eh? Some new meaning of "non-deterministic" that I wasn'f familiar with? :)
>  >
>  > Yes, it does look gross, but max clock rate is 3.7Mhz (7.4 in rev E2
>  > silicon), so if your slowest device is 400kHz, in practice it only
>  > runs the inner loop from 0 to less than 10.
>  > How slow do SPI devices go in reality? The 254*256 divisor gives 100Hz.
>
> Fair enough.  s/non-deterministic/gross/  :-p  I just prefer to see
>  analytic solutions over numerical ones.  :-)  As I said, I won't
>  object to the driver because of these lines.

Absolutely :D
Hey, that's not my code, that comes from Cirrus' code..

Analytical solutions are nicer, yes.
Especially when they get the answer right.
I can see that that loop gets the answer right, whereas once we go
into integer division it is very easy to write code that looks right
but which gets the answer out by one

More to the point, they're probably faster if the calculation happns
once per transfer.
Only "probably" - this chip doesn't have a divide instruction, so
integer division causes a function call to a soft math routine. Would
you like to suggest a code fragment that achieves the desired effect
using only + - * and logical operators and that you have tested in a
loop from 1 to N against the "stupid" version?

So my question stands "what is the slowest SPI device", to know
whether it is worth worrying about, and whether I want to spend a
morning writing an analytical method that is both actually faster and
is sure get the answer right. Otherwise we end up driving devices at
the wrong clock rate.

    M

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev

  parent reply	other threads:[~2010-04-19 19:26 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-13 14:10 [PATCH v3 0/2] spi: driver for Cirrus EP93xx SPI controller Mika Westerberg
     [not found] ` <cover.1271156934.git.mika.westerberg-X3B1VOXEql0@public.gmane.org>
2010-04-13 14:10   ` [PATCH v3 1/2] spi: implemented " Mika Westerberg
2010-04-17  6:30     ` Grant Likely
2010-04-17 11:00       ` Mika Westerberg
2010-04-19 18:02         ` Grant Likely
     [not found]           ` <q2pfa686aa41004191102qc93f09b6m941785b4cb4e32db-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-04-19 18:52             ` Martin Guy
     [not found]               ` <o2g56d259a01004191152w9c2245fdgaa2d4ac1b9e95ed7-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-04-19 19:05                 ` Grant Likely
     [not found]                   ` <j2hfa686aa41004191205jf61e53ectc994ab0e5a2c4c53-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-04-19 19:26                     ` Martin Guy [this message]
2010-04-19 19:16             ` Martin Guy
2010-05-20  4:56               ` Grant Likely
2010-04-20  6:16             ` Mika Westerberg
     [not found]   ` <e0e5dc30af89f0b65fd2e5e52f9e7fe9f162516b.1271156934.git.mika.westerberg-X3B1VOXEql0@public.gmane.org>
2010-04-13 14:10     ` [PATCH v3 2/2] ep93xx: SPI driver platform support code Mika Westerberg
     [not found]       ` <d24cf3f10fb125837c9b660b3880956940440b79.1271156934.git.mika.westerberg-X3B1VOXEql0@public.gmane.org>
2010-04-16 18:40         ` H Hartley Sweeten
2010-04-16 18:28   ` [PATCH v3 0/2] spi: driver for Cirrus EP93xx SPI controller H Hartley Sweeten
     [not found]     ` <0D753D10438DA54287A00B0270842697636D710785-gaq956PjLg32KbjnnMDalRurcAul1UnsRrxOEX5GOmysTnJN9+BGXg@public.gmane.org>
2010-04-17  4:59       ` Mika Westerberg
     [not found]         ` <20100417045913.GA19534-WfG2TfFPcQ9S6P4I59wummXnswh1EIUO@public.gmane.org>
2010-04-17 18:43           ` Martin Guy
     [not found]             ` <s2i56d259a01004171143m74b06d85yd1cbb38ef7ce778e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-04-18  5:33               ` Mika Westerberg
2010-04-19 17:04           ` H Hartley Sweeten
     [not found]             ` <0D753D10438DA54287A00B0270842697636D78D9CF-gaq956PjLg32KbjnnMDalRurcAul1UnsRrxOEX5GOmysTnJN9+BGXg@public.gmane.org>
2010-04-19 17:44               ` Mika Westerberg
     [not found]                 ` <20100419174446.GH19534-WfG2TfFPcQ9S6P4I59wummXnswh1EIUO@public.gmane.org>
2010-04-19 18:11                   ` H Hartley Sweeten

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=k2z56d259a01004191226u40c3af14g87604b996716dbb4@mail.gmail.com \
    --to=martinwguy-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=mika.westerberg-X3B1VOXEql0@public.gmane.org \
    --cc=spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@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).