From: Hans Eklund <hans-9ai+6vhHfRGzQB+pC5nmwQ@public.gmane.org>
To: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Cc: David Brownell <david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>,
uclinux-dist-devel-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org,
bryan.wu-OyLXuOCK7orQT0dZR+AlfA@public.gmane.org
Subject: Re: [spi-devel-general] spi_mmc bus concurrency fix
Date: Tue, 25 Mar 2008 11:25:08 +0100 [thread overview]
Message-ID: <47E8D304.6030001@rubico.se> (raw)
In-Reply-To: <200803121501.19131.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
Hi again.
Lets move on.
I have not solved the roots to the problem. I´ve not been given time to
fiddle with the framework internals. Im not sure im the man to do that
in the end. But, I have managed to get MMC/SD cards running concurrently
with m25p80 spi flash driver. No fix to either the master
driver or the framework. Both reading and writing and card init works.
No multiple block writing yet though. All done vs uClinux 2008R1-RC8
(kernel 2.6.22) and my old spi_mmc driver which implemented a separate
block layer. Written and tested mostly within the Blackfin uClinux
community.
About the fix: In short i predefine a sequence of transfers in a single
message matching the MMC/SD protocol, simply assuming it will work,
checking the tokens and if tokens looked fine return with a smile. It
seem to work. It is the only way to get atomicity on the bus for now. It
is surley best to patch up the drivers/mmc/host/mmc_spi.c code and use
that driver from now on, putting my old spi_mmc driver on the shelf.
Bryan, Mike and other Blackfin-uClinux developers:
What is the status on the drivers/mmc/host/mmc_spi.c when connected to
the Blackfin spi master? Mike pointed out that my old spi_mmc should be
obsoleted(with all rights), with that statement I got the feeling the
"new" mainline driver was tested to some extent, correct? I would need a
test/develop environment to move on with this. I´ll try to backport the
mmc_spi found in 2.6.24 to fit 2008R1-RC8 as a start, or do you have any
other suggestions?
I hope i get the attention of Jan Nikitenko and Hans-Peter Nilsson on
this subject also as they seem to have been a part of the mmc_spi driver
developing.
/regards
Hans Eklund,
Rubico AB,
Sweden.
David Brownell skrev:
> On Thursday 28 February 2008, Phil Wilshire wrote:
>> I agree, I did have some concerns about the callback issue.
>> It also looks like we have enough people + momentum on this problem to
>> get a fix in good time. So I'll wait to see what happens.
>
> Actually, I'm not sure I'd agree on that. Folk want a fix,
> but nobody (including me!) has sent something that's quite
> mergeable yet.
>
> I think part of the solution may be what someone (Brian?)
> observed: that growing the mid-layer to handle some of the
> queue management functions should help, no matter what
> eventual solution is adopted.
>
> That might be as little as providing a default "add to queue"
> and "take from queue" mechanism and starting to phase it into
> use in the various master controller drivers. When they use
> that scheme, it should be easy to splice in alternative queue
> management policies (notably: "only spi_mmc can access the
> bus for now") without changing the controller drivers.
>
> So it'd be really nice if someone could come up with a patch
> like that to help get some forward motion ... unless there's
> a better suggestion for how to move forward?
>
> - Dave
>
>
next prev parent reply other threads:[~2008-03-25 10:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <47C42D50.7020204@rubico.se>
[not found] ` <47C42D50.7020204-9ai+6vhHfRGzQB+pC5nmwQ@public.gmane.org>
2008-02-27 4:23 ` [Uclinux-dist-devel] spi_mmc bus concurrency fix Bryan Wu
[not found] ` <386072610802262023t6bd22875kfeb58c797be66024-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-02-27 4:46 ` David Brownell
[not found] ` <200802262046.29906.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-02-27 18:15 ` Mike Frysinger
2008-02-28 3:53 ` Bryan Wu
[not found] ` <200802271036.07909.david-b@pacbell.net>
[not found] ` <47C5B084.6050408@cox.net>
[not found] ` <47C5B084.6050408-j9pdmedNgrk@public.gmane.org>
2008-02-28 5:55 ` [Uclinux-dist-devel] " David Brownell
[not found] ` <200802272155.29706.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-02-28 8:15 ` Phil Wilshire
[not found] ` <47C66D8A.3010904-j9pdmedNgrk@public.gmane.org>
2008-03-12 22:01 ` [Uclinux-dist-devel] " David Brownell
[not found] ` <200803121501.19131.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-03-20 11:22 ` [spi-devel-general] " Hans Eklund
2008-03-25 10:25 ` Hans Eklund [this message]
[not found] ` <200802270159.33231.david-b@pacbell.net>
[not found] ` <386072610802272023o71b99c2bn4d28547bd8783c9c@mail.gmail.com>
[not found] ` <386072610802272023o71b99c2bn4d28547bd8783c9c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-02-28 6:04 ` [Uclinux-dist-devel] " David Brownell
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=47E8D304.6030001@rubico.se \
--to=hans-9ai+6vhhfrgzqb+pc5nmwq@public.gmane.org \
--cc=bryan.wu-OyLXuOCK7orQT0dZR+AlfA@public.gmane.org \
--cc=david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org \
--cc=spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=uclinux-dist-devel-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@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 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.