1. 05 Aug, 2013 1 commit
  2. 04 Aug, 2013 1 commit
    • Nicolas Pitre's avatar
      ARM: bL_switcher: remove assumptions between logical and physical CPUs · 38c35d4f
      Nicolas Pitre authored
      Up to now, the logical CPU was somehow tied to the physical CPU number
      within a cluster.  This causes problems when forcing the boot CPU to be
      different from the first enumerated CPU in the device tree creating a
      discrepancy between logical and physical CPU numbers.
      
      Let's make the pairing completely independent from physical CPU numbers.
      
      Let's keep only those logical CPUs with same initial CPU cluster to create
      a uniform scheduler profile without having to modify any of the probed
      topology and compute capacity data.  This has the potential to create
      a non contiguous CPU numbering space when the switcher is active with
      potential impact on buggy user space tools.  It is however better to fix
      those tools rather than making the switcher code more intrusive.
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      Reviewed-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      38c35d4f
  3. 30 Jul, 2013 10 commits
    • Nicolas Pitre's avatar
      ARM: bL_switcher: add kernel cmdline param to disable the switcher on boot · c4821c05
      Nicolas Pitre authored
      By adding no_bL_switcher to the kernel cmdline string, the switcher
      won't be activated automatically at boot time.  It is still possible
      to activate it later with:
      
      	echo 1 > /sys/kernel/bL_switcher/active
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      c4821c05
    • Nicolas Pitre's avatar
      ARM: bL_switcher: ability to enable and disable the switcher via sysfs · 6b7437ae
      Nicolas Pitre authored
      The /sys/kernel/bL_switcher/enable file allows to enable or disable
      the switcher by writing 1 or 0 to it respectively.  It is still enabled
      by default on boot.
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      6b7437ae
    • Nicolas Pitre's avatar
      ARM: bL_switcher: do not hardcode GIC IDs in the code · ed96762e
      Nicolas Pitre authored
      Currently, GIC IDs are hardcoded making the code dependent on the 4+4 b.L
      configuration.  Let's allow for GIC IDs to be discovered upon switcher
      initialization to support other b.L configurations such as the 1+1 one,
      or 2+3 as on the VExpress TC2.
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      ed96762e
    • Nicolas Pitre's avatar
      ARM: bL_switcher: hot-unplug half of the available CPUs · 9797a0e9
      Nicolas Pitre authored
      In a regular kernel configuration, all the CPUs are initially available.
      But the switcher execution model uses half of them at any time.  Instead
      of hacking the DTB to remove half of the CPUs, let's remove them at
      run time and make sure we still have a working switcher configuration.
      This way, the same DTB can be used whether or not the switcher is used.
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      9797a0e9
    • Nicolas Pitre's avatar
      ARM: bL_switcher: simplify stack isolation · c052de26
      Nicolas Pitre authored
      We now have a dedicated thread for each logical CPU.  That's plenty
      of stack space for our needs.
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      c052de26
    • Nicolas Pitre's avatar
      ARM: bL_switcher: move to dedicated threads rather than workqueues · 71ce1dee
      Nicolas Pitre authored
      The workqueues are problematic as they may be contended.
      They can't be scheduled with top priority either.  Also the optimization
      in bL_switch_request() to skip the workqueue entirely when the target CPU
      and the calling CPU were the same didn't allow for bL_switch_request() to
      be called from atomic context, as might be the case for some cpufreq
      drivers.
      
      Let's move to dedicated kthreads instead.
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      71ce1dee
    • Lorenzo Pieralisi's avatar
      ARM: bL_switcher: add clockevent save/restore support · 3f09d479
      Lorenzo Pieralisi authored
      Per-CPU timers that are shutdown when a CPU is switched over must be disabled
      upon switching and reprogrammed on the inbound CPU by relying on the
      clock events management API. save/restore sequence is executed with irqs
      disabled as mandated by the clock events API.
      
      The next_event is an absolute time, hence, when the inbound CPU resumes,
      if the timer has expired the min delta is forced into the tick device to
      fire after few cycles.
      
      This patch adds switching support for clock events that are per-CPU and
      have to be migrated when a switch takes place; the cpumask of the clock
      event device is checked against the cpumask of the current cpu, and if
      they match, the clockevent device mode is saved and it is put in
      shutdown mode. Resume code reprogrammes the tick device accordingly.
      
      Tested on A15/A7 fast models and architected timers.
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      3f09d479
    • Nicolas Pitre's avatar
      ARM: b.L: core switcher code · 1c33be57
      Nicolas Pitre authored
      This is the core code implementing big.LITTLE switcher functionality.
      Rationale for this code is available here:
      
      http://lwn.net/Articles/481055/
      
      The main entry point for a switch request is:
      
      void bL_switch_request(unsigned int cpu, unsigned int new_cluster_id)
      
      If the calling CPU is not the wanted one, this wrapper takes care of
      sending the request to the appropriate CPU with schedule_work_on().
      
      At the moment the core switch operation is handled by bL_switch_to()
      which must be called on the CPU for which a switch is requested.
      
      What this code does:
      
        * Return early if the current cluster is the wanted one.
      
        * Close the gate in the kernel entry vector for both the inbound
          and outbound CPUs.
      
        * Wake up the inbound CPU so it can perform its reset sequence in
          parallel up to the kernel entry vector gate.
      
        * Migrate all interrupts in the GIC targeting the outbound CPU
          interface to the inbound CPU interface, including SGIs. This is
          performed by gic_migrate_target() in drivers/irqchip/irq-gic.c.
      
        * Call cpu_pm_enter() which takes care of flushing the VFP state to
          RAM and save the CPU interface config from the GIC to RAM.
      
        * Modify the cpu_logical_map to refer to the inbound physical CPU.
      
        * Call cpu_suspend() which saves the CPU state (general purpose
          registers, page table address) onto the stack and store the
          resulting stack pointer in an array indexed by the updated
          cpu_logical_map, then call the provided shutdown function.
          This happens in arch/arm/kernel/sleep.S.
      
      At this point, the provided shutdown function executed by the outbound
      CPU ungates the inbound CPU. Therefore the inbound CPU:
      
        * Picks up the saved stack pointer in the array indexed by its MPIDR
          in arch/arm/kernel/sleep.S.
      
        * The MMU and caches are re-enabled using the saved state on the
          provided stack, just like if this was a resume operation from a
          suspended state.
      
        * Then cpu_suspend() returns, although this is on the inbound CPU
          rather than the outbound CPU which called it initially.
      
        * The function cpu_pm_exit() is called which effect is to restore the
          CPU interface state in the GIC using the state previously saved by
          the outbound CPU.
      
        * Exit of bL_switch_to() to resume normal kernel execution on the
          new CPU.
      
      However, the outbound CPU is potentially still running in parallel while
      the inbound CPU is resuming normal kernel execution, hence we need
      per CPU stack isolation to execute bL_do_switch().  After the outbound
      CPU has ungated the inbound CPU, it calls mcpm_cpu_power_down() to:
      
        * Clean its L1 cache.
      
        * If it is the last CPU still alive in its cluster (last man standing),
          it also cleans its L2 cache and disables cache snooping from the other
          cluster.
      
        * Power down the CPU (or whole cluster).
      
      Code called from bL_do_switch() might end up referencing 'current' for
      some reasons.  However, 'current' is derived from the stack pointer.
      With any arbitrary stack, the returned value for 'current' and any
      dereferenced values through it are just random garbage which may lead to
      segmentation faults.
      
      The active page table during the execution of bL_do_switch() is also a
      problem.  There is no guarantee that the inbound CPU won't destroy the
      corresponding task which would free the attached page table while the
      outbound CPU is still running and relying on it.
      
      To solve both issues, we borrow some of the task space belonging to
      the init/idle task which, by its nature, is lightly used and therefore
      is unlikely to clash with our usage.  The init task is also never going
      away.
      
      Right now the logical CPU number is assumed to be equivalent to the
      physical CPU number within each cluster. The kernel should also be
      booted with only one cluster active.  These limitations will be lifted
      eventually.
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      1c33be57
    • Nicolas Pitre's avatar
      ARM: gic: add CPU migration support · 1a6b69b6
      Nicolas Pitre authored
      This is required by the big.LITTLE switcher code.
      
      The gic_migrate_target() changes the CPU interface mapping for the
      current CPU to redirect SGIs to the specified interface, and it also
      updates the target CPU for each interrupts to that CPU interface
      if they were targeting the current interface.  Finally, pending
      SGIs for the current CPU are forwarded to the new interface.
      
      Because Linux does not use it, the SGI source information for the
      forwarded SGIs is not preserved.  Neither is the source information
      for the SGIs sent by the current CPU to other CPUs adjusted to match
      the new CPU interface mapping.  The required registers are banked so
      only the target CPU could do it.
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      1a6b69b6
    • Nicolas Pitre's avatar
      ARM: suspend: use hash of cpu_logical_map value to index into save array · 71a8986d
      Nicolas Pitre authored
      Currently we hash the MPIDR of the CPU being suspended to determine which
      entry in the sleep_save_sp array to use. In some situations, such as when
      we want to resume on another physical CPU, the MPIDR of another CPU should
      be used instead.
      
      So let's use the value of cpu_logical_map(smp_processor_id()) in place
      of the MPIDR in the suspend path.  This will result in the same index
      being used as with the previous code unless the caller has modified
      cpu_logical_map() beforehand with the MPIDR of the physical CPU the
      suspending logical CPU will resume on.
      
      Consequently, if doing a physical CPU migration, cpu_logical_map() must
      be updated appropriately somewhere between cpu_pm_enter() and
      cpu_suspend().
      
      The register allocation in __cpu_suspend is reworked in order to better
      accommodate the additional argument.
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      Acked-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Reviewed-by: default avatarDave Martin <Dave.Martin@arm.com>
      71a8986d
  4. 29 Jul, 2013 4 commits
    • Linus Torvalds's avatar
      Linux 3.11-rc3 · 5ae90d8e
      Linus Torvalds authored
      5ae90d8e
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-for-v3.11-2' of... · 76d25a5f
      Linus Torvalds authored
      Merge tag 'pinctrl-for-v3.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
      
      Pull pin control fixes from Linus Walleij:
       - Driver fixes for AM33xx, SIRF and PFC pin controllers
       - Fix a compile warning from the pinctrl single-register driver
       - Fix a little nasty memory leak
      
      * tag 'pinctrl-for-v3.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: fix a memleak when freeing maps
        pinctrl: pinctrl-single: fix compile warning when no CONFIG_PM
        pinctrl: sh-pfc: fix SDHI0 VccQ regulator on sh73a0 with DT
        arm/dts: sirf: fix the pingroup name mismatch between drivers and dts
        pinctrl: sirf: add usp0_uart_nostreamctrl pin group for usp-uart without flowctrl
        pinctrl: sirf: fix the pin number and mux bit for usp0
        pinctrl: am33xx dt binding: correct include path
      76d25a5f
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-3.11-rc2' of... · 6803f37e
      Linus Torvalds authored
      Merge tag 'trace-fixes-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull tracing fixes from Steven Rostedt:
       "Oleg is working on fixing a very tight race between opening a event
        file and deleting that event at the same time (both must be done as
        root).
      
        I also found a bug while testing Oleg's patches which has to do with a
        race with kprobes using the function tracer.
      
        There's also a deadlock fix that was introduced with the previous
        fixes"
      
      * tag 'trace-fixes-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Remove locking trace_types_lock from tracing_reset_all_online_cpus()
        ftrace: Add check for NULL regs if ops has SAVE_REGS set
        tracing: Kill trace_cpu struct/members
        tracing: Change tracing_fops/snapshot_fops to rely on tracing_get_cpu()
        tracing: Change tracing_entries_fops to rely on tracing_get_cpu()
        tracing: Change tracing_stats_fops to rely on tracing_get_cpu()
        tracing: Change tracing_buffers_fops to rely on tracing_get_cpu()
        tracing: Change tracing_pipe_fops() to rely on tracing_get_cpu()
        tracing: Introduce trace_create_cpu_file() and tracing_get_cpu()
      6803f37e
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 561d9e81
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is five bug fixes, two of which fix long standing problems
        causing crashes (sd and mvsas).  The remaining three are hung (isci
        race) or lost (qla2xxx, isci) devices"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        [SCSI] isci: fix breakage caused by >16byte CDB patch
        [SCSI] mvsas: Fix kernel panic on tile due to unaligned data access
        [SCSI] sd: fix crash when UA received on DIF enabled device
        [SCSI] qla2xxx: Properly set the tagging for commands.
        [SCSI] isci: Fix a race condition in the SSP task management path
      561d9e81
  5. 26 Jul, 2013 22 commits
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 6c504ecf
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "This is just a regular fixes pull apart from the qxl one, it has
        radeon and intel bits in it,
      
        The intel fixes are for a regression with the RC6 fix and a 3.10 hdmi
        regression, whereas radeon is more DPM fixes, a few lockup fixes and
        some rn50/r100 DAC fixes"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon/dpm: fix r600_enable_sclk_control()
        drm/radeon/dpm: implement force performance levels for rv6xx
        drm/radeon/dpm: fix displaygap programming on rv6xx
        drm/radeon/dpm: fix a typo in the rv6xx mclk setup
        drm/i915: initialize gt_lock early with other spin locks
        drm/i915: fix hdmi portclock limits
        drm/radeon: fix combios tables on older cards
        drm/radeon: improve dac adjust heuristics for legacy pdac
        drm/radeon: Another card with wrong primary dac adj
        drm/radeon: fix endian issues with DP handling (v3)
        drm/radeon/vm: only align the pt base to 32k
        drm/radeon: wait for 3D idle before using CP DMA
      6c504ecf
    • Linus Torvalds's avatar
      Merge branch 'qxl-fixes' of git://people.freedesktop.org/~airlied/linux · 2408c2e5
      Linus Torvalds authored
      Pull qxl drm fixes from Dave Airlie:
       "Okay as I warned, the qxl driver was running a bit free and loose with
        its ttm object reservations and the new lockdep enabled reservation
        tracking shone a bright light into it, it also with the new
        reservations mutexes hits a possible deadlock during boot.
      
        The first patch is a real fix to render the console correctly as the
        driver used to just drop irq renderering as too hard, this also fixes
        a sleeping while atomic warning.
      
        The other two patches are the big ugly ones that redo how the driver
        allocates objects and reserves them and makes things all work
        properly, I've tested this in a VM, and compared to the current code
        which hits a lockdep warning and the sleep while atomic warning before
        failing.
      
        So sorry this is coming in late, I should have tested qxl before
        merging the mutex code, but I'd rather just fix qxl with this than
        revert the reservations code at this point"
      
      * 'qxl-fixes' of git://people.freedesktop.org/~airlied/linux:
        qxl: convert qxl driver to proper use for reservations
        qxl: allow creation of pre-pinned objects and use for releases.
        drm/qxl: add delayed fb operations
      2408c2e5
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 0f746650
      Linus Torvalds authored
      Pull ACPI and power management fixes from Rafael Wysocki:
       "These are just two fixes, a revert of the would-be backlight fix that
        didn't work and an intel_pstate fix for two problems related to
        maximum P-state selection.
      
        Specifics:
      
         - Revert of the ACPI video commit that I hoped would help fix
           backlight problems related to Windows 8 compatibility on some
           systems.  Unfortunately, it turned out to cause problems to happen
           too.
      
         - Fix for two problems in intel_pstate, a possible failure to respond
           to a load change on a quiet system and a possible failure to select
           the highest available P-state on some systems.  From Dirk
           Brandewie"
      
      * tag 'pm+acpi-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Revert "ACPI / video / i915: No ACPI backlight if firmware expects Windows 8"
        cpufreq / intel_pstate: Change to scale off of max P-state
      0f746650
    • Linus Torvalds's avatar
      Merge tag 'arm64-stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64 · a9b5f023
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
       - Stack size increased to 16K (similar to other 64-bit architectures)
       - Additional cache flushing for secondary CPUs boot mode
      
      * tag 'arm64-stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
        arm64: Change kernel stack size to 16K
        arm64: Fix definition of arm_pm_restart to match the declaration
        arm64: virt: ensure visibility of __boot_cpu_mode
      a9b5f023
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · fef36a7a
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "This is a largeish batch of fixes, mostly because I missed -rc2 due to
        travel/vacation.  So in number these are a bit more than ideal unless
        you amortize them over two -rcs.
      
        Quick breakdown:
         - Defconfig updates
           - Making multi_v7_defconfig useful on more hardware to encourage
             single-image usage
           - Davinci and nomadik updates due to new code merged this merge
             window
         - Fixes for UART on Samsung platforms, both PM and clock-related
         - A handful of warning fixes from defconfig builds, including for
           max8925 backlight and pxamci (both with appropriate acks)
         - Exynos5440 fixes for LPAE configuration, PM
         - ...plus a bunch of other smaller changes all over the place
      
        I expect to switch to regressions-or-severe-bugs-only fixes from here
        on out"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (37 commits)
        mfd: max8925: fix dt code for backlight
        ARM: omap5: Only select errata 798181 if SMP
        ARM: EXYNOS: Update CONFIG_ARCH_NR_GPIO for Exynos
        ARM: EXYNOS: Fix low level debug support
        ARM: SAMSUNG: Save/restore only selected uart's registers
        ARM: SAMSUNG: Add SAMSUNG_PM config option to select pm
        ARM: S3C24XX: Add missing clkdev entries for s3c2440 UART
        ARM: multi_v7_defconfig: Select USB chipidea driver
        ARM: pxa: propagate errors from regulator_enable() to pxamci
        ARM: zynq: fix compilation warning
        ARM: keystone: fix compilation warning
        ARM: highbank: Only touch common coherency control register fields
        ARM: footbridge: fix overlapping PCI mappings
        dmaengine: shdma: fix a build failure on platforms with no DMA support
        ARM: STi: Set correct ARM ERRATAs.
        ARM: dts: STi: Fix pinconf setup for STiH416 serial2
        ARM: nomadik: configure for NO_HZ and HRTIMERS
        ARM: nomadik: update defconfig base
        ARM: nomadik: Update MMC defconfigs
        ARM: davinci: defconfig: enable EDMA driver
        ...
      fef36a7a
    • Linus Torvalds's avatar
      Merge tag 'usb-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · db8cbfad
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are a number of USB fixes for 3.11-rc3.
      
        Lots of little things, nothing major.  A number of new device ids,
        build fixes for DMA, and a bunch of other minor things.  All of these
        have been in the linux-next tree"
      
      * tag 'usb-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (40 commits)
        usb: Clear both buffers when clearing a control transfer TT buffer.
        usb/gadget: free opts struct on error recovery
        USB: mos7840: fix memory leak in open
        usb: serial: option.c: remove ONDA MT825UP product ID fromdriver
        usb: serial: option: add Olivetti Olicard 200
        usb: serial: option: blacklist ONDA MT689DC QMI interface
        xhci: fix null pointer dereference on ring_doorbell_for_active_rings
        usb: host: xhci: Enable XHCI_SPURIOUS_SUCCESS for all controllers with xhci 1.0
        usb: fix build warning in pci-quirks.h when CONFIG_PCI is not enabled
        usb: xhci: Mark two functions __maybe_unused
        xhci: Avoid NULL pointer deref when host dies.
        usb: serial: option: Add ONYX 3G device support
        USB: ti_usb_3410_5052: fix dynamic-id matching
        usb: option: add TP-LINK MA260
        USB: option: add D-Link DWM-152/C1 and DWM-156/C1
        USB: EHCI: Fix resume signalling on remote wakeup
        USB: cp210x: add MMB and PI ZigBee USB Device Support
        usb: cp210x support SEL C662 Vendor/Device
        USB: option: append Petatel NP10T device to GSM modems list
        USB: misc: Add Manhattan Hi-Speed USB DVI Converter to sisusbvga
        ...
      db8cbfad
    • Linus Torvalds's avatar
      Merge tag 'tty-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · ab20fb81
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are 3 fixes for TTY and serial issues that have been reported.
        Nothing huge, but nice to get fixed"
      
      * tag 'tty-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: tegra: correct help message in Kconfig from 'ttyHS' to 'ttyTHS'
        tty/8250_early: Don't truncate last character of options
        TTY: snyclinkmp: calculating wrong addresses
      ab20fb81
    • Linus Torvalds's avatar
      Merge tag 'staging-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · f19e6c69
      Linus Torvalds authored
      Pull staging fixes from Greg KH:
       "Here are some tiny drivers/staging/ fixes for 3.11-rc3
      
        A number of bugfixes, all pretty tiny, but resolve issues that have
        been reported (the kstrtos32 change fixes a data corruption problem
        that Dan found).  And a MAINTAINERS file update for the comedi
        drivers"
      
      * tag 'staging-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        MAINTAINERS: Update the list of maintainers for staging/comedi driver.
        staging: tidspbridge: replace strict_strtol() with kstrtos32()
        staging: android: logger: Correct write offset reset on error
        staging: zram: protect zram_reset_device() call
        staging: gdm72xx: potential use after free in send_qos_list()
        staging: drm/imx: drop "select OF_VIDEOMODE"
        staging: frontier: use after free in disconnect()
        staging: comedi: fix a race between do_cmd_ioctl() and read/write
        staging: comedi: COMEDI_CANCEL ioctl should wake up read/write
      f19e6c69
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 05e4cb7c
      Linus Torvalds authored
      Pull char/misc patches from Greg KH:
       "Here are some char/misc patches for 3.11-rc3.  It's pretty much just:
         - mei fixes
         - hyperv fixes
         - new ja_JP translation update
        all tiny stuff, but fixes for issues people have reported."
      
      * tag 'char-misc-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        HOWTO ja_JP sync
        mei: me: fix waiting for hw ready
        mei: don't have to clean the state on power up
        mei: me: fix reset state machine
        mei: hbm: fix typo in error message
        Tools: hv: KVP: Fix a bug in IPV6 subnet enumeration
        Drivers: hv: balloon: Do not post pressure status if interrupted
        Drivers: hv: balloon: Fix a bug in the hot-add code
        Drivers: hv: vmbus: incorrect device name is printed when child device is unregistered
      05e4cb7c
    • Linus Torvalds's avatar
      Merge tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 8f074a55
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Just a handful of regression and small fixes in ASoC, HD-audio and
        USB-audio drivers.
      
         - Sigmetal HD-audio codec regression fixes
         - A copule of XRUN indication fixes for usb-audio devices
         - ASoC: ep93xx build fix, sgtl5000 fix for probe order changes,
           max98088 register access fix, etc"
      
      * tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hiface: return correct XRUN indication
        ASoC: tegra: correct playback_dma_data setup
        ASoC: core: double free in snd_soc_add_platform()
        ALSA: usb-audio: 6fire: return correct XRUN indication
        ASoC: ep93xx: fix build of ep93xx-ac97.c
        ALSA: hda - Remove NO_PRESENCE bit override for Dell 1420n Laptop
        ALSA: hda - Fix EAPD GPIO control for Sigmatel codecs
        ASoC: atmel-ssc: remove clk_disable_unprepare call from critical section
        ASoC: sgtl5000: defer the probe if clock is not found
        ASoC: max98088 - fix element type of the register cache.
      8f074a55
    • Linus Torvalds's avatar
      Merge tag 'for-linus-v3.11-rc3' of git://oss.sgi.com/xfs/xfs · 6c4155a9
      Linus Torvalds authored
      Pull xfs fix from Ben Myers:
       "Fix for regression in commit cca9f93a ("xfs: don't do IO when
        creating an new inode"), recovery causing filesystem corruption after
        a crash"
      
      * tag 'for-linus-v3.11-rc3' of git://oss.sgi.com/xfs/xfs:
        xfs: di_flushiter considered harmful
      6c4155a9
    • Linus Torvalds's avatar
      Merge branch 'for-3.11' of git://linux-nfs.org/~bfields/linux · f315cf5e
      Linus Torvalds authored
      Pull nfsd fix from Bruce Fields:
       "One more nfsd bugfix for 3.11"
      
      * 'for-3.11' of git://linux-nfs.org/~bfields/linux:
        nfsd: nfsd_open: when dentry_open returns an error do not propagate as struct file
      f315cf5e
    • Linus Torvalds's avatar
      Merge tag 'md/3.11-fixes' of git://neil.brown.name/md · c271f5bc
      Linus Torvalds authored
      Pull md fixes from Neil Brown:
       "Two more bugfixes for md in 3.11
      
        Both marked for -stable, both since 3.3.  I guess I should spend more
        time testing..."
      
      * tag 'md/3.11-fixes' of git://neil.brown.name/md:
        md/raid5: fix interaction of 'replace' and 'recovery'.
        md/raid10: remove use-after-free bug.
      c271f5bc
    • Linus Torvalds's avatar
      Merge branch 'for-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · c7dad234
      Linus Torvalds authored
      Pull libata fixes from Tejun Heo:
       "Assorted libata updates.
      
        The most critical one is a fix for ahci oops during boot.  Also, a new
        smallish platform ahci driver is added and sata_inic162x is marked
        clearly as experimental (it whines during boot too) as data corruption
        seems rather common on the device and it's unlikely to get any love in
        the foreseeable future.  If the whining doesn't draw any attention, I
        think we'd probably be better of making the driver depend on BROKEN in
        a couple releases"
      
      This is v2 of this pull request with fixed dependencies for ahci_imx.
      
      * 'for-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ahci_imx: depend on CONFIG_MFD_SYSCON
        ahci_imx: add ahci sata support on imx platforms
        ARM: imx6q: update the sata bits definitions of gpr13
        ahci: fix Null pointer dereference in achi_host_active()
        libata: make it clear that sata_inic162x is experimental
        libata: replace strict_strtol() with kstrtol()
        ata: Fix DVD not dectected at some platform with Wellsburg PCH
      c7dad234
    • Rafael J. Wysocki's avatar
      Revert "ACPI / video / i915: No ACPI backlight if firmware expects Windows 8" · 8e5c2b77
      Rafael J. Wysocki authored
      We attempted to address a regression introduced by commit a57f7f91
      (ACPICA: Add Windows8/Server2012 string for _OSI method.) after which
      ACPI video backlight support doesn't work on a number of systems,
      because the relevant AML methods in the ACPI tables in their BIOSes
      become useless after the BIOS has been told that the OS is compatible
      with Windows 8.  That problem is tracked by the bug entry at:
      
      https://bugzilla.kernel.org/show_bug.cgi?id=51231
      
      Commit 8c5bd7ad (ACPI / video / i915: No ACPI backlight if firmware
      expects Windows 8) introduced for this purpose essentially prevented
      the ACPI backlight support from being used if the BIOS had been told
      that the OS was compatible with Windows 8 and the i915 driver was
      loaded, in which case the backlight would always be handled by i915.
      Unfortunately, however, that turned out to cause problems with
      backlight to appear on multiple systems with symptoms indicating that
      i915 was unable to control the backlight on those systems as
      expected.
      
      For this reason, revert commit 8c5bd7ad, but leave the function
      acpi_video_backlight_quirks() introduced by it, because another
      commit on top of it uses that function.
      
      References: https://lkml.org/lkml/2013/7/21/119
      References: https://lkml.org/lkml/2013/7/22/261
      References: https://lkml.org/lkml/2013/7/23/429
      References: https://lkml.org/lkml/2013/7/23/459
      References: https://lkml.org/lkml/2013/7/23/81
      References: https://lkml.org/lkml/2013/7/24/27Reported-and-tested-by: default avatarJames Hogan <james@albanarts.com>
      Reported-and-tested-by: default avatarKamal Mostafa <kamal@canonical.com>
      Reported-and-tested-by: default avatarJörg Otte <jrg.otte@gmail.com>
      Reported-and-tested-by: default avatarSteven Newbury <steve@snewbury.org.uk>
      Reported-by: default avatarMartin Steigerwald <Martin@lichtvoll.de>
      Reported-by: default avatarKalle Valo <kvalo@adurom.com>
      Tested-by: default avatarJoerg Platte <jplatte@naasa.net>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      8e5c2b77
    • Tejun Heo's avatar
      ahci_imx: depend on CONFIG_MFD_SYSCON · 867974fc
      Tejun Heo authored
      ahci_imx makes use of regmap but the dependency wasn't specified in
      Kconfig leading build failures if CONFIG_AHCI_IMX is enabled but
      CONFIG_MFD_SYSCON is not.  Add the Kconfig dependency.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      867974fc
    • Steven Rostedt (Red Hat)'s avatar
      tracing: Remove locking trace_types_lock from tracing_reset_all_online_cpus() · 09d8091c
      Steven Rostedt (Red Hat) authored
      Commit a8227415 "tracing: Protect ftrace_trace_arrays list in trace_events.c"
      added taking the trace_types_lock mutex in trace_events.c as there were
      several locations that needed it for protection. Unfortunately, it also
      encapsulated a call to tracing_reset_all_online_cpus() which also takes
      the trace_types_lock, causing a deadlock.
      
      This happens when a module has tracepoints and has been traced. When the
      module is removed, the trace events module notifier will grab the
      trace_types_lock, do a bunch of clean ups, and also clears the buffer
      by calling tracing_reset_all_online_cpus. This doesn't happen often
      which explains why it wasn't caught right away.
      
      Commit a8227415 was marked for stable, which means this must be
      sent to stable too.
      
      Link: http://lkml.kernel.org/r/51EEC646.7070306@broadcom.comReported-by: default avatarArend van Spril <arend@broadcom.com>
      Tested-by: default avatarArend van Spriel <arend@broadcom.com>
      Cc: Alexander Z Lam <azl@google.com>
      Cc: Vaibhav Nagarnaik <vnagarnaik@google.com>
      Cc: David Sharp <dhsharp@google.com>
      Cc: stable@vger.kernel.org # 3.10
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      09d8091c
    • Feng Kan's avatar
      arm64: Change kernel stack size to 16K · 845ad05e
      Feng Kan authored
      Written by Catalin Marinas, tested by APM on storm platform. This is needed
      because of the failures encountered when running SpecWeb benchmark test.
      Signed-off-by: default avatarFeng Kan <fkan@apm.com>
      Acked-by: default avatarKumar Sankaran <ksankaran@apm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      845ad05e
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2013-07-25' of... · bf903e41
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2013-07-25' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes
      
      Brown-paper-bag pull request here. The snb rc6 fix from the last pull
      broke forcewake BIOS dirt cleanup, which with fixed. But that fix broke
      the spinlock init sequence, which results in an ugly BUG when spinlock
      debugging is enabled :( So I get to throw another patch at cc: stable to
      fix up the mess ...
      
      * tag 'drm-intel-fixes-2013-07-25' of git://people.freedesktop.org/~danvet/drm-intel:
        drm/i915: initialize gt_lock early with other spin locks
        drm/i915: fix hdmi portclock limits
      bf903e41
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-3.11' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 4795b95a
      Dave Airlie authored
      r600 dpm fixes, old school card dac fixes, lockup fixes
      endian fixes
      * 'drm-fixes-3.11' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon/dpm: fix r600_enable_sclk_control()
        drm/radeon/dpm: implement force performance levels for rv6xx
        drm/radeon/dpm: fix displaygap programming on rv6xx
        drm/radeon/dpm: fix a typo in the rv6xx mclk setup
        drm/radeon: fix combios tables on older cards
        drm/radeon: improve dac adjust heuristics for legacy pdac
        drm/radeon: Another card with wrong primary dac adj
        drm/radeon: fix endian issues with DP handling (v3)
        drm/radeon/vm: only align the pt base to 32k
        drm/radeon: wait for 3D idle before using CP DMA
      4795b95a
    • Alex Deucher's avatar
      drm/radeon/dpm: fix r600_enable_sclk_control() · f5d9b7f0
      Alex Deucher authored
      Actually program the correct register to enable
      engine clock scaling control.
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      f5d9b7f0
    • Alex Deucher's avatar
      drm/radeon/dpm: implement force performance levels for rv6xx · f4f85a8c
      Alex Deucher authored
      Allows you to limit the selected power levels via sysfs.
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      f4f85a8c
  6. 25 Jul, 2013 2 commits
    • Olof Johansson's avatar
      mfd: max8925: fix dt code for backlight · 515c0967
      Olof Johansson authored
      The device-tree enablement for max8925 has several problems, but besides
      the bindings being wrong (and not having seen review) there's also some
      bad coding practices on how to fill in the platform_data from device tree.
      
      I came across this since it causes a warning when compiling
      mmp2_defconfig, and instead of doing the minimal fix to silence the
      warning, I restructured the code a bit.
      
      This silences the warning:
      drivers/video/backlight/max8925_bl.c: In function 'max8925_backlight_probe':
      drivers/video/backlight/max8925_bl.c:177:3: warning: statement with no effect [-Wunused-value]
      
      Note that the bindings themselves need to be revisited too, but that will
      affect more than just the backlight driver and is best done separately;
      this just fixes the bad code for the backlight driver.
      Acked-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      515c0967
    • Alex Deucher's avatar
      drm/radeon/dpm: fix displaygap programming on rv6xx · 2333a003
      Alex Deucher authored
      Need to use the driver state rather than the register
      state since the displays may not be enabled when the
      power state is programmed.
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      2333a003