From: David Brownell <david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
To: Pierre Ossman <drzeus-mmc-p3sGCRWkH8CeZLLa646FqQ@public.gmane.org>
Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
Mikael Starvik <mikael.starvik-VrBV9hrLPhE@public.gmane.org>,
Hans-Peter Nilsson
<hans-peter.nilsson-VrBV9hrLPhE@public.gmane.org>,
Mike Lavender
<mike-UTnDXsALFwNjMdQLN6DIHgC/G2K4zDHf@public.gmane.org>
Subject: Re: [patch 3/4 2.6.23-rc2 + mm2-git-mmc] MMC core learns about SPI
Date: Thu, 9 Aug 2007 08:35:41 -0700 [thread overview]
Message-ID: <200708090835.42279.david-b@pacbell.net> (raw)
In-Reply-To: <20070809150747.62b1447a-mgABNEgzgxm+PRNnhPf8W5YgPPQkE1Si@public.gmane.org>
On Thursday 09 August 2007, Pierre Ossman wrote:
> > @@ -68,21 +72,26 @@ int mmc_io_rw_direct(struct mmc_card *ca
> > cmd.arg |= (write && out) ? 0x08000000 : 0x00000000;
> > cmd.arg |= addr << 9;
> > cmd.arg |= in;
> > - cmd.flags = MMC_RSP_R5 | MMC_CMD_AC;
> > + cmd.flags = MMC_RSP_SPI_R5 | MMC_RSP_R5 | MMC_CMD_AC;
> >
> > err = mmc_wait_for_cmd(card->host, &cmd, 0);
> > if (err)
> > return err;
> >
> > - if (cmd.resp[0] & R5_ERROR)
> > - return -EIO;
> > - if (cmd.resp[0] & R5_FUNCTION_NUMBER)
> > - return -EINVAL;
> > - if (cmd.resp[0] & R5_OUT_OF_RANGE)
> > - return -ERANGE;
> > + if (mmc_host_is_spi(card->host)) {
> > + if (out)
> > + *out = (cmd.resp[0] >> 8) & 0xFF;
> > + } else {
> > + if (cmd.resp[0] & R5_ERROR)
> > + return -EIO;
> > + if (cmd.resp[0] & R5_FUNCTION_NUMBER)
> > + return -EINVAL;
> > + if (cmd.resp[0] & R5_OUT_OF_RANGE)
> > + return -ERANGE;
> >
> > - if (out)
> > - *out = cmd.resp[0] & 0xFF;
> > + if (out)
> > + *out = cmd.resp[0] & 0xFF;
> > + }
> >
> > return 0;
> > }
>
> What about error bits in the spi case?
Either they're already handled correctly in the mmc_spi host code
(and don't need duplicate handling here), or they need attention
from someone with all the relevant hardware in hand...
> And could you do two if:s, one
> for the error bits, and one for the different handling of getting the
> data? I think that would be clearer in detailing the differences.
If you insist ... appended.
=========
Tweak the (untested) SDIO-over-SPI code paths.
Signed-off-by: David Brownell <dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
---
drivers/mmc/core/sdio_ops.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
--- g26.orig/drivers/mmc/core/sdio_ops.c 2007-08-09 08:29:36.000000000 -0700
+++ g26/drivers/mmc/core/sdio_ops.c 2007-08-09 08:32:32.000000000 -0700
@@ -79,8 +79,7 @@ int mmc_io_rw_direct(struct mmc_card *ca
return err;
if (mmc_host_is_spi(card->host)) {
- if (out)
- *out = (cmd.resp[0] >> 8) & 0xFF;
+ /* host driver already reported errors */
} else {
if (cmd.resp[0] & R5_ERROR)
return -EIO;
@@ -88,8 +87,12 @@ int mmc_io_rw_direct(struct mmc_card *ca
return -EINVAL;
if (cmd.resp[0] & R5_OUT_OF_RANGE)
return -ERANGE;
+ }
- if (out)
+ if (out) {
+ if (mmc_host_is_spi(card->host))
+ *out = (cmd.resp[0] >> 8) & 0xFF;
+ else
*out = cmd.resp[0] & 0xFF;
}
@@ -140,7 +143,9 @@ int mmc_io_rw_extended(struct mmc_card *
if (data.error)
return data.error;
- if (!mmc_host_is_spi(card->host)) {
+ if (mmc_host_is_spi(card->host)) {
+ /* host driver already reported errors */
+ } else {
if (cmd.resp[0] & R5_ERROR)
return -EIO;
if (cmd.resp[0] & R5_FUNCTION_NUMBER)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
next prev parent reply other threads:[~2007-08-09 15:35 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-08 16:06 [patch 0/4 2.6.23-rc2 + mm2-git-mmc] latest MMC-over-SPI support David Brownell
[not found] ` <200708080906.18993.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2007-08-08 16:09 ` [patch 1/4 2.6.23-rc2 + mm2-git-mmc] MMC headers learn about SPI David Brownell
2007-08-08 16:10 ` [patch 2/4 2.6.23-rc2 + mm2-git-mmc] MMC/SD card driver learns SPI David Brownell
2007-08-08 16:11 ` [patch 3/4 2.6.23-rc2 + mm2-git-mmc] MMC core learns about SPI David Brownell
[not found] ` <200708080911.33099.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2007-08-09 13:07 ` Pierre Ossman
[not found] ` <20070809150747.62b1447a-mgABNEgzgxm+PRNnhPf8W5YgPPQkE1Si@public.gmane.org>
2007-08-09 15:35 ` David Brownell [this message]
[not found] ` <200708090835.42279.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2007-08-09 20:18 ` Pierre Ossman
2007-08-12 15:50 ` David Brownell
[not found] ` <200708120850.04271.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2007-08-12 15:52 ` Pierre Ossman
2007-08-29 9:22 ` Sascha Hauer
[not found] ` <20070829092247.GA15021-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2007-08-29 14:52 ` Pierre Ossman
[not found] ` <20070829165243.0236cc89-mgABNEgzgxm+PRNnhPf8W5YgPPQkE1Si@public.gmane.org>
2007-08-29 16:43 ` David Brownell
[not found] ` <200708290943.59450.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2007-10-08 17:09 ` Jan Nikitenko
[not found] ` <470A644A.8030405-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2007-10-10 18:36 ` Pierre Ossman
[not found] ` <c4bc83220710190240wd13bfd1r991ba9b1b1128f6c@mail.gmail.com>
[not found] ` <c4bc83220710190240wd13bfd1r991ba9b1b1128f6c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-10-19 9:50 ` Jan Nikitenko
[not found] ` <c4bc83220710190250m6c3401end194917e2daa9104-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-10-22 18:34 ` Pierre Ossman
[not found] ` <20071022203428.300117e4-mgABNEgzgxm+PRNnhPf8W5YgPPQkE1Si@public.gmane.org>
2007-10-23 8:06 ` Jan Nikitenko
[not found] ` <471DAB71.8000808-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2007-10-27 12:08 ` Pierre Ossman
[not found] ` <20071027140823.5d7ec7e2-mgABNEgzgxm+PRNnhPf8W5YgPPQkE1Si@public.gmane.org>
2007-10-27 16:33 ` David Brownell
[not found] ` <200710270933.30538.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2007-10-29 8:02 ` Jan Nikitenko
2007-08-08 16:12 ` [patch 4/4 2.6.23-rc2 + mm2-git-mmc] mmc_spi host driver David Brownell
[not found] ` <200708080912.54918.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2007-08-29 10:07 ` Sascha Hauer
[not found] ` <20070829100708.GB15021-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2007-08-29 16:59 ` David Brownell
[not found] ` <200708290959.33584.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2007-08-29 19:39 ` Pierre Ossman
[not found] ` <20070829213905.71236d24-mgABNEgzgxm+PRNnhPf8W5YgPPQkE1Si@public.gmane.org>
2007-08-29 20:00 ` David Brownell
2007-08-30 8:59 ` Sascha Hauer
[not found] ` <20070830085900.GA18374-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2007-08-30 18:56 ` David Brownell
[not found] ` <20070830185623.9C6CD231986-ZcXrCSuhvln6VZ3dlLfH/g4gEjPzgfUyLrfjE7I9kuVHxeISYlDBzl6hYfS7NtTn@public.gmane.org>
2007-08-31 17:00 ` Sascha Hauer
[not found] ` <20070831170054.GA11112-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2007-08-31 23:00 ` David Brownell
[not found] ` <20070831230050.4F31F2371AF-ZcXrCSuhvln6VZ3dlLfH/g4gEjPzgfUyLrfjE7I9kuVHxeISYlDBzl6hYfS7NtTn@public.gmane.org>
2007-09-04 10:54 ` Sascha Hauer
[not found] ` <20070904105453.GD7579-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2007-11-15 23:30 ` David Brownell
[not found] ` <200711151530.06591.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2007-11-16 1:02 ` Hans-Peter Nilsson
[not found] ` <200711160102.lAG12Fdo031436-PT6ZA4s7Vg53Mq0XhIy4CVaTQe2KTcn/@public.gmane.org>
2007-11-16 20:28 ` David Brownell
2007-08-09 10:45 ` [patch 0/4 2.6.23-rc2 + mm2-git-mmc] latest MMC-over-SPI support Anton Vorontsov
2007-08-09 13:05 ` Pierre Ossman
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=200708090835.42279.david-b@pacbell.net \
--to=david-b-ybekhbn/0ldr7s880joybq@public.gmane.org \
--cc=drzeus-mmc-p3sGCRWkH8CeZLLa646FqQ@public.gmane.org \
--cc=hans-peter.nilsson-VrBV9hrLPhE@public.gmane.org \
--cc=mikael.starvik-VrBV9hrLPhE@public.gmane.org \
--cc=mike-UTnDXsALFwNjMdQLN6DIHgC/G2K4zDHf@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).