mmc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R
authorEugen Hristev <eugen.hristev@microchip.com>
Thu, 30 Jun 2022 09:09:26 +0000 (12:09 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 12 Jul 2022 10:42:37 +0000 (12:42 +0200)
commit5987e6ded29d52e42fc7b06aa575c60a25eee38e
tree87f84eadec10e73206874db63c9227196bace21a
parente427266460826bea21b70f9b2bb29decfb2c2620
mmc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R

In set_uhs_signaling, the DDR bit is being set by fully writing the MC1R
register.
This can lead to accidental erase of certain bits in this register.
Avoid this by doing a read-modify-write operation.

Fixes: d0918764c17b ("mmc: sdhci-of-at91: fix MMC_DDR_52 timing selection")
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
Tested-by: Karl Olsen <karl@micro-technic.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20220630090926.15061-1-eugen.hristev@microchip.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-of-at91.c