From c791fb3e80b92081448d32caa4d5fdef1b4cf285 Mon Sep 17 00:00:00 2001 From: Pushkar Joshi Date: Mon, 22 Jul 2013 15:19:42 -0700 Subject: [PATCH] coresight: appropriately handle hardware event mux control registers Modify the hardware events driver so that it can handle the hardware event mux control register addresses being greater than 32 bits. Change-Id: Id41ce183fa946b14590947f21fbcea361393543f Signed-off-by: Pushkar Joshi --- drivers/coresight/coresight-csr.c | 2 +- drivers/coresight/coresight-hwevent.c | 8 ++++---- drivers/coresight/coresight-priv.h | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/coresight/coresight-csr.c b/drivers/coresight/coresight-csr.c index 6efab5bd8d3..16338a985c0 100644 --- a/drivers/coresight/coresight-csr.c +++ b/drivers/coresight/coresight-csr.c @@ -136,7 +136,7 @@ void msm_qdss_csr_disable_flush(void) } EXPORT_SYMBOL(msm_qdss_csr_disable_flush); -int coresight_csr_hwctrl_set(phys_addr_t addr, uint32_t val) +int coresight_csr_hwctrl_set(uint64_t addr, uint32_t val) { struct csr_drvdata *drvdata = csrdrvdata; int ret = 0; diff --git a/drivers/coresight/coresight-hwevent.c b/drivers/coresight/coresight-hwevent.c index 269d56e0157..4f75bcdd243 100644 --- a/drivers/coresight/coresight-hwevent.c +++ b/drivers/coresight/coresight-hwevent.c @@ -130,11 +130,11 @@ static ssize_t hwevent_store_setreg(struct device *dev, { struct hwevent_drvdata *drvdata = dev_get_drvdata(dev->parent); void *hwereg; - phys_addr_t addr; - uint32_t val; + unsigned long long addr; + unsigned long val; int ret, i; - if (sscanf(buf, "%x %x", &addr, &val) != 2) + if (sscanf(buf, "%llx %lx", &addr, &val) != 2) return -EINVAL; mutex_lock(&drvdata->mutex); @@ -153,7 +153,7 @@ static ssize_t hwevent_store_setreg(struct device *dev, drvdata->hmux[i].end - drvdata->hmux[i].start); if (!hwereg) { - dev_err(dev, "unable to map address 0x%x\n", + dev_err(dev, "unable to map address 0x%llx\n", addr); ret = -ENOMEM; goto err; diff --git a/drivers/coresight/coresight-priv.h b/drivers/coresight/coresight-priv.h index 3ad1f348495..fae1232b0ce 100644 --- a/drivers/coresight/coresight-priv.h +++ b/drivers/coresight/coresight-priv.h @@ -47,13 +47,13 @@ static inline bool coresight_fuse_apps_access_disabled(void) { return false; } extern void msm_qdss_csr_enable_bam_to_usb(void); extern void msm_qdss_csr_disable_bam_to_usb(void); extern void msm_qdss_csr_disable_flush(void); -extern int coresight_csr_hwctrl_set(phys_addr_t addr, uint32_t val); +extern int coresight_csr_hwctrl_set(uint64_t addr, uint32_t val); extern void coresight_csr_set_byte_cntr(uint32_t); #else static inline void msm_qdss_csr_enable_bam_to_usb(void) {} static inline void msm_qdss_csr_disable_bam_to_usb(void) {} static inline void msm_qdss_csr_disable_flush(void) {} -static inline int coresight_csr_hwctrl_set(phys_addr_t addr, +static inline int coresight_csr_hwctrl_set(uint64_t addr, uint32_t val) { return -ENOSYS; } static inline void coresight_csr_set_byte_cntr(uint32_t val) {} #endif