1. 08 Aug, 2014 16 commits
    • Linus Torvalds's avatar
      Revert "drm/i915: Enable PSR by default." · 27d438c5
      Linus Torvalds authored
      This reverts commit b6d54779.
      
      The panel self refresh clearly isn't stable yet, and causes my laptop
      (Haswell ULT in a Sony Vaio Pro) to have the screen lock up.  Maybe it
      doesn't ever get out of self-refresh, or maybe there are gremlins in the
      machine that get unhappy.  Regardless, it's broken, and it gets
      reverted.
      
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      27d438c5
    • Linus Torvalds's avatar
      Merge tag 'defconfig-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 0a44e68c
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Olof Johansson:
       "We broke this out in a separate branch since some defconfigs now are
        shared between maintainers, and having them merged in through separate
        topics (drivers/soc/etc) is a recipe for conflicts.
      
        Most of this is removal of two defconfigs:
      
         - Kirkwood, now folded into mvebu/multi_v5
         - Renesas genmai, removed platform
         - major defconfig refresh for exynos
         - various updates on the other multi-defconfigs and others (tegra,
           socfpga, shmobile):
      
      * tag 'defconfig-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (29 commits)
        ARM: multi_v7_defconfig: Enable TI PIPE3 PHY driver
        ARM: config: enable ARCH_HIX5HD2
        ARM: multi_v7_defconfig: Enable MiPHY365x - ST's Generic (SATA & PCIe) PHY
        ARM: multi_v7_defconfig: Enable ST's (S)ATA driver
        ARM: multi_v7_defconfig: add ST Keyscan driver
        ARM: update multi_v7_defconfig for STI
        ARM: multi_v7_defconfig: Configure in ST's Thermal Controller
        ARM: exynos_defconfig: Update exynos_defconfig
        ARM: shmobile: defconfig: Remove MACH_GENMAI
        ARM: mvebu: update mvebu_v7_defconfig with cpufreq support
        ARM: mvebu: defconfig: enable cpuidle support in mvebu_v7_defconfig
        ARM: shmobile: genmai: remove defconfig
        ARM: socfpga: Update socfpga_defconfig
        ARM: Kirkwood: Remove kirkwood_defconfig
        ARM: mvebu: enable Armada 375 network driver in mvebu_v7_defconfig
        ARM: shmobile: Enable R-Car Gen 2 PCIe in shmobile_defconfig
        ARM: mvebu: add devtmpfs to mvebu_v5_defconfig
        ARM: mvebu: add appended DTB support in mvebu_v5_defconfig
        ARM: multi_v7: enable igb, stmpe, lm95245, pwm leds
        ARM: multi_v7_defconfig: Enable ST's I2C driver
        ...
      0a44e68c
    • Linus Torvalds's avatar
      Merge tag 'drivers-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 10c8e056
      Linus Torvalds authored
      Pull ARM SoC driver changes from Olof Johansson:
       "A handful of driver-related changes.  We've had a bunch of them going
        in through other branches as well, so it's only a part of what we
        really have this release.
      
        Larger pieces are:
      
         - Removal of a now unused PWM driver for atmel
           [ This includes AVR32 changes that have been appropriately acked ]
         - Performance counter support for the arm CCN interconnect
         - OMAP mailbox driver cleanups and consolidation
         - PCI and SATA PHY drivers for SPEAr 13xx platforms
         - Redefinition (with backwards compatibility!) of PCI DT bindings for
           Tegra to better model regulators/power"
      
      Note: this merge also fixes up the semantic conflict with the new
      calling convention for devm_phy_create(), see commit f0ed8176 ("phy:
      core: Let node ptr of PHY point to PHY and not of PHY provider") that
      came in through Greg's USB tree.
      
      Semantic merge patch by Stephen Rothwell <sfr@canb.auug.org.au> through
      the next tree.
      
      * tag 'drivers-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (38 commits)
        bus: arm-ccn: Fix error handling at event allocation
        mailbox/omap: add a parent structure for every IP instance
        mailbox/omap: remove the private mailbox structure
        mailbox/omap: consolidate OMAP mailbox driver
        mailbox/omap: simplify the fifo assignment by using macros
        mailbox/omap: remove omap_mbox_type_t from mailbox ops
        mailbox/omap: remove OMAP1 mailbox driver
        mailbox/omap: use devm_* interfaces
        bus: ARM CCN: add PERF_EVENTS dependency
        bus: ARM CCN PMU driver
        PCI: spear: Remove spear13xx_pcie_remove()
        PCI: spear: Fix Section mismatch compilation warning for probe()
        ARM: tegra: Remove legacy PCIe power supply properties
        PCI: tegra: Remove deprecated power supply properties
        PCI: tegra: Implement accurate power supply scheme
        ARM: SPEAr13xx: Update defconfigs
        ARM: SPEAr13xx: Add pcie and miphy DT nodes
        ARM: SPEAr13xx: Add bindings and dt node for misc block
        ARM: SPEAr13xx: Fix static mapping table
        phy: Add drivers for PCIe and SATA phy on SPEAr13xx
        ...
      10c8e056
    • Linus Torvalds's avatar
      Merge tag 'dt-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · d4e1f5a1
      Linus Torvalds authored
      Pull ARM SoC device-tree changes from Olof Johansson:
       "Unlike the board branch, this keeps having large sets of changes for
        every release, but that's quite expected and is so far working well.
      
        Most of this is plumbing for various device bindings and new
        platforms, but there's also a bit of cleanup and code removal for
        things that are moved from platform code to DT contents (some OMAP
        clock code in particular).
      
        There's also a pinctrl driver for tegra here (appropriately acked),
        that's introduced this way to make it more bisectable.
      
        I'm happy to say that there were no conflicts at all with this branch
        this release, which means that changes are flowing through our tree as
        expected instead of merged through driver maintainers (or at least not
        done with conflicts).
      
        There are several new boards added, and a couple of SoCs.  In no
        particular order:
      
         - Rockchip RK3288 SoC support, including DTS for a dev board that
           they have seeded with some community developers.
         - Better support for Hardkernel Exynos4-based ODROID boards.
         - CCF conversions (and dtsi contents) for several Renesas platforms.
         - Gumstix Pepper (TI AM335x) board support
         - TI eval board support for AM437x
         - Allwinner A23 SoC, very similar to existing ones which mostly has
           resulted in DT changes for support.  Also includes support for an
           Ippo tablet with the chipset.
         - Allwinner A31 Hummingbird board support, not to be confused with
           the SolidRun i.MX-based Hummingboard.
         - Tegra30 Apalis board support"
      
      * tag 'dt-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (334 commits)
        ARM: dts: Enable USB host0 (EHCI) on rk3288-evb
        ARM: dts: add rk3288 ehci usb devices
        ARM: dts: Turn on USB host vbus on rk3288-evb
        ARM: tegra: apalis t30: fix device tree compatible node
        ARM: tegra: paz00: Fix some indentation inconsistencies
        ARM: zynq: DT: Clarify Xilinx Zynq platform
        ARM: dts: rockchip: add watchdog node
        ARM: dts: rockchip: remove pinctrl setting from radxarock uart2
        ARM: dts: Add missing pinctrl for uart0/1 for exynos3250
        ARM: dts: Remove duplicate 'interrput-parent' property for exynos3250
        ARM: dts: Add TMU dt node to monitor the temperature for exynos3250
        ARM: dts: Specify MAX77686 pmic interrupt for exynos5250-smdk5250
        ARM: dts: cypress,cyapa trackpad is exynos5250-Snow only
        ARM: dts: max77686 is exynos5250-snow only
        ARM: zynq: DT: Remove DMA from board DTs
        ARM: zynq: DT: Add CAN node
        ARM: EXYNOS: Add exynos5260 PMU compatible string to DT match table
        ARM: dts: Add PMU DT node for exynos5260 SoC
        ARM: EXYNOS: Add support for Exynos5410 PMU
        ARM: dts: Add PMU to exynos5410
        ...
      d4e1f5a1
    • Linus Torvalds's avatar
      Merge tag 'boards-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 231bf80f
      Linus Torvalds authored
      Pull ARM SoC board changes from Olof Johansson:
       "This is the smallest board branch we have ever had.  Most of this is a
        few cleanups for board code for Renesas shmobile, with a bit of legacy
        driver support added.  This is strongly trending in the right
        direction now"
      
      * tag 'boards-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: shmobile: Enable R-Car Gen2 CMA code in board files
        ARM: shmobile: armadillo800eva reference: Spelling s/ED/LED/
        ARM: shmobile: armadillo800eva legacy: Add LED support
        ARM: shmobile: lager-reference: Remove workarounds for core clock issues
        ARM: shmobile: koelsch-reference: Remove workarounds for core clock issues
      231bf80f
    • Linus Torvalds's avatar
      Merge tag 'soc-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b3345d7c
      Linus Torvalds authored
      Pull ARM SoC platform changes from Olof Johansson:
       "This is the bulk of new SoC enablement and other platform changes for
        3.17:
      
         - Samsung S5PV210 has been converted to DT and multiplatform
         - Clock drivers and bindings for some of the lower-end i.MX 1/2
           platforms
         - Kirkwood, one of the popular Marvell platforms, is folded into the
           mvebu platform code, removing mach-kirkwood
         - Hwmod data for TI AM43xx and DRA7 platforms
         - More additions of Renesas shmobile platform support
         - Removal of plat-samsung contents that can be removed with S5PV210
           being multiplatform/DT-enabled and the other two old platforms
           being removed
      
        New platforms (most with only basic support right now):
      
         - Hisilicon X5HD2 settop box chipset is introduced
         - Mediatek MT6589 (mobile chipset) is introduced
         - Broadcom BCM7xxx settop box chipset is introduced
      
        + as usual a lot other pieces all over the platform code"
      
      * tag 'soc-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (240 commits)
        ARM: hisi: remove smp from machine descriptor
        power: reset: move hisilicon reboot code
        ARM: dts: Add hix5hd2-dkb dts file.
        ARM: debug: Rename Hi3716 to HIX5HD2
        ARM: hisi: enable hix5hd2 SoC
        ARM: hisi: add ARCH_HISI
        MAINTAINERS: add entry for Broadcom ARM STB architecture
        ARM: brcmstb: select GISB arbiter and interrupt drivers
        ARM: brcmstb: add infrastructure for ARM-based Broadcom STB SoCs
        ARM: configs: enable SMP in bcm_defconfig
        ARM: add SMP support for Broadcom mobile SoCs
        Documentation: arm: misc updates to Marvell EBU SoC status
        Documentation: arm: add URLs to public datasheets for the Marvell Armada XP SoC
        ARM: mvebu: fix build without platforms selected
        ARM: mvebu: add cpuidle support for Armada 38x
        ARM: mvebu: add cpuidle support for Armada 370
        cpuidle: mvebu: add Armada 38x support
        cpuidle: mvebu: add Armada 370 support
        cpuidle: mvebu: rename the driver from armada-370-xp to mvebu-v7
        ARM: mvebu: export the SCU address
        ...
      b3345d7c
    • Linus Torvalds's avatar
      Merge tag 'cleanup-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 44c916d5
      Linus Torvalds authored
      Pull ARM SoC cleanups from Olof Johansson:
       "This merge window brings a good size of cleanups on various platforms.
        Among the bigger ones:
      
         - Removal of Samsung s5pc100 and s5p64xx platforms.  Both of these
           have lacked active support for quite a while, and after asking
           around nobody showed interest in keeping them around.  If needed,
           they could be resurrected in the future but it's more likely that
           we would prefer reintroduction of them as DT and
           multiplatform-enabled platforms instead.
      
         - OMAP4 controller code register define diet.  They defined a lot of
           registers that were never actually used, etc.
      
         - Move of some of the Tegra platform code (PMC, APBIO, fuse,
           powergate) to drivers/soc so it can be shared with 64-bit code.
           This also converts them over to traditional driver models where
           possible.
      
         - Removal of legacy gpio-samsung driver, since the last users have
           been removed (moved to pinctrl)
      
        Plus a bunch of smaller changes for various platforms that sort of
        dissapear in the diffstat for the above.  clps711x cleanups, shmobile
        header file refactoring/moves for multiplatform friendliness, some
        misc cleanups, etc"
      
      * tag 'cleanup-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (117 commits)
        drivers: CCI: Correct use of ! and &
        video: clcd-versatile: Depend on ARM
        video: fix up versatile CLCD helper move
        MAINTAINERS: Add sdhci-st file to ARCH/STI architecture
        ARM: EXYNOS: Fix build breakge with PM_SLEEP=n
        MAINTAINERS: Remove Kirkwood
        ARM: tegra: Convert PMC to a driver
        soc/tegra: fuse: Set up in early initcall
        ARM: tegra: Always lock the CPU reset vector
        ARM: tegra: Setup CPU hotplug in a pure initcall
        soc/tegra: Implement runtime check for Tegra SoCs
        soc/tegra: fuse: fix dummy functions
        soc/tegra: fuse: move APB DMA into Tegra20 fuse driver
        soc/tegra: Add efuse and apbmisc bindings
        soc/tegra: Add efuse driver for Tegra
        ARM: tegra: move fuse exports to soc/tegra/fuse.h
        ARM: tegra: export apb dma readl/writel
        ARM: tegra: Use a function to get the chip ID
        ARM: tegra: Sort includes alphabetically
        ARM: tegra: Move includes to include/soc/tegra
        ...
      44c916d5
    • Linus Torvalds's avatar
      Merge tag 'drm-intel-fixes-2014-08-08' of git://anongit.freedesktop.org/drm-intel · 889fa782
      Linus Torvalds authored
      Pull intel drm fixes from Daniel Vetter:
       "So I heard that proper pull requests have a revert on top ;-) So here
        we go with my usual mid-merge-window pile of fixes.
      
      [ Ed. This revert thing had better not become the "in" thing ]
      
         Big fix is the duct-tape for ring init on g4x platforms, we seem to
        have found the magic again to make those machines as happy as before
        (not perfect though unfortunately, but that was never the case).
      
        Otherwise fixes all over:
         - tune down some overzealous debug output
         - VDD power sequencing fix after resume
         - bunch of dsi fixes for baytrail among them hw state checker
           de-noising
         - bunch of error state capture fixes for bdw
         - misc tiny fixes/workarounds for various platforms
      
        Last minute rebase was to kick out two patches that shouldn't have
        been in here - they're for the state checker, so 0 functional code
        affected.
      
        Jani's back from vacation, so he'll take over -fixes from here"
      
      * tag 'drm-intel-fixes-2014-08-08' of git://anongit.freedesktop.org/drm-intel: (21 commits)
        Revert "drm/i915: Enable semaphores on BDW"
        drm/i915: read HEAD register back in init_ring_common() to enforce ordering
        drm/i915: Fix crash when failing to parse MIPI VBT
        drm/i915: Bring GPU Freq to min while suspending.
        drm/i915: Fix DEIER and GTIER collecting for BDW.
        drm/i915: Don't accumulate hangcheck score on forward progress
        drm/i915: Add the WaCsStallBeforeStateCacheInvalidate:bdw workaround.
        drm/i915: Refactor Broadwell PIPE_CONTROL emission into a helper.
        drm/i915: Fix threshold for choosing 32 vs. 64 precisions for VLV DDL values
        drm/i915: Fix drain latency precision multipler for VLV
        drm/i915: Collect gtier properly on HSW.
        drm/i915: Tune down MCH_SSKPD values warning
        drm/i915: Tune done rc6 enabling output
        drm/i915: Don't require dev->struct_mutex in psr_match_conditions
        drm/i915: Fix error state collecting
        drm/i915: fix VDD state tracking after system resume
        drm/i915: Add correct hw/sw config check for DSI encoder
        drm/i915: factor out intel_edp_panel_vdd_sanitize
        drm/i915: wait for all DSI FIFOs to be empty
        drm/i915: work around warning in i915_gem_gtt
        ...
      889fa782
    • Rodrigo Vivi's avatar
      Revert "drm/i915: Enable semaphores on BDW" · be71eabe
      Rodrigo Vivi authored
      This reverts commit 521e62e4.
      
      Although POST_SYNC brought a bit of stability to Semaphores on BDW
      it didn't solved all issues and some hungs can still occour when
      semaphores are enabled on BDW. Also some sloweness can be found on some
      igt tests, althoguth it apparently doesn't affect real workloads.
      
      Besides that, no real performance gain was found on our tests with different
      and even multiple workloads.
      
      Let's disable it again for now. At least until we are sure it is safe
      to re-enable it.
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      be71eabe
    • Jiri Kosina's avatar
      drm/i915: read HEAD register back in init_ring_common() to enforce ordering · ece4a17d
      Jiri Kosina authored
      Withtout this, ring initialization fails reliabily during resume with
      
      	[drm:init_ring_common] *ERROR* render ring initialization failed ctl 0001f001 head ffffff8804 tail 00000000 start 000e4000
      
      This is not a complete fix, but it is verified to make the ring
      initialization failures during resume much less likely.
      
      We were not able to root-cause this bug (likely HW-specific to Gen4 chips)
      yet. This is therefore used as a ducttape before problem is fully
      understood and proper fix created, so that people don't suffer from
      completely unusable systems in the meantime.
      
      The discussion and debugging is happening at
      
      	https://bugs.freedesktop.org/show_bug.cgi?id=76554Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      ece4a17d
    • Rafael Barbalho's avatar
      drm/i915: Fix crash when failing to parse MIPI VBT · ed3b6679
      Rafael Barbalho authored
      This particular nasty presented itself while trying to register the
      intelfb device (intel_fbdev.c). During the process of registering the device
      the driver will disable the crtc via i9xx_crtc_disable. These will
      also disable the panel using the generic mipi panel functions in
      dsi_mod_vbt_generic.c. The stale MIPI generic data sequence pointers would
      cause a crash within those functions. However, all of this is happening
      while console_lock is held from do_register_framebuffer inside fbcon.c. Which
      means that you got kernel log and just the device appearing to reboot/hang for
      no apparent reason.
      
      The fault started from the FB_EVENT_FB_REGISTERED event using the
      fb_notifier_call_chain call in fbcon.c.
      
      This regression has been introduced in
      
      commit d3b542fc
      Author: Shobhit Kumar <shobhit.kumar@intel.com>
      Date:   Mon Apr 14 11:00:34 2014 +0530
      
          drm/i915: Add parsing support for new MIPI blocks in VBT
      
      Cc: Shobhit Kumar <shobhit.kumar@intel.com>
      Signed-off-by: default avatarRafael Barbalho <rafael.barbalho@intel.com>
      Reviewed-by: default avatarShobhit Kumar <shobhit.kumar@intel.com>
      [danvet: Add regression citation.]
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      ed3b6679
    • Linus Torvalds's avatar
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · a7d7a143
      Linus Torvalds authored
      Pull DRM updates from Dave Airlie:
       "Like all good pull reqs this ends with a revert, so it must mean we
        tested it,
      
      [ Ed. That's _one_ way of looking at it ]
      
        This pull is missing nouveau, Ben has been stuck trying to track down
        a very longstanding bug that revealed itself due to some other
        changes.  I've asked him to send you a direct pull request for nouveau
        once he cleans things up.  I'm away until Monday so don't want to
        delay things, you can make a decision on that when he sends it, I have
        my phone so I can ack things just not really merge much.
      
        It has one trivial conflict with your tree in armada_drv.c, and also
        the pull request contains some component changes that are already in
        your tree, the base tree from Russell went via Greg's tree already,
        but some stuff still shows up in here that doesn't when I merge my
        tree into yours.
      
        Otherwise all pretty standard graphics fare, one new driver and
        changes all over the place.
      
        New drivers:
         - sti kms driver for STMicroelectronics chipsets stih416 and stih407.
      
        core:
         - lots of cleanups to the drm core
         - DP MST helper code merged
         - universal cursor planes.
         - render nodes enabled by default
      
        panel:
         - better panel interfaces
         - new panel support
         - non-continuous cock advertising ability
      
        ttm:
         - shrinker fixes
      
        i915:
         - hopefully ditched UMS support
         - runtime pm fixes
         - psr tracking and locking - now enabled by default
         - userptr fixes
         - backlight brightness fixes
         - MST support merged
         - runtime PM for dpms
         - primary planes locking fixes
         - gen8 hw semaphore support
         - fbc fixes
         - runtime PM on SOix sleep state hw.
         - mmio base page flipping
         - lots of vlv/chv fixes.
         - universal cursor planes
      
        radeon:
         - Hawaii fixes
         - display scalar support for non-fixed mode displays
         - new firmware format support
         - dpm on more asics by default
         - GPUVM improvements
         - uncached and wc GTT buffers
         - BOs > visible VRAM
      
        exynos:
         - i80 interface support
         - module auto-loading
         - ipp driver consolidated.
      
        armada:
         - irq handling in crtc layer only
         - crtc renumbering
         - add component support
         - DT interaction changes.
      
        tegra:
         - load as module fixes
         - eDP bpp and sync polarity fixed
         - DSI non-continuous clock mode support
         - better support for importing buffers from nouveau
      
        msm:
         - mdp5/adq8084 v1.3 hw enablement
         - devicetree clk changse
         - ifc6410 board working
      
        tda998x:
         - component support
         - DT documentation update
      
        vmwgfx:
         - fix compat shader namespace"
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (551 commits)
        Revert "drm: drop redundant drm_file->is_master"
        drm/panel: simple: Use devm_gpiod_get_optional()
        drm/dsi: Replace upcasting macro by function
        drm/panel: ld9040: Replace upcasting macro by function
        drm/exynos: dp: Modify driver to support drm_panel
        drm/exynos: Move DP setup into commit()
        drm/panel: simple: Add AUO B133HTN01 panel support
        drm/panel: simple: Support delays in panel functions
        drm/panel: simple: Add proper definition for prepare and unprepare
        drm/panel: s6e8aa0: Add proper definition for prepare and unprepare
        drm/panel: ld9040: Add proper definition for prepare and unprepare
        drm/tegra: Add support for panel prepare and unprepare routines
        drm/exynos: dsi: Add support for panel prepare and unprepare routines
        drm/exynos: dpi: Add support for panel prepare and unprepare routines
        drm/panel: simple: Add dummy prepare and unprepare routines
        drm/panel: s6e8aa0: Add dummy prepare and unprepare routines
        drm/panel: ld9040: Add dummy prepare and unprepare routines
        drm/panel: Provide convenience wrapper for .get_modes()
        drm/panel: add .prepare() and .unprepare() functions
        drm/panel: simple: Remove simple-panel compatible
        ...
      a7d7a143
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds · 43c40df2
      Linus Torvalds authored
      Pull LED updates from Bryan Wu:
       "This cycle we got:
         - a fix of attribute-creation race for the whole leds subsystem
         - new drivers (HID:GT683R, leds-ipaq-micro)
         - other fixing and clean up"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: (23 commits)
        leds: ipaq-micro: fix sparse non static symbol warning
        leds: add driver for the iPAQ micro
        Documentation: dts: tcs6507: Fix wrong statement about #gpio-cells
        leds: convert blink timer to workqueue
        leds:pca963x: Update for PCA9635 and correct statement about MODE2 OUTDRV default
        leds:pca963x: Always initialize MODE2 register
        leds:pca963x: Add support for PCA9635 LED driver chip
        HID: gt683r: move mode attribute to led-class devices
        HID: gt683r: fix race condition
        HID: add support for MSI GT683R led panels
        leds: lp55xx-common: fix attribute-creation race
        leds: lp55xx-common: fix sysfs entry leak
        input: lm8323: fix attribute-creation race
        leds: wm831x-status: fix attribute-creation race
        leds: ss4200: fix attribute-creation race
        leds: ns2: fix attribute-creation race
        leds: netxbig: fix attribute-creation race
        leds: max8997: fix attribute-creation race
        leds: lm3642: fix attribute-creation race
        leds: lm355x: fix attribute-creation race
        ...
      43c40df2
    • Linus Torvalds's avatar
      Merge tag 'backlight-for-linus-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 7385d6fd
      Linus Torvalds authored
      Pull backlight changes from Lee Jones:
        Changes to existing drivers:
         - remove get brightness implementations in via-pmu-backlight
           samsung-q10 aat2870_bl ams369fg06 bd6107 gpio_backlight ld9040
           lp855x_bl lp8788_bl lv5207lp pandora_bl pwm_bl s6e63m0 tps65217_bl
           aty128fb atyfb_base radeon_backlight s6e8ax0 nv_backlight
           riva/fbdev
         - improve error handling in jornada720_lcd
         - make use of new 'get optional' GPIO command in pwm_bl
         - fix sparse warning in ipaq_micro_bl
      
        New drivers/supported devices:
         - new driver for iPAQ"
      
      * tag 'backlight-for-linus-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: ipaq_micro: Fix sparse non static symbol warning
        backlight: Add driver for iPAQ micro backlight
        backlight: pwm-backlight: Use devm_gpiod_get_optional()
        backlight: jornada720: Minimise code duplication and handle errors better
        backlight: Show brightness even if get_brightness is not implemented
        backlight: Remove trivial get_brightness implementations
      7385d6fd
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v3.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · e0b8b786
      Linus Torvalds authored
      Pull pinctrl updates from Linus Walleij:
       "This is the bulk pin control changes for the v3.17 merge development
        cycle:
      
         - get rid of the .disable() callback from the driver callback vtable.
      
           This callback was abused and counterintuitive since a pin or group
           of pins can be said to always be in some setting, and never really
           disabled.  We now only enable a certain muxing, and move between
           some certain muxings, we never "disable" a mux setting
      
         - some janitorial moving the MSM, Samsung and Nomadik and drivers to
           their own subdirectories for a clearer view in the subsystem.  This
           will continue
      
         - kill off the use of the return value from gpiochip_remove(), this
           will be done in parallel in the GPIO subsystem and hopefully not
           trigger too many unchecked return value warnings before we get rid
           of this altogether
      
         - a huge set of changes and improvements to the Allwinner sunxi
           drivers especially for their latest A23 and A31 SoCs, and some
           ground work for the new sun8i platform family
      
         - a large set of Rockchip driver improvements adding support for the
           RK3288 SoC
      
         - advances in migration of older Freescale platforms to pin control,
           especially i.MX1
      
         - Samsung and Exynos improvements
      
         - support for the Qualcomm MSM8960 SoC
      
         - use the gpiolib irqchip helpers for the ST SPEAr and Intel Baytrail
           drivers
      
         - a bunch of nice janitorial work done with cppcheck"
      
      * tag 'pinctrl-v3.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (61 commits)
        pinctrl: baytrail: Convert to use gpiolib irqchip
        pinctrl: sunxi: number gpio ranges starting from 0
        pinctrl: sunxi: use gpiolib API to mark a GPIO used as an IRQ
        pinctrl: rockchip: add drive-strength control for rk3288
        pinctrl: rockchip: add separate type for rk3288
        pinctrl: rockchip: set is_generic in pinconf_ops
        pinctrl: msm: drop negativity check on unsigned value
        pinctrl: remove all usage of gpio_remove ret val in driver/pinctl
        pinctrl: qcom: Make muxing of gpio function explicit
        pinctrl: nomadik: move all Nomadik drivers to subdir
        pinctrl: samsung: Group all drivers in a sub-dir
        sh-pfc: sh73a0: Introduce the use of devm_regulator_register
        sh-pfc: Add renesas,pfc-r8a7791 to binding documentation
        pinctrl: msm: move all qualcomm drivers to subdir
        pinctrl: msm: Add msm8960 definitions
        pinctrl: samsung: Allow pin value to be initialized using pinfunc
        pinctrl: samsung: Allow grouping multiple pinmux/pinconf nodes
        pinctrl: exynos: Consolidate irq_chips of GPIO and WKUP EINTs
        pinctrl: samsung: Handle GPIO request and free using pinctrl helpers
        pinctrl: samsung: Decouple direction setting from pinctrl
        ...
      e0b8b786
    • Linus Torvalds's avatar
      Merge tag 'mfd-for-linus-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 54c72d59
      Linus Torvalds authored
      Pull MFD update from Lee Jones:
       "Changes to existing drivers:
         - checkpatch fixes throughout the subsystem
         - use Regmap to handle IRQs in max77686, extcon-max77693 and
           mc13xxx-core
         - use DMA in rtsx_pcr
         - restrict building on unsupported architectures on timberdale,
           cs5535
         - SPI hardening in cros_ec_spi
         - more robust error handing in asic3, cros_ec, ab8500-debugfs,
           max77686 and pcf50633-core
         - reorder PM runtime and regulator handing during shutdown in arizona
         - enable wakeup in cros_ec_spi
         - unused variable/code clean-up in pm8921-core, cros_ec, htc-i2cpld,
           tps65912-spi, wm5110-tables and ab8500-debugfs
         - add regulator handing into suspend() in sec-core
         - remove pointless wrapper functions in extcon-max77693 and
           i2c-cros-ec-tunnel
         - use cross-architecture friendly data sizes in stmpe-i2c, arizona,
           max77686 and tps65910
         - devicetree documentation updates throughout
         - provide power management support in max77686
         - few OF clean-ups in max77686
         - use manged resources in tps6105x
      
        New drivers/supported devices:
         - add support for s2mpu02 to sec-core
         - add support for Allwinner A32 to sun6i-prcm
         - add support for Maxim 77802 in max77686
         - add support for DA9063 AD in da9063
         - new driver for Intel PMICs (generic) and specifically Crystal Cove
      
        (Re-)moved drivers ==
         - move out keyboard functionality cros_ec ==> input/keyboard/cros_ec_keyb"
      
      * tag 'mfd-for-linus-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (101 commits)
        MAINTAINERS: Update MFD repo location
        mfd: omap-usb-host: Fix improper mask use.
        mfd: arizona: Only free the CTRLIF_ERR IRQ if we requested it
        mfd: arizona: Add missing handling for ISRC3 under/overclocked
        mfd: wm5110: Add new interrupt register definitions
        mfd: arizona: Rename thermal shutdown interrupt
        mfd: wm5110: Add in the output done interrupts
        mfd: wm5110: Remove non-existant interrupts
        mfd: tps65912-spi: Remove unused variable
        mfd: htc-i2cpld: Remove unused code
        mfd: da9063: Add support for AD silicon variant
        mfd: arizona: Map MICVDD from extcon device to the Arizona core
        mfd: arizona: Add MICVDD to mapped regulators for wm8997
        mfd: max77686: Ensure device type IDs are architecture agnostic
        mfd: max77686: Add Maxim 77802 PMIC support
        mfd: tps6105x: Use managed resources when allocating memory
        mfd: wm8997-tables: Suppress 'line over 80 chars' warnings
        mfd: kempld-core: Correct a variety of checkpatch warnings
        mfd: ipaq-micro: Fix coding style errors/warnings reported by checkpatch
        mfd: si476x-cmd: Remedy checkpatch style complains
        ...
      54c72d59
  2. 07 Aug, 2014 24 commits
    • Olof Johansson's avatar
      Merge branch 'next/fixes-non-critical' into next/cleanup · c4846a78
      Olof Johansson authored
      Merging in the few fixes we had also received, no need to keep those in
      a separate branch.
      
      * next/fixes-non-critical:
        drivers: CCI: Correct use of ! and &
        MAINTAINERS: Add sdhci-st file to ARCH/STI architecture
        ARM: EXYNOS: Fix build breakge with PM_SLEEP=n
        ARM: omap2+: gpmc-nand: Use dynamic platform_device_alloc()
        omap16xx: Removes fixme no longer needed in ocpi_enable()
        ARM: dts: OMAP5: Add device nodes for ABB
        ARM: omap2+: usb-tusb6010.c: Cleaning up variable is set more than once
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      c4846a78
    • Dave Airlie's avatar
      Revert "drm: drop redundant drm_file->is_master" · 7963e9db
      Dave Airlie authored
      This reverts commit 48ba8137.
      
      Thanks to Chris:
      "drm_file->is_master is not synomous with having drm_file->master ==
      drm_file->minor->master. This is because drm_file->master is the same
      for all drm_files of the same generation and so when there is a master,
      every drm_file believes itself to be the master. Confusion ensues and
      things go pear shaped when one file is closed and there is no master
      anymore."
      
      Conflicts:
      	drivers/gpu/drm/drm_drv.c
      	drivers/gpu/drm/drm_stub.c
      7963e9db
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 66bb0aa0
      Linus Torvalds authored
      Pull second round of KVM changes from Paolo Bonzini:
       "Here are the PPC and ARM changes for KVM, which I separated because
        they had small conflicts (respectively within KVM documentation, and
        with 3.16-rc changes).  Since they were all within the subsystem, I
        took care of them.
      
        Stephen Rothwell reported some snags in PPC builds, but they are all
        fixed now; the latest linux-next report was clean.
      
        New features for ARM include:
         - KVM VGIC v2 emulation on GICv3 hardware
         - Big-Endian support for arm/arm64 (guest and host)
         - Debug Architecture support for arm64 (arm32 is on Christoffer's todo list)
      
        And for PPC:
         - Book3S: Good number of LE host fixes, enable HV on LE
         - Book3S HV: Add in-guest debug support
      
        This release drops support for KVM on the PPC440.  As a result, the
        PPC merge removes more lines than it adds.  :)
      
        I also included an x86 change, since Davidlohr tied it to an
        independent bug report and the reporter quickly provided a Tested-by;
        there was no reason to wait for -rc2"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (122 commits)
        KVM: Move more code under CONFIG_HAVE_KVM_IRQFD
        KVM: nVMX: fix "acknowledge interrupt on exit" when APICv is in use
        KVM: nVMX: Fix nested vmexit ack intr before load vmcs01
        KVM: PPC: Enable IRQFD support for the XICS interrupt controller
        KVM: Give IRQFD its own separate enabling Kconfig option
        KVM: Move irq notifier implementation into eventfd.c
        KVM: Move all accesses to kvm::irq_routing into irqchip.c
        KVM: irqchip: Provide and use accessors for irq routing table
        KVM: Don't keep reference to irq routing table in irqfd struct
        KVM: PPC: drop duplicate tracepoint
        arm64: KVM: fix 64bit CP15 VM access for 32bit guests
        KVM: arm64: GICv3: mandate page-aligned GICV region
        arm64: KVM: GICv3: move system register access to msr_s/mrs_s
        KVM: PPC: PR: Handle FSCR feature deselects
        KVM: PPC: HV: Remove generic instruction emulation
        KVM: PPC: BOOKEHV: rename e500hv_spr to bookehv_spr
        KVM: PPC: Remove DCR handling
        KVM: PPC: Expose helper functions for data/inst faults
        KVM: PPC: Separate loadstore emulation from priv emulation
        KVM: PPC: Handle magic page in kvmppc_ld/st
        ...
      66bb0aa0
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.17-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · e306e3be
      Linus Torvalds authored
      Pull Xen updates from David Vrabel:
       - remove unused V2 grant table support
       - note that Konrad is xen-blkkback/front maintainer
       - add 'xen_nopv' option to disable PV extentions for x86 HVM guests
       - misc minor cleanups
      
      * tag 'stable/for-linus-3.17-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen-pciback: Document the 'quirks' sysfs file
        xen/pciback: Fix error return code in xen_pcibk_attach()
        xen/events: drop negativity check of unsigned parameter
        xen/setup: Remove Identity Map Debug Message
        xen/events/fifo: remove a unecessary use of BM()
        xen/events/fifo: ensure all bitops are properly aligned even on x86
        xen/events/fifo: reset control block and local HEADs on resume
        xen/arm: use BUG_ON
        xen/grant-table: remove support for V2 tables
        x86/xen: safely map and unmap grant frames when in atomic context
        MAINTAINERS: Make me the Xen block subsystem (front and back) maintainer
        xen: Introduce 'xen_nopv' to disable PV extensions for HVM guests.
      e306e3be
    • Linus Torvalds's avatar
      Merge tag 'microblaze-3.17-rc1' of git://git.monstr.eu/linux-2.6-microblaze · 7f0d32e0
      Linus Torvalds authored
      Pull microblaze updates from Michal Simek:
       - add new syscall and fix comment
       - fix udelay implementation
       - fix libgcc for modules
      
      * tag 'microblaze-3.17-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Change libgcc-style functions from lib-y to obj-y
        microblaze: Wire-up renameat2 syscall
        microblaze: Add syscall number comment
        microblaze: delay.h fix udelay and ndelay for 8 bit args
      7f0d32e0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 · 8b076738
      Linus Torvalds authored
      Pull avr32 fix from Hans-Christian Egtvedt.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
        avr32: fix error return code
      8b076738
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · f536b3ca
      Linus Torvalds authored
      Pull powerpc updates from Ben Herrenschmidt:
       "This is the powerpc new goodies for 3.17.  The short story:
      
        The biggest bit is Michael removing all of pre-POWER4 processor
        support from the 64-bit kernel.  POWER3 and rs64.  This gets rid of a
        ton of old cruft that has been bitrotting in a long while.  It was
        broken for quite a few versions already and nobody noticed.  Nobody
        uses those machines anymore.  While at it, he cleaned up a bunch of
        old dusty cabinets, getting rid of a skeletton or two.
      
        Then, we have some base VFIO support for KVM, which allows assigning
        of PCI devices to KVM guests, support for large 64-bit BARs on
        "powernv" platforms, support for HMI (Hardware Management Interrupts)
        on those same platforms, some sparse-vmemmap improvements (for memory
        hotplug),
      
        There is the usual batch of Freescale embedded updates (summary in the
        merge commit) and fixes here or there, I think that's it for the
        highlights"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (102 commits)
        powerpc/eeh: Export eeh_iommu_group_to_pe()
        powerpc/eeh: Add missing #ifdef CONFIG_IOMMU_API
        powerpc: Reduce scariness of interrupt frames in stack traces
        powerpc: start loop at section start of start in vmemmap_populated()
        powerpc: implement vmemmap_free()
        powerpc: implement vmemmap_remove_mapping() for BOOK3S
        powerpc: implement vmemmap_list_free()
        powerpc: Fail remap_4k_pfn() if PFN doesn't fit inside PTE
        powerpc/book3s: Fix endianess issue for HMI handling on napping cpus.
        powerpc/book3s: handle HMIs for cpus in nap mode.
        powerpc/powernv: Invoke opal call to handle hmi.
        powerpc/book3s: Add basic infrastructure to handle HMI in Linux.
        powerpc/iommu: Fix comments with it_page_shift
        powerpc/powernv: Handle compound PE in config accessors
        powerpc/powernv: Handle compound PE for EEH
        powerpc/powernv: Handle compound PE
        powerpc/powernv: Split ioda_eeh_get_state()
        powerpc/powernv: Allow to freeze PE
        powerpc/powernv: Enable M64 aperatus for PHB3
        powerpc/eeh: Aux PE data for error log
        ...
      f536b3ca
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · e6698305
      Linus Torvalds authored
      Pull MIPS updates from Ralf Baechle:
       "This is the main pull request for 3.17.  It contains:
      
         - misc Cavium Octeon, BCM47xx, BCM63xx and Alchemy  updates
         - MIPS ptrace updates and cleanups
         - various fixes that will also go to -stable
         - a number of cleanups and small non-critical fixes.
         - NUMA support for the Loongson 3.
         - more support for MSA
         - support for MAAR
         - various FP enhancements and fixes"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (139 commits)
        MIPS: jz4740: remove unnecessary null test before debugfs_remove
        MIPS: Octeon: remove unnecessary null test before debugfs_remove_recursive
        MIPS: ZBOOT: implement stack protector in compressed boot phase
        MIPS: mipsreg: remove duplicate MIPS_CONF4_FTLBSETS_SHIFT
        MIPS: Bonito64: remove a duplicate define
        MIPS: Malta: initialise MAARs
        MIPS: Initialise MAARs
        MIPS: detect presence of MAARs
        MIPS: define MAAR register accessors & bits
        MIPS: mark MSA experimental
        MIPS: Don't build MSA support unless it can be used
        MIPS: consistently clear MSA flags when starting & copying threads
        MIPS: 16 byte align MSA vector context
        MIPS: disable preemption whilst initialising MSA
        MIPS: ensure MSA gets disabled during boot
        MIPS: fix read_msa_* & write_msa_* functions on non-MSA toolchains
        MIPS: fix MSA context for tasks which don't use FP first
        MIPS: init upper 64b of vector registers when MSA is first used
        MIPS: save/disable MSA in lose_fpu
        MIPS: preserve scalar FP CSR when switching vector context
        ...
      e6698305
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · ebb067d2
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
       "Mostly cleanups and bug-fixes, with two exceptions.
      
        The first is lazy flushing of I/O-TLBs for PCI to improve performance,
        the second is software dirty bits in the pmd for the madvise-free
        implementation"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (24 commits)
        s390/locking: Reenable optimistic spinning
        s390/mm: implement dirty bits for large segment table entries
        KVM: s390/mm: Fix page table locking vs. split pmd lock
        s390/dasd: fix camel case
        s390/3215: fix hanging console issue
        s390/irq: improve displayed interrupt order in /proc/interrupts
        s390/seccomp: fix error return for filtered system calls
        s390/pci: introduce lazy IOTLB flushing for DMA unmap
        dasd: fix error recovery for alias devices during format
        dasd: fix list_del corruption during format
        dasd: fix unresponsive device during format
        dasd: use aliases for formatted devices during format
        s390/pci: fix kmsg component
        s390/kdump: Return NOTIFY_OK for all actions other than MEM_GOING_OFFLINE
        s390/watchdog: Fix module name in Kconfig help text
        s390/dasd: replace seq_printf by seq_puts
        s390/dasd: replace pr_warning by pr_warn
        s390/dasd: Move EXPORT_SYMBOL after function/variable
        s390/dasd: remove unnecessary null test before debugfs_remove
        s390/zfcp: use qdio buffer helpers
        ...
      ebb067d2
    • Julia Lawall's avatar
      avr32: fix error return code · 686913aa
      Julia Lawall authored
      Convert a zero return value on error to a negative one, as returned
      elsewhere in the function.
      
      A simplified version of the semantic match that finds this problem is as
      follows: (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @@
      identifier ret; expression e1,e2;
      @@
      (
      if (\(ret < 0\|ret != 0\))
       { ... return ret; }
      |
      ret = 0
      )
      ... when != ret = e1
          when != &ret
      *if(...)
      {
        ... when != ret = e2
            when forall
       return ret;
      }
      // </smpl>
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Acked-by: default avatarHans-Christian Egtvedt <egtvedt@samfundet.no>
      686913aa
    • Deepak S's avatar
      drm/i915: Bring GPU Freq to min while suspending. · 274fa1c1
      Deepak S authored
      We might be leaving the PGU Frequency (and thus vnn) high during the suspend.
      Flusing the delayed work queue should take care of this.
      Signed-off-by: default avatarDeepak S <deepak.s@linux.intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      274fa1c1
    • Rodrigo Vivi's avatar
      drm/i915: Fix DEIER and GTIER collecting for BDW. · 885ea5a8
      Rodrigo Vivi authored
      BDW has many other Display Engine interrupts and GT interrupts registers.
      Collecting it properly on gpu_error_state.
      
      On debugfs all was properly listed already but besides we were also listing old
      DEIER and GTIER that doesn't exist on BDW anymore. This was causing
      unclaimed register messages
      
      v2: Fix small issues of first version and don't read DEIER regs when pipe's
          power well is disabled
      v3: bikeshed accepted: use enum pipe pipe instead of int i for pipe interection
      v4: Ben notice previous version was checking for display_power_enabled without
          using propper locks. Using _unlocked version isn't reliable and we cannot
          get this registers when power well is off. So let's avoid getting all DE_IER
          per pipe for now. If someone think this is an useful information it can be
          added later.
      v5: Ben: put back debugfs stuff that might be coverred by pm_get and use
          	 gen >= 8 trying to predict future.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81701
      Cc: Ben Widawsky <ben@bwidawsk.net>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: default avatarBen Widawsky <ben@bwidawsk.net>
      Reviewed-by: default avatar(v3) Paulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      885ea5a8
    • Mika Kuoppala's avatar
      drm/i915: Don't accumulate hangcheck score on forward progress · f260fe7b
      Mika Kuoppala authored
      If the actual head has progressed forward inside a batch (request),
      don't accumulate hangcheck score.
      
      As the hangcheck score in increased only by acthd jumping backwards,
      the result is that we only declare an active batch as stuck if it is
      trapped inside a loop. Or that the looping will dominate the batch
      progression so that it overcomes the bonus that forward progress gives.
      
      v2: Improved commit message (Chris Wilson)
      Signed-off-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
      [danvet: s/active_loop/active (loop)/ as requested by Chris.]
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      f260fe7b
    • Kenneth Graunke's avatar
      drm/i915: Add the WaCsStallBeforeStateCacheInvalidate:bdw workaround. · 02c9f7e3
      Kenneth Graunke authored
      On Broadwell, any PIPE_CONTROL with the "State Cache Invalidate" bit set
      must be preceded by a PIPE_CONTROL with the "CS Stall" bit set.
      
      Documented on the BSpec 3D workarounds page.
      Reviewed-by: default avatarRafael Barbalho <rafael.barbalho@intel.com>
      Signed-off-by: default avatarKenneth Graunke <kenneth@whitecape.org>
      [vsyrjala: add chv w/a note too]
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      02c9f7e3
    • Kenneth Graunke's avatar
      drm/i915: Refactor Broadwell PIPE_CONTROL emission into a helper. · 884ceace
      Kenneth Graunke authored
      We'll want to reuse this for a workaround.
      Signed-off-by: default avatarKenneth Graunke <kenneth@whitecape.org>
      Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      [danvet: Rmove now unused int.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      884ceace
    • Dave Airlie's avatar
      Merge tag 'drm/tegra/for-3.17-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next · fa1d0ee6
      Dave Airlie authored
      drm/tegra: Changes for v3.17-rc1
      
      Mostly some cleanup all over the place. Pitch alignment limitations of
      the display controller are now honored and job submission is 64-bit
      safe.
      
      The SOR output (used for eDP) properly configures sync signal polarities
      according to the display mode rather than hard-coding them to some value
      and the number of bits per color is now taken from the panel rather than
      hard-coded to properly support 24-bit vs. 18-bit panels.
      
      The DSI controller now properly supports non-continuous clock mode.
      
      GEM objects can now have their flags and tiling mode modified via IOCTLs
      to allow buffers imported from Nouveau to be properly displayed. Newer
      generations of the Tegra display controller can also detile block linear
      buffers at scan-out time.
      
      Finally the driver now properly exports MODULE_DEVICE_TABLEs to allow it
      to be automatically loaded when built as a module.
      
      * tag 'drm/tegra/for-3.17-rc1' of git://anongit.freedesktop.org/tegra/linux:
        drm/tegra: add MODULE_DEVICE_TABLEs
        drm/tegra: dc - Reset controller on driver remove
        drm/tegra: Properly align stride for framebuffers
        drm/tegra: sor - Configure proper sync polarities
        drm/tegra: sor - Use bits-per-color from panel
        drm/tegra: Make job submission 64-bit safe
        drm/tegra: Allow non-authenticated processes to create buffer objects
        drm/tegra: Add SET/GET_FLAGS IOCTLs
        drm/tegra: Add SET/GET_TILING IOCTLs
        drm/tegra: Implement more tiling modes
        drm/tegra: dsi - Handle non-continuous clock flag
        drm/tegra: sor - missing unlock on error
      fa1d0ee6
    • Dave Airlie's avatar
      Merge tag 'drm/panel/for-3.17-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next · 0c6287ec
      Dave Airlie authored
      drm/panel: Changes for v3.17-rc1
      
      Panels can now be more finely controlled via .prepare() and .unprepare()
      callbacks in addition to .enable() and .disable(). New kerneldoc details
      what they are supposed to do and when they should be called.
      
      The simple panel driver gained support for a couple of new panels and it
      is now possible to specify additional delays during power up and power
      down sequences if panels require it.
      
      DSI devices can now advertise that they support non-continuous clock
      mode which will allow DSI host controllers to disable the high speed
      clock after transmissions to save power.
      
      * tag 'drm/panel/for-3.17-rc1' of git://anongit.freedesktop.org/tegra/linux: (30 commits)
        drm/panel: simple: Use devm_gpiod_get_optional()
        drm/dsi: Replace upcasting macro by function
        drm/panel: ld9040: Replace upcasting macro by function
        drm/exynos: dp: Modify driver to support drm_panel
        drm/exynos: Move DP setup into commit()
        drm/panel: simple: Add AUO B133HTN01 panel support
        drm/panel: simple: Support delays in panel functions
        drm/panel: simple: Add proper definition for prepare and unprepare
        drm/panel: s6e8aa0: Add proper definition for prepare and unprepare
        drm/panel: ld9040: Add proper definition for prepare and unprepare
        drm/tegra: Add support for panel prepare and unprepare routines
        drm/exynos: dsi: Add support for panel prepare and unprepare routines
        drm/exynos: dpi: Add support for panel prepare and unprepare routines
        drm/panel: simple: Add dummy prepare and unprepare routines
        drm/panel: s6e8aa0: Add dummy prepare and unprepare routines
        drm/panel: ld9040: Add dummy prepare and unprepare routines
        drm/panel: Provide convenience wrapper for .get_modes()
        drm/panel: add .prepare() and .unprepare() functions
        drm/panel: simple: Remove simple-panel compatible
        drm/panel: simple: Add Innolux N116BGE panel support
        ...
      0c6287ec
    • Ville Syrjälä's avatar
      drm/i915: Fix threshold for choosing 32 vs. 64 precisions for VLV DDL values · 69bbeb4a
      Ville Syrjälä authored
      The DDL registers can hold 7bit numbers. Make the most of those seven
      bits by adjusting the threshold where we switch between the 64 vs. 32
      precision multipliers.
      
      Also we compute 'entries' to make the decision about precision, and then
      we recompute the same value to calculate the actual drain latency. Just
      use the already calculate 'entries' there.
      Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      69bbeb4a
    • Zhenyu Wang's avatar
    • Rodrigo Vivi's avatar
      drm/i915: Collect gtier properly on HSW. · 843db716
      Rodrigo Vivi authored
      GTIER and DEIER doesn't have same interface on HSW so this "or" operation
      makes the information provided useless.
      
      v2: since we have gtier variable already let's split for everybody
      and avoid the strange | op.
          Also avoid overriding the value that was set for vlv. In this case I
          believe that we should reorganize the whole function, but I'll respect
          the comment that ask to not touch the order and let this organization
          work to be done later.
      v3: moving VLV check to the right place.
      
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      843db716
    • Daniel Vetter's avatar
      drm/i915: Tune down MCH_SSKPD values warning · df662a28
      Daniel Vetter authored
      Users often can't do anything about this since their vendors stopped
      providing BIOS updates. Also we seem to be able to hack around it
      with increased latency values, and thus far the only reports have
      been for screens with really high resolutions. So tune it down to a
      level where only developers can see it.
      
      Also drop some of the end-user fluff.
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      df662a28
    • Daniel Vetter's avatar
      drm/i915: Tune done rc6 enabling output · 8dfd1f04
      Daniel Vetter authored
      Power users spot this and then get adventurous and try to adjust
      module driver options. Nothing good ever came out of that, so
      hide it better.
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      8dfd1f04
    • Daniel Vetter's avatar
      drm/i915: Don't require dev->struct_mutex in psr_match_conditions · cba38bfc
      Daniel Vetter authored
      Since I've reworked psr support to no longer require x-tiling we don't
      check any state protected by the Giant GEM Lock. So drop that check.
      
      Also boo for lockdep_assert_held for not yelling when lockdep is
      disabled.
      
      Cc: Paulo Zanoni <przanoni@gmail.com>
      Reported-by: default avatarPaulo Zanoni <przanoni@gmail.com>
      Acked-by: default avatarPaulo Zanoni <przanoni@gmail.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      cba38bfc
    • Rodrigo Vivi's avatar
      drm/i915: Fix error state collecting · 864c6181
      Rodrigo Vivi authored
      Fix signal_offset when recording semaphore state on BDW.
      Reviewed-by: default avatarBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      864c6181