]> asedeno.scripts.mit.edu Git - linux.git/commit
mmc: mmci: Don't pretend all variants to have MMCIMASK1 register
authorPatrice Chotard <patrice.chotard@st.com>
Thu, 18 Jan 2018 14:34:17 +0000 (15:34 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 18 Jan 2018 17:14:45 +0000 (18:14 +0100)
commit6ea9cdf3912a8ca532dde5296a0e81fc75a40fa3
treeca30c33b3b63b05cd38fe3de2edd85d70a485e64
parent1910b87f7a9e6d9f9085d36e45dce1e5547c692d
mmc: mmci: Don't pretend all variants to have MMCIMASK1 register

Two mask registers are used in order to select which events have to
actually generate an interrupt on each IRQ line.

It seems that in the single-IRQ case it's assumed that the IRQs lines
are simply OR-ed, while the two mask registers are still present. The
driver still programs the two mask registers separately.

However the STM32 variant has only one IRQ, and also has only one mask
register.

This patch prepares for STM32 variant support by making the driver using
only one mask register.

This patch also optimize the MMCIMASK1 mask usage by caching it into
host->mask1_reg which avoid to read it into mmci_irq().

Tested only on STM32 variant. RFT for variants other than STM32

Signed-off-by: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/mmci.c
drivers/mmc/host/mmci.h