mmc: Allow host drivers to specify a max block size

Most controllers have an upper limit on the block size. Allow the host
drivers to specify this and make sure we avoid hitting this limit.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
diff --git a/drivers/mmc/mmci.c b/drivers/mmc/mmci.c
index ccfe656..5d48e00 100644
--- a/drivers/mmc/mmci.c
+++ b/drivers/mmc/mmci.c
@@ -534,6 +534,11 @@
 	 */
 	mmc->max_seg_size = mmc->max_sectors << 9;
 
+	/*
+	 * Block size can be up to 2048 bytes, but must be a power of two.
+	 */
+	mmc->max_blk_size = 2048;
+
 	spin_lock_init(&host->lock);
 
 	writel(0, host->base + MMCIMASK0);