1. 25 4月, 2013 2 次提交
    • C
      ARM: 7702/1: Set the page table freeing ceiling to TASK_SIZE · 6aaa189f
      Catalin Marinas 提交于
      ARM processors with LPAE enabled use 3 levels of page tables, with an
      entry in the top level (pgd) covering 1GB of virtual space. Because of
      the branch relocation limitations on ARM, the loadable modules are
      mapped 16MB below PAGE_OFFSET, making the corresponding 1GB pgd shared
      between kernel modules and user space.
      
      If free_pgtables() is called with the default ceiling 0,
      free_pgd_range() (and subsequently called functions) also frees the page
      table shared between user space and kernel modules (which is normally
      handled by the ARM-specific pgd_free() function). This patch changes
      defines the ARM USER_PGTABLES_CEILING to TASK_SIZE when CONFIG_ARM_LPAE
      is enabled.
      
      Note that the pgd_free() function already checks the presence of the
      shared pmd page allocated by pgd_alloc() and frees it, though with
      ceiling 0 this wasn't necessary.
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: <stable@vger.kernel.org> # 3.3+
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      6aaa189f
    • H
      ARM: 7701/1: mm: Allow arch code to control the user page table ceiling · a0a9434d
      Hugh Dickins 提交于
      On architectures where a pgd entry may be shared between user and kernel
      (e.g. ARM+LPAE), freeing page tables needs a ceiling other than 0. This
      patch introduces a generic USER_PGTABLES_CEILING that arch code can
      override. It is the responsibility of the arch code setting the ceiling
      to ensure the complete freeing of the page tables (usually in
      pgd_free()).
      
      [catalin.marinas@arm.com: commit log; shift_arg_pages(), asm-generic/pgtables.h changes]
      Signed-off-by: NHugh Dickins <hughd@google.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: <stable@vger.kernel.org> # 3.3+
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      a0a9434d
  2. 17 4月, 2013 2 次提交
  3. 04 4月, 2013 3 次提交
  4. 03 4月, 2013 1 次提交
    • T
      ARM: 7683/1: pci: add a align_resource hook · 029baf14
      Thomas Petazzoni 提交于
      The PCI specifications says that an I/O region must be aligned on a 4
      KB boundary, and a memory region aligned on a 1 MB boundary.
      
      However, the Marvell PCIe interfaces rely on address decoding windows
      (which allow to associate a range of physical addresses with a given
      device). For PCIe memory windows, those windows are defined with a 1
      MB granularity (which matches the PCI specs), but PCIe I/O windows can
      only be defined with a 64 KB granularity, so they have to be 64 KB
      aligned. We therefore need to tell the PCI core about this special
      alignement requirement.
      
      The PCI core already calls pcibios_align_resource() in the ARM PCI
      core, specifically for such purposes. So this patch extends the ARM
      PCI core so that it calls a ->align_resource() hook registered by the
      PCI driver, exactly like the existing ->map_irq() and ->swizzle()
      hooks.
      
      A particular PCI driver can register a align_resource() hook, and do
      its own specific alignement, depending on the specific constraints of
      the underlying hardware.
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      029baf14
  5. 19 3月, 2013 1 次提交
    • K
      ARM: 7676/1: fix a wrong value returned from CALLER_ADDRn · 01223f36
      Keun-O Park 提交于
      This makes return_address() return a correct value for CALLER_ADDRn.
      To have a correct value from CALLER_ADDRn, we need to fix three points.
      
      * The unwind_frame() does not update frame->lr but frame->pc for backtrace.
      So frame->pc is meaningful for backtrace.
      
      * data.level should be adjusted by adding 2 additional iteration levels.
      With the current +1 level adjustment, the result of CALLER_ADDR1 will
      be the same return address with CALLER_ADDR0.
      
      * The initialization of data.addr to NULL is needed.
      When unwind_fame() fails right after data.level reaches zero,
      the routine returns data.addr which has uninitialized garbage value.
      Signed-off-by: NSahara <keun-o.park@windriver.com>
      Reviewed-by: NDave Martin <dave.martin@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      01223f36
  6. 16 3月, 2013 2 次提交
    • S
      ARM: 7672/1: uncompress debug support for multiplatform build · 3b4af9bc
      Shawn Guo 提交于
      Instead of giving zero support of uncompress debug for multiplatform
      build, the patch turns uncompress debug into one part of DEBUG_LL
      support.  When DEBUG_LL is turned on for a particular platform,
      uncompress debug works too for that platform.
      
      OMAP and Tegra are exceptions here.  OMAP low-level debug code places
      data in the .data section, and that is not allowed in decompressor.
      And Tegra code has reference to variable that's unavailable in
      decompressor but only in kernel.  That's why Kconfig symbol
      DEBUG_UNCOMPRESS controlling multiplatform uncompress debug support is
      defined with !DEBUG_OMAP2PLUS_UART && !DEBUG_TEGRA_UART.
      
      It creates arch/arm/boot/compressed/debug.S with CONFIG_DEBUG_LL_INCLUDE
      included there, implements a generic putc() using those macros, which
      will be built when DEBUG_UNCOMPRESS is defined.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3b4af9bc
    • S
      ARM: 7671/1: use Kconfig to select uncompress.h · 615967b0
      Shawn Guo 提交于
      Following the approach handling DEBUG_LL inclusion, the patch creates
      a Kconfig symbol CONFIG_UNCOMPRESS_INCLUDE for choosing the correct
      uncompress header.  For traditional build, mach/uncompress.h will be
      included in arch/arm/boot/compressed/misc.c.  For multiplatform build,
      debug/uncompress.h which contains a suite of empty functions will be
      used.  In this way, a platform with particular uncompress.h
      implementation could choose its own uncompress.h with this Kconfig
      option.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      615967b0
  7. 11 3月, 2013 1 次提交
  8. 10 3月, 2013 2 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 72932611
      Linus Torvalds 提交于
      Pull namespace bugfixes from Eric Biederman:
       "This is three simple fixes against 3.9-rc1.  I have tested each of
        these fixes and verified they work correctly.
      
        The userns oops in key_change_session_keyring and the BUG_ON triggered
        by proc_ns_follow_link were found by Dave Jones.
      
        I am including the enhancement for mount to only trigger requests of
        filesystem modules here instead of delaying this for the 3.10 merge
        window because it is both trivial and the kind of change that tends to
        bit-rot if left untouched for two months."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        proc: Use nd_jump_link in proc_ns_follow_link
        fs: Limit sys_mount to only request filesystem modules (Part 2).
        fs: Limit sys_mount to only request filesystem modules.
        userns: Stop oopsing in key_change_session_keyring
      72932611
    • L
      Atmel MXT touchscreen: increase reset timeouts · 8343bce1
      Linus Torvalds 提交于
      There is a more complete atmel patch-series out by Nick Dyer that fixes
      this and other things, but in the meantime this is the minimal thing to
      get the touchscreen going on (at least my) Pixel Chromebook.
      
      Not that I want my dirty fingers near that beautiful screen, but it
      seems that a non-initialized touchscreen will also end up being a
      constant wakeup source, so you have to disable it to go to sleep.  And
      it's easier to just fix the initialization sequence.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8343bce1
  9. 09 3月, 2013 23 次提交
  10. 08 3月, 2013 3 次提交
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 47b3bc90
      Linus Torvalds 提交于
      Pull x86 fixes from Peter Anvin:
       "Several boot fixes (MacBook, legacy EFI bootloaders), another
        please-don't-brick fix, and some minor stuff."
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Do not try to sync identity map for non-mapped pages
        x86, doc: Be explicit about what the x86 struct boot_params requires
        x86: Don't clear efi_info even if the sentinel hits
        x86, mm: Make sure to find a 2M free block for the first mapped area
        x86: Fix 32-bit *_cpu_data initializers
        efivarfs: return accurate error code in efivarfs_fill_super()
        efivars: efivarfs_valid_name() should handle pstore syntax
        efi: be more paranoid about available space when creating variables
        iommu, x86: Add DMA remap fault reason
        x86, smpboot: Remove unused variable
      47b3bc90
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · af2841cd
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Misc radeon, nouveau, mgag200 and intel fixes.
      
        The intel fixes should contain the fix for the touchpad on the
        Chromebook - hey I'm an input maintainer now!"
      
      Hate to pee on your parade, Dave, but I don't think being an input
      maintainer is necessarily something to strive for..
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (25 commits)
        drm/tegra: drop "select DRM_HDMI"
        drm: Documentation typo fixes
        drm/mgag200: Bug fix: Renesas board now selects native resolution.
        drm/mgag200: Reject modes that are too big for VRAM
        drm/mgag200: 'fbdev_list' in 'struct mga_fbdev' is not used
        drm/radeon: don't check mipmap alignment if MIP_ADDRESS is FMASK
        drm/radeon: skip MC reset as it's probably not hung
        drm/radeon: add primary dac adj quirk for R200 board
        drm/radeon: don't set hpd, afmt interrupts when interrupts are disabled
        drm/i915: Turn off hsync and vsync on ADPA when disabling crt
        drm/i915: Fix incorrect definition of ADPA HSYNC and VSYNC bits
        drm/i915: also disable south interrupts when handling them
        drm/i915: enable irqs earlier when resuming
        drm/i915: Increase the RC6p threshold.
        DRM/i915: On G45 enable cursor plane briefly after enabling the display plane.
        drm/nv50-: prevent some races between modesetting and page flipping
        drm/nouveau/i2c: drop parent refcount when creating ports
        drm/nv84: fix regression in page flipping
        drm/nouveau: Fix typo in init_idx_addr_latched().
        drm/nouveau: Disable AGP on PowerPC again.
        ...
      af2841cd
    • L
      Merge tag 'pm+acpi-3.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c89b148f
      Linus Torvalds 提交于
      Pull ACPI and power management fixes from Rafael J Wysocki:
      
       - Two fixes for the new intel_pstate driver from Dirk Brandewie.
      
       - Fix for incorrect usage of the .find_bridge() callback from struct
         acpi_bus_type in the USB core and subsequent removal of that callback
         from Rafael J Wysocki.
      
       - ACPI processor driver cleanups from Chen Gang and Syam Sidhardhan.
      
       - ACPI initialization and error messages fix from Joe Perches.
      
       - Operating Performance Points documentation improvement from Nishanth
         Menon.
      
       - Fixes for memory leaks and potential concurrency issues and sysfs
        attributes leaks during device removal in the core device PM QoS code
        from Rafael J Wysocki.
      
       - Calxeda Highbank cpufreq driver simplification from Emilio López.
      
       - cpufreq comment cleanup from Namhyung Kim.
      
       - Fix for a section mismatch in Calxeda Highbank interprocessor
         communication code from Mark Langsdorf (this is not a PM fix strictly
         speaking, but the code in question went in through the PM tree).
      
      * tag 'pm+acpi-3.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq / intel_pstate: Do not load on VM that does not report max P state.
        cpufreq / intel_pstate: Fix intel_pstate_init() error path
        ACPI / glue: Drop .find_bridge() callback from struct acpi_bus_type
        ACPI / glue: Add .match() callback to struct acpi_bus_type
        ACPI / porocessor: Beautify code, pr->id is u32 which is never < 0
        ACPI / processor: Remove redundant NULL check before kfree
        ACPI / Sleep: Avoid interleaved message on errors
        PM / QoS: Remove device PM QoS sysfs attributes at the right place
        PM / QoS: Fix concurrency issues and memory leaks in device PM QoS
        cpufreq: highbank: do not initialize array with a loop
        PM / OPP: improve introductory documentation
        cpufreq: Fix a typo in comment
        mailbox, pl320-ipc: remove __init from probe function
      c89b148f