Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 689d4453 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Lee Jones
Browse files

mfd: intel-lpss: Use writeq() helper



There are already helper functions to do 64-bit I/O on 32-bit machines, thus we
don't need to reinvent the wheel. In our case we can't use readq() / writeq()
even on 64-bit kernel since there is a hardware limitation (OCP bus is a 32-bit
bus).

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 327cc18e
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -26,6 +26,8 @@
#include <linux/pm_runtime.h>
#include <linux/seq_file.h>

#include <asm-generic/io-64-nonatomic-lo-hi.h>

#include "intel-lpss.h"

#define LPSS_DEV_OFFSET		0x000
@@ -52,8 +54,7 @@
#define LPSS_PRIV_SSP_REG		0x20
#define LPSS_PRIV_SSP_REG_DIS_DMA_FIN	BIT(0)

#define LPSS_PRIV_REMAP_ADDR_LO		0x40
#define LPSS_PRIV_REMAP_ADDR_HI		0x44
#define LPSS_PRIV_REMAP_ADDR		0x40

#define LPSS_PRIV_CAPS			0xfc
#define LPSS_PRIV_CAPS_NO_IDMA		BIT(8)
@@ -250,12 +251,7 @@ static void intel_lpss_set_remap_addr(const struct intel_lpss *lpss)
{
	resource_size_t addr = lpss->info->mem->start;

	writel(addr, lpss->priv + LPSS_PRIV_REMAP_ADDR_LO);
#if BITS_PER_LONG > 32
	writel(addr >> 32, lpss->priv + LPSS_PRIV_REMAP_ADDR_HI);
#else
	writel(0, lpss->priv + LPSS_PRIV_REMAP_ADDR_HI);
#endif
	lo_hi_writeq(addr, lpss->priv + LPSS_PRIV_REMAP_ADDR);
}

static void intel_lpss_deassert_reset(const struct intel_lpss *lpss)