diff options
| author | Olof Johansson <olof@lixom.net> | 2014-03-09 15:03:18 -0400 |
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2014-03-09 15:03:18 -0400 |
| commit | 1760e4f855a2ead08a40deac9abd4fb8cdf3af32 (patch) | |
| tree | 8ee1c79f4c46fd225d90e832def3d7f7e3742086 /include/asm-generic | |
| parent | 1e871089f66416ce540d8e362225a0878a5d2c06 (diff) | |
| parent | c8ae7e9bfc8caf679e891c4f0a04f2435b45e2da (diff) | |
Merge tag 'imx-soc-3.15' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/soc
i.MX SoC changes for 3.15 from Shawn Guo:
- Support suspend from ocram (DDR IO floating) for imx6 platforms
- Add cpuidle support for imx6sl
- Sparse warning fixes for imx6sl and vf610 clock code
- Remove PWM platform code
- Support ptp and rmii clock from pad
- Support WEIM CS GPR configuration
- Random cleanups and defconfig updates
* tag 'imx-soc-3.15' of git://git.linaro.org/people/shawnguo/linux-2.6: (373 commits)
ARM: imx6: drop .text.head section annotation from headsmp.S
ARM: imx6: build suspend-imx6.o with CONFIG_SOC_IMX6
ARM: imx6: rename pm-imx6q.c to pm-imx6.c
ARM: imx6: introduce CONFIG_SOC_IMX6 for i.MX6 common stuff
ARM: imx6: do not call imx6q_suspend_init() with !CONFIG_SUSPEND
ARM: imx6: call suspend_set_ops() from suspend routine
ARM: imx6: build headsmp.o only on CONFIG_SMP
ARM: imx6: move v7_cpu_resume() into suspend-imx6.S
ARM i.MX6q: Mark VPU and IPU AXI transfers as cacheable, increase IPU priority
ARM: imx6q: Add GPR6 and GPR7 register definitions for iomuxc gpr
bus: imx-weim: support CS GPR configuration
ARM: mach-imx: Kconfig: Remove IMX_HAVE_PLATFORM_IMX2_WDT from SOC_IMX53
ARM: imx_v6_v7_defconfig: Select CONFIG_DEBUG_FS
ARM: mach-imx: Select CONFIG_SRAM at ARCH_MXC level
ARM: imx: add speed grading check for i.mx6 soc
ARM: imx: avoid calling clk APIs in idle thread which may cause schedule
ARM: imx6q: support ptp and rmii clock from pad
ARM: imx6q: remove unneeded clk lookups
ARM: imx_v6_v7_defconfig: Select CONFIG_MMC_UNSAFE_RESUME
ARM: imx_v4_v5_defconfig: Select CONFIG_MMC_UNSAFE_RESUME
...
Diffstat (limited to 'include/asm-generic')
| -rw-r--r-- | include/asm-generic/pgtable.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index 8e4f41d9af4d..34c7bdc06014 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h | |||
| @@ -701,6 +701,18 @@ static inline pte_t pte_mknuma(pte_t pte) | |||
| 701 | } | 701 | } |
| 702 | #endif | 702 | #endif |
| 703 | 703 | ||
| 704 | #ifndef ptep_set_numa | ||
| 705 | static inline void ptep_set_numa(struct mm_struct *mm, unsigned long addr, | ||
| 706 | pte_t *ptep) | ||
| 707 | { | ||
| 708 | pte_t ptent = *ptep; | ||
| 709 | |||
| 710 | ptent = pte_mknuma(ptent); | ||
| 711 | set_pte_at(mm, addr, ptep, ptent); | ||
| 712 | return; | ||
| 713 | } | ||
| 714 | #endif | ||
| 715 | |||
| 704 | #ifndef pmd_mknuma | 716 | #ifndef pmd_mknuma |
| 705 | static inline pmd_t pmd_mknuma(pmd_t pmd) | 717 | static inline pmd_t pmd_mknuma(pmd_t pmd) |
| 706 | { | 718 | { |
| @@ -708,6 +720,18 @@ static inline pmd_t pmd_mknuma(pmd_t pmd) | |||
| 708 | return pmd_clear_flags(pmd, _PAGE_PRESENT); | 720 | return pmd_clear_flags(pmd, _PAGE_PRESENT); |
| 709 | } | 721 | } |
| 710 | #endif | 722 | #endif |
| 723 | |||
| 724 | #ifndef pmdp_set_numa | ||
| 725 | static inline void pmdp_set_numa(struct mm_struct *mm, unsigned long addr, | ||
| 726 | pmd_t *pmdp) | ||
| 727 | { | ||
| 728 | pmd_t pmd = *pmdp; | ||
| 729 | |||
| 730 | pmd = pmd_mknuma(pmd); | ||
| 731 | set_pmd_at(mm, addr, pmdp, pmd); | ||
| 732 | return; | ||
| 733 | } | ||
| 734 | #endif | ||
| 711 | #else | 735 | #else |
| 712 | extern int pte_numa(pte_t pte); | 736 | extern int pte_numa(pte_t pte); |
| 713 | extern int pmd_numa(pmd_t pmd); | 737 | extern int pmd_numa(pmd_t pmd); |
| @@ -715,6 +739,8 @@ extern pte_t pte_mknonnuma(pte_t pte); | |||
| 715 | extern pmd_t pmd_mknonnuma(pmd_t pmd); | 739 | extern pmd_t pmd_mknonnuma(pmd_t pmd); |
| 716 | extern pte_t pte_mknuma(pte_t pte); | 740 | extern pte_t pte_mknuma(pte_t pte); |
| 717 | extern pmd_t pmd_mknuma(pmd_t pmd); | 741 | extern pmd_t pmd_mknuma(pmd_t pmd); |
| 742 | extern void ptep_set_numa(struct mm_struct *mm, unsigned long addr, pte_t *ptep); | ||
| 743 | extern void pmdp_set_numa(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp); | ||
| 718 | #endif /* CONFIG_ARCH_USES_NUMA_PROT_NONE */ | 744 | #endif /* CONFIG_ARCH_USES_NUMA_PROT_NONE */ |
| 719 | #else | 745 | #else |
| 720 | static inline int pmd_numa(pmd_t pmd) | 746 | static inline int pmd_numa(pmd_t pmd) |
| @@ -742,10 +768,23 @@ static inline pte_t pte_mknuma(pte_t pte) | |||
| 742 | return pte; | 768 | return pte; |
| 743 | } | 769 | } |
| 744 | 770 | ||
| 771 | static inline void ptep_set_numa(struct mm_struct *mm, unsigned long addr, | ||
| 772 | pte_t *ptep) | ||
| 773 | { | ||
| 774 | return; | ||
| 775 | } | ||
| 776 | |||
| 777 | |||
| 745 | static inline pmd_t pmd_mknuma(pmd_t pmd) | 778 | static inline pmd_t pmd_mknuma(pmd_t pmd) |
| 746 | { | 779 | { |
| 747 | return pmd; | 780 | return pmd; |
| 748 | } | 781 | } |
| 782 | |||
| 783 | static inline void pmdp_set_numa(struct mm_struct *mm, unsigned long addr, | ||
| 784 | pmd_t *pmdp) | ||
| 785 | { | ||
| 786 | return ; | ||
| 787 | } | ||
| 749 | #endif /* CONFIG_NUMA_BALANCING */ | 788 | #endif /* CONFIG_NUMA_BALANCING */ |
| 750 | 789 | ||
| 751 | #endif /* CONFIG_MMU */ | 790 | #endif /* CONFIG_MMU */ |
