mmc: sdhci: Remove redundant ADMA page boundary warnings
authorAndrew Gabbasov <andrew_gabbasov@mentor.com>
Mon, 22 Dec 2014 12:23:21 +0000 (06:23 -0600)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 19 Jan 2015 08:56:24 +0000 (09:56 +0100)
The bounce buffer, used for misaligned bytes for ADMA access,
resides wholly within the (align_sz)-aligned word, just by construction.
The page addresses are aligned to (align_sz), either for 4 or 8 bytes
alignment, so that the aligned word resides wholly within a single page
and can't cross the page boundary. So, the bounce buffer can't cross
the page boundary too. That's why the warnings are never hit, and can
be safely removed.

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci.c

index f1a488ee432f891971f79707d78ca91a631b6c51..2558d705c92e3e82ae25576a6923f268a3a55f3d 100644 (file)
@@ -531,8 +531,6 @@ static int sdhci_adma_table_pre(struct sdhci_host *host,
                if (offset) {
                        if (data->flags & MMC_DATA_WRITE) {
                                buffer = sdhci_kmap_atomic(sg, &flags);
-                               WARN_ON(((long)buffer & (PAGE_SIZE - 1)) >
-                                       (PAGE_SIZE - offset));
                                memcpy(align, buffer, offset);
                                sdhci_kunmap_atomic(buffer, &flags);
                        }
@@ -639,8 +637,6 @@ static void sdhci_adma_table_post(struct sdhci_host *host,
                                       (sg_dma_address(sg) & host->align_mask);
 
                                buffer = sdhci_kmap_atomic(sg, &flags);
-                               WARN_ON(((long)buffer & (PAGE_SIZE - 1)) >
-                                       (PAGE_SIZE - size));
                                memcpy(buffer, align, size);
                                sdhci_kunmap_atomic(buffer, &flags);