Skip to contentSkip to conversation

Fix hwtimer_uaccess in IMX architecture

PATCH In review Michael Trimarchi 2 participants 3 messages Apr 24, 2012

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/3 Fix hwtimer_uaccess in IMX architecture

Fix the code for IMX architectures in order to call the software workaround to clear the off platform peripheral modules Supervisor Protect clear the off platform peripheral modules Supervisor Protect bit for the SDMA to access them.

---
 arch/arm/plat-mxc/devices.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)
arch/arm/plat-mxc/devices.c +7 -7
index 253b711..a2c0e66 100644
@@ -93,19 +93,19 @@ err:
 
 static int post_cpu_init(void)
 {
-#ifdef CONFIG_MACH_MX27
+#ifdef CONFIG_ARCH_MX27
 	if (cpu_is_mx27())
 		ipipe_mach_allow_hwtimer_uaccess(MX27_IO_P2V(MX27_AIPI_BASE_ADDR), 3);
 #endif /* CONFIG_MACH_MX27 */
-#ifdef CONFIG_MACH_MX25
+#ifdef CONFIG_ARCH_MX25
 	if (cpu_is_mx25())
-		ipipe_mach_allow_hwtimer_uaccess(MX25_AIPS1_BASE_ADDR_VIRT,
-						 MX25_AIPS2_BASE_ADDR_VIRT);
+		ipipe_mach_allow_hwtimer_uaccess(MX25_IO_P2V(MX25_AIPS1_BASE_ADDR),
+						 MX25_IO_P2V(MX25_AIPS2_BASE_ADDR));
 #endif /* CONFIG_MACH_MX25 */
-#ifdef CONFIG_MACH_MX31
+#ifdef CONFIG_ARCH_MX31
 	if (cpu_is_mx31())
-		ipipe_mach_allow_hwtimer_uaccess(AIPS1_BASE_ADDR_VIRT,
-						 AIPS2_BASE_ADDR_VIRT);
+		ipipe_mach_allow_hwtimer_uaccess(MX31_IO_P2V(MX31_AIPS1_BASE_ADDR_VIRT),
+						 MX31_IO_P2V(MX31_AIPS2_BASE_ADDR_VIRT));
 #endif /* CONFIG_MACH_MX31 */
 	return 0;
 }
Signature · 1 line
1.7.5.4
#1 lore raw
Quoted 16 lines · Michael Trimarchi

Fix the code for IMX architectures in order to call the software workaround to clear the off platform peripheral modules Supervisor Protect clear the off platform peripheral modules Supervisor Protect bit for the SDMA to access them.

---
 arch/arm/plat-mxc/devices.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)
arch/arm/plat-mxc/devices.c +0 -0
index 253b711..a2c0e66 100644

arch/arm/plat-mxc/devices.c err: · line 96

Quoted 5 lines
arch/arm/plat-mxc/devices.c +1 -1
@@ -93,19 +93,19 @@ err:
 
 static int post_cpu_init(void)
 {
-#ifdef CONFIG_MACH_MX27
+#ifdef CONFIG_ARCH_MX27

What kernel version are we talking about? In version 3.2.1, MACH_MX27 is still there and has not been replacced with ARCH_MX27

Signature · 1 line
                                                                Gilles.
#2 lore raw
Quoted 18 lines · Gilles Chanteperdrix
Quoted 17 lines · Michael Trimarchi

Fix the code for IMX architectures in order to call the software workaround to clear the off platform peripheral modules Supervisor Protect clear the off platform peripheral modules Supervisor Protect bit for the SDMA to access them.

---
 arch/arm/plat-mxc/devices.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)
arch/arm/plat-mxc/devices.c +0 -0
index 253b711..a2c0e66 100644
@@ -93,19 +93,19 @@ err:
 
Quoted 8 lines

arch/arm/plat-mxc/devices.c err: · line 96

Quoted 4 lines
arch/arm/plat-mxc/devices.c +1 -1
 static int post_cpu_init(void)
 {
-#ifdef CONFIG_MACH_MX27
+#ifdef CONFIG_ARCH_MX27

What kernel version are we talking about? In version 3.2.1, MACH_MX27 is still there and has not been replacced with ARCH_MX27

Yes, it is strange. In linux 3.4.0

git grep ARCH_MX25 arch/arm/
arch/arm/mach-imx/Kconfig:config ARCH_MX25
arch/arm/mach-imx/Kconfig: select ARCH_MX25
arch/arm/plat-mxc/devices/Kconfig: default y if ARCH_MX25 || SOC_IMX27 || SOC_IMX35 || SOC_IMX50 || SOC_IMX51 || SOC_IMX53

But it is different for the MX27

arch/arm/mach-imx/Kconfig:config MACH_MX27
arch/arm/mach-imx/Kconfig: select MACH_MX27

I will fix

Michael