aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.1/0066-Add-blk_pos-parameter-to-mmc-multi_io_quirk-callback.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.1/0066-Add-blk_pos-parameter-to-mmc-multi_io_quirk-callback.patch')
-rw-r--r--target/linux/brcm2708/patches-4.1/0066-Add-blk_pos-parameter-to-mmc-multi_io_quirk-callback.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.1/0066-Add-blk_pos-parameter-to-mmc-multi_io_quirk-callback.patch b/target/linux/brcm2708/patches-4.1/0066-Add-blk_pos-parameter-to-mmc-multi_io_quirk-callback.patch
new file mode 100644
index 0000000..1e9bee6
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.1/0066-Add-blk_pos-parameter-to-mmc-multi_io_quirk-callback.patch
@@ -0,0 +1,75 @@
+From 96d14e8df0b8209526f76f890404151d58554ada Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Fri, 17 Apr 2015 19:30:22 +0100
+Subject: [PATCH 066/203] Add blk_pos parameter to mmc multi_io_quirk callback
+
+---
+ drivers/mmc/card/block.c | 1 +
+ drivers/mmc/host/omap_hsmmc.c | 4 +++-
+ drivers/mmc/host/sh_mobile_sdhi.c | 4 +++-
+ drivers/mmc/host/tmio_mmc_pio.c | 4 +++-
+ include/linux/mmc/host.h | 4 +++-
+ 5 files changed, 13 insertions(+), 4 deletions(-)
+
+--- a/drivers/mmc/card/block.c
++++ b/drivers/mmc/card/block.c
+@@ -1415,6 +1415,7 @@ static void mmc_blk_rw_rq_prep(struct mm
+ brq->data.blocks = card->host->ops->multi_io_quirk(card,
+ (rq_data_dir(req) == READ) ?
+ MMC_DATA_READ : MMC_DATA_WRITE,
++ blk_rq_pos(req),
+ brq->data.blocks);
+ }
+
+--- a/drivers/mmc/host/omap_hsmmc.c
++++ b/drivers/mmc/host/omap_hsmmc.c
+@@ -1749,7 +1749,9 @@ static void omap_hsmmc_conf_bus_power(st
+ }
+
+ static int omap_hsmmc_multi_io_quirk(struct mmc_card *card,
+- unsigned int direction, int blk_size)
++ unsigned int direction,
++ u32 blk_pos,
++ int blk_size)
+ {
+ /* This controller can't do multiblock reads due to hw bugs */
+ if (direction == MMC_DATA_READ)
+--- a/drivers/mmc/host/sh_mobile_sdhi.c
++++ b/drivers/mmc/host/sh_mobile_sdhi.c
+@@ -170,7 +170,9 @@ static int sh_mobile_sdhi_write16_hook(s
+ }
+
+ static int sh_mobile_sdhi_multi_io_quirk(struct mmc_card *card,
+- unsigned int direction, int blk_size)
++ unsigned int direction,
++ u32 blk_pos,
++ int blk_size)
+ {
+ /*
+ * In Renesas controllers, when performing a
+--- a/drivers/mmc/host/tmio_mmc_pio.c
++++ b/drivers/mmc/host/tmio_mmc_pio.c
+@@ -1001,7 +1001,9 @@ static int tmio_mmc_get_ro(struct mmc_ho
+ }
+
+ static int tmio_multi_io_quirk(struct mmc_card *card,
+- unsigned int direction, int blk_size)
++ unsigned int direction,
++ u32 blk_pos,
++ int blk_size)
+ {
+ struct tmio_mmc_host *host = mmc_priv(card->host);
+
+--- a/include/linux/mmc/host.h
++++ b/include/linux/mmc/host.h
+@@ -140,7 +140,9 @@ struct mmc_host_ops {
+ * I/O. Returns the number of supported blocks for the request.
+ */
+ int (*multi_io_quirk)(struct mmc_card *card,
+- unsigned int direction, int blk_size);
++ unsigned int direction,
++ u32 blk_pos,
++ int blk_size);
+ };
+
+ struct mmc_card;