|
|
@@ -65,7 +65,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
}
|
|
|
|
|
|
static void bcm2835_reset(struct mmc_host *mmc)
|
|
|
-@@ -595,6 +607,25 @@ static void bcm2835_finish_request(struc
|
|
|
+@@ -596,6 +608,25 @@ static void bcm2835_finish_request(struc
|
|
|
|
|
|
mrq = host->mrq;
|
|
|
|
|
|
@@ -91,7 +91,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
host->mrq = NULL;
|
|
|
host->cmd = NULL;
|
|
|
host->data = NULL;
|
|
|
-@@ -1091,8 +1122,13 @@ static void bcm2835_dma_complete_work(st
|
|
|
+@@ -1092,8 +1123,13 @@ static void bcm2835_dma_complete_work(st
|
|
|
static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock)
|
|
|
{
|
|
|
struct mmc_host *mmc = mmc_from_priv(host);
|
|
|
@@ -105,7 +105,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
/* The SDCDIV register has 11 bits, and holds (div - 2). But
|
|
|
* in data mode the max is 50MHz wihout a minimum, and only
|
|
|
* the bottom 3 bits are used. Since the switch over is
|
|
|
-@@ -1114,38 +1150,78 @@ static void bcm2835_set_clock(struct bcm
|
|
|
+@@ -1115,38 +1151,78 @@ static void bcm2835_set_clock(struct bcm
|
|
|
* clock divisor at all times.
|
|
|
*/
|
|
|
|
|
|
@@ -205,7 +205,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
}
|
|
|
|
|
|
static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq)
|
|
|
-@@ -1175,6 +1251,9 @@ static void bcm2835_request(struct mmc_h
|
|
|
+@@ -1176,6 +1252,9 @@ static void bcm2835_request(struct mmc_h
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -215,7 +215,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
mutex_lock(&host->mutex);
|
|
|
|
|
|
WARN_ON(host->mrq);
|
|
|
-@@ -1198,7 +1277,7 @@ static void bcm2835_request(struct mmc_h
|
|
|
+@@ -1199,7 +1278,7 @@ static void bcm2835_request(struct mmc_h
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -224,7 +224,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
bcm2835_prepare_dma(host, mrq->data);
|
|
|
|
|
|
host->use_sbc = !!mrq->sbc && host->mrq->data &&
|
|
|
-@@ -1333,8 +1412,8 @@ static int bcm2835_add_host(struct bcm28
|
|
|
+@@ -1334,8 +1413,8 @@ static int bcm2835_add_host(struct bcm28
|
|
|
}
|
|
|
|
|
|
pio_limit_string[0] = '\0';
|
|
|
@@ -235,7 +235,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
dev_info(dev, "loaded - DMA %s%s\n",
|
|
|
host->use_dma ? "enabled" : "disabled", pio_limit_string);
|
|
|
|
|
|
-@@ -1344,10 +1423,13 @@ static int bcm2835_add_host(struct bcm28
|
|
|
+@@ -1345,10 +1424,13 @@ static int bcm2835_add_host(struct bcm28
|
|
|
static int bcm2835_probe(struct platform_device *pdev)
|
|
|
{
|
|
|
struct device *dev = &pdev->dev;
|
|
|
@@ -250,7 +250,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
int ret;
|
|
|
|
|
|
dev_dbg(dev, "%s\n", __func__);
|
|
|
-@@ -1367,6 +1449,23 @@ static int bcm2835_probe(struct platform
|
|
|
+@@ -1368,6 +1450,23 @@ static int bcm2835_probe(struct platform
|
|
|
}
|
|
|
|
|
|
host->phys_addr = iomem->start;
|
|
|
@@ -274,7 +274,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
|
|
|
host->dma_chan = NULL;
|
|
|
host->dma_desc = NULL;
|
|
|
-@@ -1389,6 +1488,24 @@ static int bcm2835_probe(struct platform
|
|
|
+@@ -1390,6 +1489,24 @@ static int bcm2835_probe(struct platform
|
|
|
goto err;
|
|
|
}
|
|
|
|