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

Commit 9d5f2b31 authored by Kaushal Kumar's avatar Kaushal Kumar Committed by Teng Fei Fan
Browse files

arm/arm64: mm: add option to configure TLMM page attrs for 8953



Add and enable option to configure the TLMM register
region page attributes as strongly ordered for 8953
as needed for some of CPUSS sub-system functionality.

Change-Id: Id600fb5e853ca85e2d3949d0c168247c21d2d64f
Signed-off-by: default avatarKaushal Kumar <kaushalk@codeaurora.org>
Signed-off-by: default avatarTeng Fei Fan <tengfei@codeaurora.org>
parent 7d5af490
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1412,6 +1412,16 @@ config HAVE_ARM_TWD
	help
	  This options enables support for the ARM timer and watchdog unit

config ARCH_MSM8953_SOC_SETTINGS
	bool "Enable MSM8953 SOC settings"
	depends on ARCH_MSM8953
	help
	  Enable MSM8953 SOC related settings, these generic MSM8953
	  related settings are required for some of CPUSS sub-system
	  functionality.

	  If you are not sure what to do, select 'N' here.

config MCPM
	bool "Multi-Cluster Power Management"
	depends on CPU_V7 && SMP
+3 −0
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ config ARCH_MSM8953
	select HAVE_CLK
	select HAVE_CLK_PREPARE
	select COMMON_CLK_MSM
	select ARCH_MSM8953_SOC_SETTINGS

config ARCH_MSM8953_BOOT_ORDERING
	bool "Enable support for MSM8953 device boot ordering"
@@ -160,6 +161,7 @@ config ARCH_SDM450
	select HAVE_CLK
	select HAVE_CLK_PREPARE
	select COMMON_CLK_MSM
	select ARCH_MSM8953_SOC_SETTINGS

config ARCH_SDM632
	bool "Enable Support for Qualcomm Technologies Inc. SDM632"
@@ -176,6 +178,7 @@ config ARCH_SDM632
	select SND_HWDEP
	select CPU_FREQ_QCOM
	select COMMON_CLK_MSM
	select ARCH_MSM8953_SOC_SETTINGS

config ARCH_SDM670
        bool "Enable Support for SDM670"
+8 −2
Original line number Diff line number Diff line
@@ -265,6 +265,7 @@ static void __iomem * __arm_ioremap_pfn_caller(unsigned long pfn,
	unsigned long addr;
	struct vm_struct *area;
	phys_addr_t paddr = __pfn_to_phys(pfn);
	pgprot_t prot;

#ifndef CONFIG_ARM_LPAE
	/*
@@ -310,6 +311,12 @@ static void __iomem * __arm_ioremap_pfn_caller(unsigned long pfn,
 	addr = (unsigned long)area->addr;
	area->phys_addr = paddr;

	prot = __pgprot(type->prot_pte);
#ifdef CONFIG_ARCH_MSM8953_SOC_SETTINGS
	if (paddr >= MSM8953_TLMM_START_ADDR &&
	    paddr <= MSM8953_TLMM_END_ADDR)
		prot = pgprot_stronglyordered(type->prot_pte);
#endif
#if !defined(CONFIG_SMP) && !defined(CONFIG_ARM_LPAE)
	if (DOMAIN_IO == 0 &&
	    (((cpu_architecture() >= CPU_ARCH_ARMv6) && (get_cr() & CR_XP)) ||
@@ -322,8 +329,7 @@ static void __iomem * __arm_ioremap_pfn_caller(unsigned long pfn,
		err = remap_area_sections(addr, pfn, size, type);
	} else
#endif
		err = ioremap_page_range(addr, addr + size, paddr,
					 __pgprot(type->prot_pte));
		err = ioremap_page_range(addr, addr + size, paddr, prot);

	if (err) {
 		vunmap((void *)addr);
+10 −0
Original line number Diff line number Diff line
@@ -554,6 +554,16 @@ config ARM64_64K_PAGES

endchoice

config ARCH_MSM8953_SOC_SETTINGS
	bool "Enable MSM8953 SOC settings"
	depends on ARCH_MSM8953
	help
	  Enable MSM8953 SOC related settings, these generic MSM8953
	  related settings are required for some of CPUSS sub-system
	  functionality.

	  If you are not sure what to do, select 'N' here.

choice
	prompt "Virtual address space size"
	default ARM64_VA_BITS_39 if ARM64_4K_PAGES
+3 −0
Original line number Diff line number Diff line
@@ -152,6 +152,7 @@ config ARCH_MSM8953
	depends on ARCH_QCOM
	select CPU_FREQ_QCOM
	select COMMON_CLK_MSM
	select ARCH_MSM8953_SOC_SETTINGS
	help
	  This enables support for the MSM8953 chipset. If you do not
	  wish to build a kernel that runs on this chipset, say 'N' here.
@@ -179,6 +180,7 @@ config ARCH_SDM450
	depends on ARCH_QCOM
	select CPU_FREQ_QCOM
	select COMMON_CLK_MSM
	select ARCH_MSM8953_SOC_SETTINGS
	help
	  This enables support for the sdm450 chipset. If you do not
	  wish to build a kernel that runs on this chipset, say 'N' here.
@@ -188,6 +190,7 @@ config ARCH_SDM632
	depends on ARCH_QCOM
	select CPU_FREQ_QCOM
	select COMMON_CLK_MSM
	select ARCH_MSM8953_SOC_SETTINGS
	help
	  This enables support for the sdm632 chipset. If you do not
	  wish to build a kernel that runs on this chipset, say 'N' here.
Loading