[patch 5/5] [RFC] Add MMC Password Protection (lock/unlock) support V7: mmc_omap_dma.diff

Anderson Briglia
2006-11-22T18:26:20Z

OMAP platform specific patch.
- Adjust the frame size for DMA transfers.

Signed-off-by: Anderson Briglia <anderson.briglia <at> indt.org.br>
Signed-off-by: Carlos Eduardo Aguiar <carlos.aguiar <at> indt.org.br>

Index: linux-omap-2.6.git/drivers/mmc/omap.c
===================================================================
--- linux-omap-2.6.git.orig/drivers/mmc/omap.c 2006-11-22 09:07:25.000000000 -0400
+++ linux-omap-2.6.git/drivers/mmc/omap.c 2006-11-22 09:19:03.000000000 -0400
@@ -629,6 +629,14 @@ mmc_omap_prepare_dma(struct mmc_omap_hos

data_addr = host->phys_base + OMAP_MMC_REG_DATA;
frame = data->blksz;
+
+#ifdef CONFIG_MMC_PASSWORDS
+ /* MMC LOCK/UNLOCK: Do frame size multiple of two. This is
+ * needed for DMA transfers to work properly, once
+ * the block size depends on MMC password length.
+ */
+ frame += frame&0x1;
+#endif
count = sg_dma_len(sg);

if ((data->blocks == 1) && (count > (data->blksz)))