From: khilman@baylibre.com (Kevin Hilman)
To: linus-amlogic@lists.infradead.org
Subject: [PATCH] mmc: sdio: fix alignment issue in struct sdio_func
Date: Wed, 29 Mar 2017 13:17:32 -0700 [thread overview]
Message-ID: <m237dv7s83.fsf@baylibre.com> (raw)
In-Reply-To: <b4221ed8-1e85-2b8f-31c6-d57bc86d122e@gmail.com> (Heiner Kallweit's message of "Wed, 29 Mar 2017 20:54:37 +0200")
Heiner Kallweit <hkallweit1@gmail.com> writes:
> Certain 64-bit systems (e.g. Amlogic Meson GX) require buffers to be
> used for DMA to be 8-byte-aligned. struct sdio_func has an embedded
> small DMA buffer not meeting this requirement.
> When testing switching to descriptor chain mode in meson-gx driver
> SDIO is broken therefore. Fix this by allocating the small DMA buffer
> separately as kmalloc ensures that the returned memory area is
> properly aligned for every basic data type.
>
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
> Tested-by: Helmut Klein <hgkr.klein@gmail.com>
This should work too, without the need to do a tiny kmalloc.
diff --git a/include/linux/mmc/sdio_func.h b/include/linux/mmc/sdio_func.h
index aab032a6ae61..071addf23931 100644
--- a/include/linux/mmc/sdio_func.h
+++ b/include/linux/mmc/sdio_func.h
@@ -53,7 +53,7 @@ struct sdio_func {
unsigned int state; /* function state */
#define SDIO_STATE_PRESENT (1<<0) /* present in sysfs */
- u8 tmpbuf[4]; /* DMA:able scratch buffer */
+ u8 tmpbuf[4] __aligned(8); /* DMA:able scratch buffer */
unsigned num_info; /* number of info strings */
const char **info; /* info strings */
Kevin
WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@baylibre.com>
To: Heiner Kallweit <hkallweit1@gmail.com>
Cc: Ulf Hansson <ulf.hansson@linaro.org>,
linux-amlogic@lists.infradead.org,
Helmut Klein <hgkr.klein@gmail.com>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Subject: Re: [PATCH] mmc: sdio: fix alignment issue in struct sdio_func
Date: Wed, 29 Mar 2017 13:17:32 -0700 [thread overview]
Message-ID: <m237dv7s83.fsf@baylibre.com> (raw)
In-Reply-To: <b4221ed8-1e85-2b8f-31c6-d57bc86d122e@gmail.com> (Heiner Kallweit's message of "Wed, 29 Mar 2017 20:54:37 +0200")
Heiner Kallweit <hkallweit1@gmail.com> writes:
> Certain 64-bit systems (e.g. Amlogic Meson GX) require buffers to be
> used for DMA to be 8-byte-aligned. struct sdio_func has an embedded
> small DMA buffer not meeting this requirement.
> When testing switching to descriptor chain mode in meson-gx driver
> SDIO is broken therefore. Fix this by allocating the small DMA buffer
> separately as kmalloc ensures that the returned memory area is
> properly aligned for every basic data type.
>
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
> Tested-by: Helmut Klein <hgkr.klein@gmail.com>
This should work too, without the need to do a tiny kmalloc.
diff --git a/include/linux/mmc/sdio_func.h b/include/linux/mmc/sdio_func.h
index aab032a6ae61..071addf23931 100644
--- a/include/linux/mmc/sdio_func.h
+++ b/include/linux/mmc/sdio_func.h
@@ -53,7 +53,7 @@ struct sdio_func {
unsigned int state; /* function state */
#define SDIO_STATE_PRESENT (1<<0) /* present in sysfs */
- u8 tmpbuf[4]; /* DMA:able scratch buffer */
+ u8 tmpbuf[4] __aligned(8); /* DMA:able scratch buffer */
unsigned num_info; /* number of info strings */
const char **info; /* info strings */
Kevin
next prev parent reply other threads:[~2017-03-29 20:17 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-29 18:54 [PATCH] mmc: sdio: fix alignment issue in struct sdio_func Heiner Kallweit
2017-03-29 18:54 ` Heiner Kallweit
2017-03-29 20:17 ` Kevin Hilman [this message]
2017-03-29 20:17 ` Kevin Hilman
2017-03-29 20:40 ` Heiner Kallweit
2017-03-29 20:40 ` Heiner Kallweit
2017-04-18 19:15 ` Ulf Hansson
2017-04-18 19:15 ` Ulf Hansson
2017-04-18 19:20 ` Heiner Kallweit
2017-04-18 19:20 ` Heiner Kallweit
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=m237dv7s83.fsf@baylibre.com \
--to=khilman@baylibre.com \
--cc=linus-amlogic@lists.infradead.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.