1. 07 Mar, 2013 19 commits
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · af2841cd
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c89b148f
      Linus Torvalds authored
      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
    • Paul Bolle's avatar
      drm/tegra: drop "select DRM_HDMI" · 36c1813b
      Paul Bolle authored
      Commit ac24c220 ("drm/tegra: Use generic
      HDMI infoframe helpers") added "select DRM_HDMI" to the DRM_TEGRA
      Kconfig entry. But there is no Kconfig symbol named DRM_HDMI. The select
      statement for that symbol is a nop. Drop it.
      
      What was needed to use HDMI functionality was to select HDMI (which this
      entry already did through depending on DRM) and to include linux/hdmi.h
      (which this commit also did).
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Acked-by: default avatarThierry Reding <thierry.reding@avionic-design.de>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      36c1813b
    • Christopher Harvey's avatar
      drm: Documentation typo fixes · 13bcf01b
      Christopher Harvey authored
      Signed-off-by: default avatarChristopher Harvey <charvey@matrox.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      13bcf01b
    • Julia Lemire's avatar
      drm/mgag200: Bug fix: Renesas board now selects native resolution. · ce495960
      Julia Lemire authored
      Renesas boards were consistently defaulting to the 1024x768 resolution,
      regardless of the native resolution of the monitor plugged in.  It was
      determined that the EDID of the monitor was not being read.  Since the
      DAC is a shared line, in order to read from or write to it we must take
      control of the DAC clock.  This can be done by setting the proper
      register to one.
      
      This bug fix sets the register MGA1064_GEN_IO_CTL2 to one.  The DAC
      control line can be used to determine whether or not a new monitor has
      been plugged in.  But since the hotplug feature is not one we will
      support, it has been decided to simply leave the register set to one.
      Signed-off-by: default avatarJulia Lemire <jlemire@matrox.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      ce495960
    • Christopher Harvey's avatar
      drm/mgag200: Reject modes that are too big for VRAM · 0ba53171
      Christopher Harvey authored
      A monitor or a user could request a resolution greater than the
      available VRAM for the backing framebuffer. This change checks the
      required framebuffer size against the max VRAM size and rejects modes
      if they are too big. This change can also remove a mode request passed
      in via the video= parameter.
      Signed-off-by: default avatarChristopher Harvey <charvey@matrox.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      0ba53171
    • Christopher Harvey's avatar
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-3.9' of git://people.freedesktop.org/~agd5f/linux into drm-next · 9d624526
      Dave Airlie authored
      Alex writes:
        Radeon fixes pull.  Not much to it.
        - fix some splatter if the interrupt handler isn't registered
        - Add a quirk for an old R200 board to fix washed out colors on the DAC
        - Don't try and soft reset the MC when we reset the GPU.  It usually doesn't
          need it and doesn't always work reliably.
        - A CS checker fix from Marek
      
      * 'drm-fixes-3.9' of git://people.freedesktop.org/~agd5f/linux:
        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
      9d624526
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · 19cf3edb
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "Mainly a group of fixes, the only exception is the wiring up of the
        kcmp syscall now that those patches went in during the last merge
        window."
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) optimizations
        ARM: 7667/1: perf: Fix section mismatch on armpmu_init()
        ARM: 7666/1: decompressor: add -mno-single-pic-base for building the decompressor
        ARM: 7665/1: Wire up kcmp syscall
        ARM: 7664/1: perf: remove erroneous semicolon from event initialisation
        ARM: 7663/1: perf: fix ARMv7 EVTYPE_MASK to include NSH bit
        ARM: 7662/1: hw_breakpoint: reset debug logic on secondary CPUs in s2ram resume
        ARM: 7661/1: mm: perform explicit branch predictor maintenance when required
        ARM: 7660/1: tlb: add branch predictor maintenance operations
        ARM: 7659/1: mm: make mm->context.id an atomic64_t variable
        ARM: 7658/1: mm: fix race updating mm->context.id on ASID rollover
        ARM: 7657/1: head: fix swapper and idmap population with LPAE and big-endian
        ARM: 7655/1: smp_twd: make twd_local_timer_of_register() no-op for nosmp
        ARM: 7652/1: mm: fix missing use of 'asid' to get asid value from mm->context.id
        ARM: 7642/1: netx: bump IRQ offset to 64
      19cf3edb
    • Linus Torvalds's avatar
      Merge tag 'regulator-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · d3452436
      Linus Torvalds authored
      Pull regulator fixes from Mark Brown:
       "A few small things here and there, nothing major here really.  The
        conversion of twl4030ldo_ops to get_voltage_sel is a fix, as covered
        in the commit log it fixes inconsistency in handling of the IS_UNSUP()
        feature in the driver."
      
      * tag 'regulator-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: fixed regulator_bulk_enable unwinding code
        regulator: twl: Convert twl4030ldo_ops to get_voltage_sel
        regulator: palmas: fix number of SMPS voltages
        regulator: core: fix documentation error in regulator_allow_bypass
        regulator: core: update kernel documentation for regulator_desc
        regulator: db8500-prcmu - remove incorrect __exit markup
      d3452436
    • Linus Torvalds's avatar
      Merge tag 'regmap-v3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 0c8150d2
      Linus Torvalds authored
      Pull regmap PM fix from Mark Brown:
       "A simple fix to stop us leaking a runtime PM reference in the case
        where we fail to enable a device."
      
      * tag 'regmap-v3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: irq: call pm_runtime_put in pm_runtime_get_sync failed case
      0c8150d2
    • Linus Torvalds's avatar
      Merge tag 'ecryptfs-3.9-rc2-fixes' of... · e2e091fd
      Linus Torvalds authored
      Merge tag 'ecryptfs-3.9-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs
      
      Pull ecryptfs fixes from Tyler Hicks:
       "Minor code cleanups and new Kconfig option to disable /dev/ecryptfs
      
        The code cleanups fix up W=1 compiler warnings and some unnecessary
        checks.  The new Kconfig option, defaulting to N, allows the rarely
        used eCryptfs kernel to userspace communication channel to be compiled
        out.  This may be the first step in it being eventually removed."
      
      Hmm.  I'm not sure whether these should be called "fixes", and it
      probably should have gone in the merge window.  But I'll let it slide.
      
      * tag 'ecryptfs-3.9-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
        eCryptfs: allow userspace messaging to be disabled
        eCryptfs: Fix redundant error check on ecryptfs_find_daemon_by_euid()
        ecryptfs: ecryptfs_msg_ctx_alloc_to_free(): remove kfree() redundant null check
        eCryptfs: decrypt_pki_encrypted_session_key(): remove kfree() redundant null check
        eCryptfs: remove unneeded checks in virt_to_scatterlist()
        eCryptfs: Fix -Wmissing-prototypes warnings
        eCryptfs: Fix -Wunused-but-set-variable warnings
        eCryptfs: initialize payload_len in keystore.c
      e2e091fd
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · cd66acb4
      Linus Torvalds authored
      Pull hwmon patches from Guenter Roeck:
       "Bug fixes for sht15 and ltc2978 driver plus some documentation
        updates"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (sht15) Check return value of regulator_enable()
        hwmon: (adt7410) Document ADT7420 support
        hwmon: (pmbus/ltc2978) Use detected chip ID to select supported functionality
        hwmon: (pmbus/ltc2978) Fix peak attribute handling
        hwmon: (pmbus/ltc2978) Update datasheet links
        hwmon: Update my e-mail address in driver documentation
      cd66acb4
    • Marek Olšák's avatar
      drm/radeon: don't check mipmap alignment if MIP_ADDRESS is FMASK · 774c389f
      Marek Olšák authored
      The MIP_ADDRESS state has 2 meanings. If the texture has one sample
      per pixel, it's a pointer to the mipmap chain. If the texture has
      multiple samples per pixel, it's a pointer to FMASK, a metadata buffer
      needed for reading compressed MSAA textures. The mipmap
      alignment rules do not apply to FMASK.
      Signed-off-by: default avatarMarek Olšák <maraeo@gmail.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      774c389f
    • Alex Deucher's avatar
      drm/radeon: skip MC reset as it's probably not hung · d808fc88
      Alex Deucher authored
      The MC is mostly likely busy (e.g., display requests), not hung
      so no need to reset it.  Doing an MC reset is tricky and not
      particularly reliable.  Fixes hangs in certain cases.
      Reported-by: default avatarJosh Boyer <jwboyer@gmail.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      d808fc88
    • Alex Deucher's avatar
      drm/radeon: add primary dac adj quirk for R200 board · e8fc4137
      Alex Deucher authored
      vbios values are wrong leading to colors that are
      too bright.  Use the default values instead.
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      e8fc4137
    • Alex Deucher's avatar
      drm/radeon: don't set hpd, afmt interrupts when interrupts are disabled · cc9945bf
      Alex Deucher authored
      Avoids splatter if the interrupt handler is not registered due
      to acceleration being disabled.
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: default avatarJerome Glisse <jglisse@redhat.com>
      Cc: stable@vger.kernel.org
      cc9945bf
    • Ivan Djelic's avatar
      ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) optimizations · 455bd4c4
      Ivan Djelic authored
      Recent GCC versions (e.g. GCC-4.7.2) perform optimizations based on
      assumptions about the implementation of memset and similar functions.
      The current ARM optimized memset code does not return the value of
      its first argument, as is usually expected from standard implementations.
      
      For instance in the following function:
      
      void debug_mutex_lock_common(struct mutex *lock, struct mutex_waiter *waiter)
      {
      	memset(waiter, MUTEX_DEBUG_INIT, sizeof(*waiter));
      	waiter->magic = waiter;
      	INIT_LIST_HEAD(&waiter->list);
      }
      
      compiled as:
      
      800554d0 <debug_mutex_lock_common>:
      800554d0:       e92d4008        push    {r3, lr}
      800554d4:       e1a00001        mov     r0, r1
      800554d8:       e3a02010        mov     r2, #16 ; 0x10
      800554dc:       e3a01011        mov     r1, #17 ; 0x11
      800554e0:       eb04426e        bl      80165ea0 <memset>
      800554e4:       e1a03000        mov     r3, r0
      800554e8:       e583000c        str     r0, [r3, #12]
      800554ec:       e5830000        str     r0, [r3]
      800554f0:       e5830004        str     r0, [r3, #4]
      800554f4:       e8bd8008        pop     {r3, pc}
      
      GCC assumes memset returns the value of pointer 'waiter' in register r0; causing
      register/memory corruptions.
      
      This patch fixes the return value of the assembly version of memset.
      It adds a 'mov' instruction and merges an additional load+store into
      existing load/store instructions.
      For ease of review, here is a breakdown of the patch into 4 simple steps:
      
      Step 1
      ======
      Perform the following substitutions:
      ip -> r8, then
      r0 -> ip,
      and insert 'mov ip, r0' as the first statement of the function.
      At this point, we have a memset() implementation returning the proper result,
      but corrupting r8 on some paths (the ones that were using ip).
      
      Step 2
      ======
      Make sure r8 is saved and restored when (! CALGN(1)+0) == 1:
      
      save r8:
      -       str     lr, [sp, #-4]!
      +       stmfd   sp!, {r8, lr}
      
      and restore r8 on both exit paths:
      -       ldmeqfd sp!, {pc}               @ Now <64 bytes to go.
      +       ldmeqfd sp!, {r8, pc}           @ Now <64 bytes to go.
      (...)
              tst     r2, #16
              stmneia ip!, {r1, r3, r8, lr}
      -       ldr     lr, [sp], #4
      +       ldmfd   sp!, {r8, lr}
      
      Step 3
      ======
      Make sure r8 is saved and restored when (! CALGN(1)+0) == 0:
      
      save r8:
      -       stmfd   sp!, {r4-r7, lr}
      +       stmfd   sp!, {r4-r8, lr}
      
      and restore r8 on both exit paths:
              bgt     3b
      -       ldmeqfd sp!, {r4-r7, pc}
      +       ldmeqfd sp!, {r4-r8, pc}
      (...)
              tst     r2, #16
              stmneia ip!, {r4-r7}
      -       ldmfd   sp!, {r4-r7, lr}
      +       ldmfd   sp!, {r4-r8, lr}
      
      Step 4
      ======
      Rewrite register list "r4-r7, r8" as "r4-r8".
      Signed-off-by: default avatarIvan Djelic <ivan.djelic@parrot.com>
      Reviewed-by: default avatarNicolas Pitre <nico@linaro.org>
      Signed-off-by: default avatarDirk Behme <dirk.behme@gmail.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      455bd4c4
    • Dave Airlie's avatar
      Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next · 2cc79544
      Dave Airlie authored
      A bunch of fixes, nothing truely horrible:
      - Fix PCH irq handling race which resulted in missed gmbus/dp aux irqs
        and subsequent fallout (Paulo)
      - Fixup off-by-one in our hsw id table (Kenneth)
      - Fixup ilk rc6 support (disabled by default), regression introduced in
        3.8
      - g4x plane w/a from Egbert Eich
      - gen2/3/4 dpms suspend/standy fixes for VGA outputs from Patrik Jakobsson
      - Workaround dying ivb machines with less aggressive rc6 values (Stéphane
        Marchesin)
      
      * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
        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/i915: Fix Haswell/CRW PCI IDs.
        drm/i915: Don't clobber crtc->fb when queue_flip fails
        drm/i915: wait_event_timeout's timeout is in jiffies
        drm/i915: Fix missing variable initilization
      2cc79544
  2. 06 Mar, 2013 15 commits
    • Stephen Boyd's avatar
      ARM: 7667/1: perf: Fix section mismatch on armpmu_init() · 44d6b1fc
      Stephen Boyd authored
      WARNING: vmlinux.o(.text+0xfb80): Section mismatch in reference
      from the function armpmu_register() to the function
      .init.text:armpmu_init()
      The function armpmu_register() references
      the function __init armpmu_init().
      This is often because armpmu_register lacks a __init
      annotation or the annotation of armpmu_init is wrong.
      
      Just drop the __init marking on armpmu_init() because
      armpmu_register() no longer has an __init marking.
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      44d6b1fc
    • Jonathan Austin's avatar
      ARM: 7666/1: decompressor: add -mno-single-pic-base for building the decompressor · b8083f86
      Jonathan Austin authored
      Before jumping to (position independent) C-code from the decompressor's
      assembler world we set-up the C environment. This setup currently does not
      set r9, which for arm-none-uclinux-uclibceabi toolchains is by default
      expected to be the PIC offset base register (IE should point to the
      beginning of the GOT).
      
      Currently, therefore, in order to build working kernels that use the
      decompressor it is necessary to use an arm-linux-gnueabi toolchain, or
      similar. uClinux toolchains cause a prefetch abort to occur at the beginning
      of the decompress_kernel function.
      
      This patch allows uClinux toolchains to build bootable zImages by forcing
      the -mno-single-pic-base option, which ensures that the location of the GOT
      is re-derived each time it is required, and r9 becomes free for use as a
      general purpose register.
      
      This has a small (4% in instruction terms) advantage over the alternative of
      setting r9 to point to the GOT before calling into the C-world.
      Signed-off-by: default avatarJonathan Austin <jonathan.austin@arm.com>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      b8083f86
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-fixes' into fixes · 6bd51658
      Rafael J. Wysocki authored
      * pm-fixes:
        cpufreq / intel_pstate: Do not load on VM that does not report max P state.
        cpufreq / intel_pstate: Fix intel_pstate_init() error path
        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
      6bd51658
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-fixes' into fixes · d7553a86
      Rafael J. Wysocki authored
      * acpi-fixes:
        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
      d7553a86
    • Dirk Brandewie's avatar
      cpufreq / intel_pstate: Do not load on VM that does not report max P state. · d3929b83
      Dirk Brandewie authored
      It seems some VMs support the P state MSRs but return zeros. Fail
      gracefully if we are running in this environment.
      
      References: https://bugzilla.redhat.com/show_bug.cgi?id=916833Reported-by: default avatarJosh Boyer <jwboyer@redhat.com>
      Signed-off-by: default avatarDirk Brandewie <dirk.j.brandewie@intel.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      d3929b83
    • Dirk Brandewie's avatar
      cpufreq / intel_pstate: Fix intel_pstate_init() error path · 907cc908
      Dirk Brandewie authored
      If cpufreq_register_driver() fails just free memory that has been
      allocated and return. intel_pstate_exit() function is removed since we
      are built-in only now there is no reason for a module exit procedure.
      Reported-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: default avatarDirk Brandewie <dirk.j.brandewie@intel.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      907cc908
    • Patrik Jakobsson's avatar
      drm/i915: Turn off hsync and vsync on ADPA when disabling crt · f40ebd6b
      Patrik Jakobsson authored
      According to PRM we need to disable hsync and vsync even though ADPA is
      disabled. The previous code did infact do the opposite so we fix it.
      Signed-off-by: default avatarPatrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56359Tested-by: default avatarmax <manikulin@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      f40ebd6b
    • Patrik Jakobsson's avatar
      drm/i915: Fix incorrect definition of ADPA HSYNC and VSYNC bits · 60222c0c
      Patrik Jakobsson authored
      Disable bits for ADPA HSYNC and VSYNC where mixed up resulting in suspend
      becoming standby and vice versa. Fixed by swapping their bit position.
      Reported-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarPatrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Reviewed-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      60222c0c
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 9f225788
      Linus Torvalds authored
      Pull powerpc fixes from Ben Herrenschmidt:
       "Here are a few powerpc bits & fixes for rc1.  A couple of str*cpy
        fixes, some fixes in handling the FSCR register on Power8 (controls
        the enabling of processor features), a 32-bit build fix and a couple
        more nits."
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Set DSCR bit in FSCR setup
        powerpc: Add DSCR FSCR register bit definition
        powerpc: Fix setting FSCR for HV=0 and on secondary CPUs
        powerpc: Wireup the kcmp syscall to sys_ni
        powerpc: Remove unused BITOP_LE_SWIZZLE macro
        powerpc: Avoid link stack corruption in MMU on syscall entry path
        drivers/tty/hvc: Use strlcpy instead of strncpy
        powerpc/pseries/hvcserver: Fix strncpy buffer limit in location code
        powerpc: Fix compile of sha1-powerpc-asm.S on 32-bit
      9f225788
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · d7b815d4
      Linus Torvalds authored
      Pull virtio hwrng fix from Rusty Russell:
       "Nasty side-effect of vmalloc'ing modules: their static vars cannot be
        put into scatterlists.  Jens has a check queued for this, so it
        shouldn't happen again.
      
        We could fix this in virtio_rng, but it's actually far easier to just
        do it in the core"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        hw_random: make buffer usable in scatterlist.
      d7b815d4
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 9da060d0
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "A moderately sized pile of fixes, some specifically for merge window
        introduced regressions although others are for longer standing items
        and have been queued up for -stable.
      
        I'm kind of tired of all the RDS protocol bugs over the years, to be
        honest, it's way out of proportion to the number of people who
        actually use it.
      
         1) Fix missing range initialization in netfilter IPSET, from Jozsef
            Kadlecsik.
      
         2) ieee80211_local->tim_lock needs to use BH disabling, from Johannes
            Berg.
      
         3) Fix DMA syncing in SFC driver, from Ben Hutchings.
      
         4) Fix regression in BOND device MAC address setting, from Jiri
            Pirko.
      
         5) Missing usb_free_urb in ISDN Hisax driver, from Marina Makienko.
      
         6) Fix UDP checksumming in bnx2x driver for 57710 and 57711 chips,
            fix from Dmitry Kravkov.
      
         7) Missing cfgspace_lock initialization in BCMA driver.
      
         8) Validate parameter size for SCTP assoc stats getsockopt(), from
            Guenter Roeck.
      
         9) Fix SCTP association hangs, from Lee A Roberts.
      
        10) Fix jumbo frame handling in r8169, from Francois Romieu.
      
        11) Fix phy_device memory leak, from Petr Malat.
      
        12) Omit trailing FCS from frames received in BGMAC driver, from Hauke
            Mehrtens.
      
        13) Missing socket refcount release in L2TP, from Guillaume Nault.
      
        14) sctp_endpoint_init should respect passed in gfp_t, rather than use
            GFP_KERNEL unconditionally.  From Dan Carpenter.
      
        15) Add AISX AX88179 USB driver, from Freddy Xin.
      
        16) Remove MAINTAINERS entries for drivers deleted during the merge
            window, from Cesar Eduardo Barros.
      
        17) RDS protocol can try to allocate huge amounts of memory, check
            that the user's request length makes sense, from Cong Wang.
      
        18) SCTP should use the provided KMALLOC_MAX_SIZE instead of it's own,
            bogus, definition.  From Cong Wang.
      
        19) Fix deadlocks in FEC driver by moving TX reclaim into NAPI poll,
            from Frank Li.  Also, fix a build error introduced in the merge
            window.
      
        20) Fix bogus purging of default routes in ipv6, from Lorenzo Colitti.
      
        21) Don't double count RTT measurements when we leave the TCP receive
            fast path, from Neal Cardwell."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (61 commits)
        tcp: fix double-counted receiver RTT when leaving receiver fast path
        CAIF: fix sparse warning for caif_usb
        rds: simplify a warning message
        net: fec: fix build error in no MXC platform
        net: ipv6: Don't purge default router if accept_ra=2
        net: fec: put tx to napi poll function to fix dead lock
        sctp: use KMALLOC_MAX_SIZE instead of its own MAX_KMALLOC_SIZE
        rds: limit the size allocated by rds_message_alloc()
        MAINTAINERS: remove eexpress
        MAINTAINERS: remove drivers/net/wan/cycx*
        MAINTAINERS: remove 3c505
        caif_dev: fix sparse warnings for caif_flow_cb
        ax88179_178a: ASIX AX88179_178A USB 3.0/2.0 to gigabit ethernet adapter driver
        sctp: use the passed in gfp flags instead GFP_KERNEL
        ipv[4|6]: correct dropwatch false positive in local_deliver_finish
        l2tp: Restore socket refcount when sendmsg succeeds
        net/phy: micrel: Disable asymmetric pause for KSZ9021
        bgmac: omit the fcs
        phy: Fix phy_device_free memory leak
        bnx2x: Fix KR2 work-around condition
        ...
      9da060d0
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e3b59518
      Linus Torvalds authored
      Pull irq fixes and cleanups from Thomas Gleixner:
       "Commit e5ab012c ("nohz: Make tick_nohz_irq_exit() irq safe") is
        the first commit in the series and the minimal necessary bugfix, which
        needs to go back into stable.
      
        The remanining commits enforce irq disabling in irq_exit(), sanitize
        the hardirq/softirq preempt count transition and remove a bunch of no
        longer necessary conditionals."
      
      I personally love getting rid of the very subtle and confusing
      IRQ_EXIT_OFFSET thing.  Even apart from the whole "more lines removed
      than added" thing.
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irq: Don't re-enable interrupts at the end of irq_exit
        irq: Remove IRQ_EXIT_OFFSET workaround
        Revert "nohz: Make tick_nohz_irq_exit() irq safe"
        irq: Sanitize invoke_softirq
        irq: Ensure irq_exit() code runs with interrupts disabled
        nohz: Make tick_nohz_irq_exit() irq safe
      e3b59518
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6516ab6f
      Linus Torvalds authored
      Pull smpboot bugfix from Thomas Gleixner:
       "A single bugfix for a regression introduced with the conversion of the
        stop machine threads to the generic smpboot thread management
        facility"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        stop_machine: Mark per cpu stopper enabled early
      6516ab6f
    • Linus Torvalds's avatar
      Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux · 06e79d3b
      Linus Torvalds authored
      Pull second round of GPIO changes from Grant Likely:
       "This branch contains a few bug fixes that I missed the first time
        around and updates to the gpio_desc series included in the first pull
        request.  This tag has been retagged to drop the 2 head commits
        because the one of them caused a build failure."
      
      * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux:
        gpio/gpio-ich: fix ichx_gpio_check_available() return what callers expect
        gpiolib: move comment to right function
        gpiolib: use const parameters when possible
        gpiolib: check descriptors validity before use
      06e79d3b
    • Linus Torvalds's avatar
      Merge tag 'md-3.9' of git://neil.brown.name/md · a5e0d731
      Linus Torvalds authored
      Pull md updates from NeilBrown:
       "Mostly little bugfixes.
      
        Only "feature" is a new RAID10 layout which slightly improves the
        number of sets of devices that can concurrently fail, without data
        loss."
      
      * tag 'md-3.9' of git://neil.brown.name/md:
        md: expedite metadata update when switching  read-auto -> active
        md: remove CONFIG_MULTICORE_RAID456
        md/raid1,raid10: fix deadlock with freeze_array()
        md/raid0: improve error message when converting RAID4-with-spares to RAID0
        md: raid0: fix error return from create_stripe_zones.
        md: fix two bugs when attempting to resize RAID0 array.
        DM RAID: Add support for MD's RAID10 "far" and "offset" algorithms
        MD RAID10: Improve redundancy for 'far' and 'offset' algorithms (part 2)
        MD RAID10: Improve redundancy for 'far' and 'offset' algorithms (part 1)
        MD RAID10: Minor non-functional code changes
        md: raid1,10: Handle REQ_WRITE_SAME flag in write bios
        md: protect against crash upon fsync on ro array
      a5e0d731
  3. 05 Mar, 2013 6 commits
    • Paulo Zanoni's avatar
      drm/i915: also disable south interrupts when handling them · 44498aea
      Paulo Zanoni authored
      From the docs:
      
        "IIR can queue up to two interrupt events. When the IIR is cleared,
        it will set itself again after one clock if a second event was
        stored."
      
        "Only the rising edge of the PCH Display interrupt will cause the
        North Display IIR (DEIIR) PCH Display Interrupt even bit to be set,
        so all PCH Display Interrupts, including back to back interrupts,
        must be cleared before a new PCH Display interrupt can cause DEIIR
        to be set".
      
      The current code works fine because we don't get many interrupts, but
      if we enable the PCH FIFO underrun interrupts we'll start getting so
      many interrupts that at some point new PCH interrupts won't cause
      DEIIR to be set.
      
      The initial implementation I tried was to turn the code that checks
      SDEIIR into a loop, but we can still get interrupts even after the
      loop is done (and before the irq handler finishes), so we have to
      either disable the interrupts or mask them. In the end I concluded
      that just disabling the PCH interrupts is enough, you don't even need
      the loop, so this is what this patch implements. I've tested it and it
      passes the 2 "PCH FIFO underrun interrupt storms" I can reproduce:
      the "ironlake_crtc_disable" case and the "wrong watermarks" case.
      
      In other words, here's how to reproduce the problem fixed by this
      patch:
        1 - Enable PCH FIFO underrun interrupts (SERR_INT on SNB+)
        2 - Boot the machine
        3 - While booting we'll get tons of PCH FIFO underrun interrupts
        4 - Plug a new monitor
        5 - Run xrandr, notice it won't detect the new monitor
        6 - Read SDEIIR and notice it's not 0 while DEIIR is 0
      
      Q: Can't we just clear DEIIR before SDEIIR?
      A: It doesn't work. SDEIIR has to be completely cleared (including the
      interrupts stored on its back queue) before it can flip DEIIR's bit to
      1 again, and even while you're clearing it you'll be getting more and
      more interrupts.
      
      Q: Why does it work by just disabling+enabling the south interrupts?
      A: Because when we re-enable them, if there's something on the SDEIIR
      register (maybe an interrupt stored on the queue), the re-enabling
      will make DEIIR's bit flip to 1, and since we'll already have
      interrupts enabled we'll get another interrupt, then run our irq
      handler again to process the "back" interrupts.
      
      v2: Even bigger commit message, added code comments.
      
      Note that this fixes missed dp aux irqs which have been reported for
      3.9-rc1. This regression has been introduced by switching to
      irq-driven dp aux transactions with
      
      commit 9ee32fea
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Sat Dec 1 13:53:48 2012 +0100
      
          drm/i915: irq-drive the dp aux communication
      
      References: http://www.mail-archive.com/intel-gfx@lists.freedesktop.org/msg18588.html
      References: https://lkml.org/lkml/2013/2/26/769Tested-by: default avatarImre Deak <imre.deak@intel.com>
      Reported-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
      [danvet: Pimp commit message with references for the dp aux irq
      timeout regression this fixes.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      44498aea
    • Daniel Vetter's avatar
      drm/i915: enable irqs earlier when resuming · 15239099
      Daniel Vetter authored
      We need it to restore the ilk rc6 context, since the gpu wait no
      requires interrupts. But in general having interrupts around should
      help in code sanity, since more and more stuff is interrupt driven.
      
      This regression has been introduced in
      
      commit 3e960501
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Tue Nov 27 16:22:54 2012 +0000
      
          drm/i915: Rearrange code to only have a single method for waiting upon the ring
      
      Like in the driver load code we need to make sure that hotplug
      interrupts don't cause havoc with our modeset state, hence block them
      with the existing infrastructure. Again we ignore races where we might
      loose hotplug interrupts ...
      
      Note that the driver load part of the regression has already been
      fixed in
      
      commit 52d7eced
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Sat Dec 1 21:03:22 2012 +0100
      
          drm/i915: reorder setup sequence to have irqs for output setup
      
      v2: Add a note to the commit message about which patch fixed the
      driver load part of the regression. Stable kernels need to backport
      both patches.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=54691
      Cc: stable@vger.kernel.org (for 3.8 only, plese backport
      			    52d7eced first)
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Mika Kuoppala <mika.kuoppala@intel.com>
      Reported-and-Tested-by: default avatarIlya Tumaykin <itumaykin@gmail.com>
      Reviewed-by: Chris wilson <chris@chris-wilson.co.uk> (v1)
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      15239099
    • Stéphane Marchesin's avatar
      drm/i915: Increase the RC6p threshold. · 0920a487
      Stéphane Marchesin authored
      This increases GEN6_RC6p_THRESHOLD from 100000 to 150000. For some
      reason this avoids the gen6_gt_check_fifodbg.isra warnings and
      associated GPU lockups, which makes my ivy bridge machine stable.
      Signed-off-by: default avatarStéphane Marchesin <marcheu@chromium.org>
      Acked-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      0920a487
    • Dave Airlie's avatar
      Merge branch 'drm-nouveau-fixes-3.9' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 · 64e38a8c
      Dave Airlie authored
      misc regression fixes from Ben.
      
      * 'drm-nouveau-fixes-3.9' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
        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.
        drm/nve0/graph: some random reg moved on kepler
      64e38a8c
    • Michael Neuling's avatar
      powerpc: Set DSCR bit in FSCR setup · 54c9b225
      Michael Neuling authored
      We support DSCR (Data Stream Control Register) so we should make sure we set it
      in the FSCR (Facility Status & Control Register) incase some firmwares don't
      set it.  If we don't set this, we'll take a facility unavailable exception when
      using the DSCR.
      Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      54c9b225
    • Michael Neuling's avatar
      powerpc: Add DSCR FSCR register bit definition · fa759e9b
      Michael Neuling authored
      This sets the DSCR (Data Stream Control Register) in the FSCR (Facility Status
      & Control Register).
      
      Also harmonise TAR (Target Address Register) FSCR bit definition too.
      Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      fa759e9b