aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.1/0066-Add-blk_pos-parameter-to-mmc-multi_io_quirk-callback.patch
blob: 1e9bee69cf27887f76b0e1bad1b2e6a15e052c39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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;