From: Stephen Boyd <sboyd@codeaurora.org>
To: srinivas.kandagatla@linaro.org
Cc: Russell King <linux@arm.linux.org.uk>,
Ulf Hansson <ulf.hansson@linaro.org>,
linux-mmc@vger.kernel.org, Chris Ball <chris@printf.net>,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linus.walleij@linaro.org
Subject: Re: [PATCH v3 13/13] mmc: mmci: Add Qcom specific pio_read function.
Date: Fri, 23 May 2014 16:28:39 -0700 [thread overview]
Message-ID: <537FD9A7.3010100@codeaurora.org> (raw)
In-Reply-To: <1400849589-7626-1-git-send-email-srinivas.kandagatla@linaro.org>
On 05/23/14 05:53, srinivas.kandagatla@linaro.org wrote:
> @@ -1022,6 +1025,40 @@ mmci_cmd_irq(struct mmci_host *host, struct mmc_command *cmd,
> }
> }
>
> +static int mmci_qcom_pio_read(struct mmci_host *host, char *buffer,
> + unsigned int remain)
> +{
> + u32 *ptr = (u32 *) buffer;
> + unsigned int count = 0;
> + unsigned int words, bytes;
> + unsigned int fsize = host->variant->fifosize;
> +
> + words = remain >> 2;
> + bytes = remain % 4;
> + /* read full words followed by leftover bytes */
> + if (words) {
> + while (readl(host->base + MMCISTATUS) & MCI_RXDATAAVLBL) {
> + *ptr = readl(host->base + MMCIFIFO + (count % fsize));
This doesn't look endianness agnostic. Shouldn't we use ioread32_rep()
to read this fifo?
> + ptr++;
> + count += 4;
> + words--;
> + if (!words)
> + break;
> + }
> + }
> +
> + if (unlikely(bytes)) {
> + unsigned char buf[4];
> + if (readl(host->base + MMCISTATUS) & MCI_RXDATAAVLBL) {
> + *buf = readl(host->base + MMCIFIFO + (count % fsize));
> + memcpy(ptr, buf, bytes);
> + count += bytes;
> + }
> + }
> +
> + return count;
> +}
> +
> static int mmci_pio_read(struct mmci_host *host, char *buffer, unsigned int remain)
> {
> void __iomem *base = host->base;
>
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
next prev parent reply other threads:[~2014-05-23 23:28 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-23 12:49 [PATCH v3 00/13] Add Qualcomm SD Card Controller support srinivas.kandagatla
2014-05-23 12:50 ` [PATCH v3 01/13] mmc: mmci: use NSEC_PER_SEC macro srinivas.kandagatla
2014-05-23 12:50 ` [PATCH v3 02/13] mmc: mmci: convert register bits to use BIT() macro srinivas.kandagatla
2014-05-23 12:51 ` [PATCH v3 03/13] mmc: mmci: Add Qualcomm Id to amba id table srinivas.kandagatla
2014-05-26 9:10 ` Ulf Hansson
2014-05-26 17:00 ` Srinivas Kandagatla
2014-05-27 13:49 ` Srinivas Kandagatla
2014-05-23 12:51 ` [PATCH v3 04/13] mmc: mmci: Add Qcom datactrl register variant srinivas.kandagatla
2014-05-23 12:51 ` [PATCH v3 05/13] mmc: mmci: Add register read/write wrappers srinivas.kandagatla
2014-05-23 12:51 ` [PATCH v3 06/13] mmc: mmci: Qcomm: Add 3 clock cycle delay after register write srinivas.kandagatla
2014-05-26 9:34 ` Ulf Hansson
2014-05-26 17:04 ` Srinivas Kandagatla
2014-05-23 12:51 ` [PATCH v3 07/13] mmc: mmci: add ddrmode mask to variant data srinivas.kandagatla
2014-05-26 9:53 ` Ulf Hansson
2014-05-26 17:06 ` Srinivas Kandagatla
2014-05-23 12:52 ` [PATCH v3 08/13] mmc: mmci: add 8bit bus support in " srinivas.kandagatla
2014-05-26 10:07 ` Ulf Hansson
2014-05-28 7:27 ` Srinivas Kandagatla
2014-05-28 7:53 ` Linus Walleij
2014-05-23 12:52 ` [PATCH v3 09/13] mmc: mmci: add edge support to data and command out " srinivas.kandagatla
2014-05-23 12:52 ` [PATCH v3 10/13] mmc: mmci: add Qcom specifics of clk and datactrl registers srinivas.kandagatla
2014-05-26 13:05 ` Ulf Hansson
2014-05-26 21:38 ` Srinivas Kandagatla
2014-05-28 9:41 ` Srinivas Kandagatla
2014-05-28 10:03 ` Ulf Hansson
2014-05-23 12:52 ` [PATCH v3 11/13] mmc: mmci: Add support to data commands via variant structure srinivas.kandagatla
2014-05-23 12:52 ` [PATCH v3 12/13] mmc: mmci: add explicit clk control srinivas.kandagatla
2014-05-26 14:21 ` Ulf Hansson
2014-05-26 14:28 ` Ulf Hansson
2014-05-26 22:39 ` Srinivas Kandagatla
2014-05-27 9:32 ` Ulf Hansson
2014-05-27 12:43 ` Srinivas Kandagatla
2014-05-27 14:07 ` Ulf Hansson
2014-05-27 14:14 ` Srinivas Kandagatla
2014-05-28 8:02 ` Linus Walleij
2014-05-28 8:28 ` Srinivas Kandagatla
2014-05-28 10:17 ` Ulf Hansson
2014-05-23 12:53 ` [PATCH v3 13/13] mmc: mmci: Add Qcom specific pio_read function srinivas.kandagatla
2014-05-23 23:28 ` Stephen Boyd [this message]
2014-05-28 13:57 ` Srinivas Kandagatla
2014-05-29 7:43 ` Linus Walleij
2014-05-30 1:30 ` Stephen Boyd
2014-05-30 9:00 ` Linus Walleij
2014-05-26 14:34 ` Ulf Hansson
2014-05-26 17:10 ` Srinivas Kandagatla
2014-05-28 8:08 ` Linus Walleij
2014-05-28 8:51 ` Srinivas Kandagatla
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=537FD9A7.3010100@codeaurora.org \
--to=sboyd@codeaurora.org \
--cc=chris@printf.net \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=srinivas.kandagatla@linaro.org \
--cc=ulf.hansson@linaro.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).