mfd: intel-lpss: Program REMAP register in PIO mode
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 24 Apr 2018 15:00:10 +0000 (18:00 +0300)
committerLee Jones <lee.jones@linaro.org>
Tue, 29 May 2018 08:11:22 +0000 (09:11 +0100)
According to documentation REMAP register has to be programmed in
either DMA or PIO mode of the slice.

Move the DMA capability check below to let REMAP register be programmed
in PIO mode.

Cc: stable@vger.kernel.org # 4.3+
Fixes: 4b45efe85263 ("mfd: Add support for Intel Sunrisepoint LPSS devices")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/intel-lpss.c

index 9e545eb6e8b4aa2fe018c5c4b3a622728f0cf713..4bcf117a7ba8f361c2f7fc9f9522828334af7d3b 100644 (file)
@@ -275,11 +275,11 @@ static void intel_lpss_init_dev(const struct intel_lpss *lpss)
 
        intel_lpss_deassert_reset(lpss);
 
+       intel_lpss_set_remap_addr(lpss);
+
        if (!intel_lpss_has_idma(lpss))
                return;
 
-       intel_lpss_set_remap_addr(lpss);
-
        /* Make sure that SPI multiblock DMA transfers are re-enabled */
        if (lpss->type == LPSS_DEV_SPI)
                writel(value, lpss->priv + LPSS_PRIV_SSP_REG);