aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/mfd/intel-lpss.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
index fdf4d5c1add2..001a7d7708ce 100644
--- a/drivers/mfd/intel-lpss.c
+++ b/drivers/mfd/intel-lpss.c
@@ -26,6 +26,8 @@
26#include <linux/pm_runtime.h> 26#include <linux/pm_runtime.h>
27#include <linux/seq_file.h> 27#include <linux/seq_file.h>
28 28
29#include <asm-generic/io-64-nonatomic-lo-hi.h>
30
29#include "intel-lpss.h" 31#include "intel-lpss.h"
30 32
31#define LPSS_DEV_OFFSET 0x000 33#define LPSS_DEV_OFFSET 0x000
@@ -52,8 +54,7 @@
52#define LPSS_PRIV_SSP_REG 0x20 54#define LPSS_PRIV_SSP_REG 0x20
53#define LPSS_PRIV_SSP_REG_DIS_DMA_FIN BIT(0) 55#define LPSS_PRIV_SSP_REG_DIS_DMA_FIN BIT(0)
54 56
55#define LPSS_PRIV_REMAP_ADDR_LO 0x40 57#define LPSS_PRIV_REMAP_ADDR 0x40
56#define LPSS_PRIV_REMAP_ADDR_HI 0x44
57 58
58#define LPSS_PRIV_CAPS 0xfc 59#define LPSS_PRIV_CAPS 0xfc
59#define LPSS_PRIV_CAPS_NO_IDMA BIT(8) 60#define LPSS_PRIV_CAPS_NO_IDMA BIT(8)
@@ -250,12 +251,7 @@ static void intel_lpss_set_remap_addr(const struct intel_lpss *lpss)
250{ 251{
251 resource_size_t addr = lpss->info->mem->start; 252 resource_size_t addr = lpss->info->mem->start;
252 253
253 writel(addr, lpss->priv + LPSS_PRIV_REMAP_ADDR_LO); 254 lo_hi_writeq(addr, lpss->priv + LPSS_PRIV_REMAP_ADDR);
254#if BITS_PER_LONG > 32
255 writel(addr >> 32, lpss->priv + LPSS_PRIV_REMAP_ADDR_HI);
256#else
257 writel(0, lpss->priv + LPSS_PRIV_REMAP_ADDR_HI);
258#endif
259} 255}
260 256
261static void intel_lpss_deassert_reset(const struct intel_lpss *lpss) 257static void intel_lpss_deassert_reset(const struct intel_lpss *lpss)