1. 26 Jan, 2015 11 commits
    • Bob Paauwe's avatar
      drm/i915: Only fence tiled region of object. · af1a7301
      Bob Paauwe authored
      When creating a fence for a tiled object, only fence the area that
      makes up the actual tiles.  The object may be larger than the tiled
      area and if we allow those extra addresses to be fenced, they'll
      get converted to addresses beyond where the object is mapped. This
      opens up the possiblity of writes beyond the end of object.
      
      To prevent this, we adjust the size of the fence to only encompass
      the area that makes up the actual tiles.  The extra space is considered
      un-tiled and now behaves as if it was a linear object.
      
      Testcase: igt/gem_tiled_fence_overflow
      Reported-by: default avatarDan Hettena <danh@ghs.com>
      Signed-off-by: default avatarBob Paauwe <bob.j.paauwe@intel.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      af1a7301
    • Jeremiah Mahler's avatar
      drm/i915: fix inconsistent brightness after resume · 13f3fbe8
      Jeremiah Mahler authored
      commit 6dda730e
      Author: Jani Nikula <jani.nikula@intel.com>
      Date:   Tue Jun 24 18:27:40 2014 +0300
      
          drm/i915: respect the VBT minimum backlight brightness
      
      introduced a bug which resulted in inconsistent brightness levels on
      different machines. If a suspended was entered with the screen off some
      machines would resume with the screen at minimum brightness and others
      at maximum brightness.
      
      The following commands can be used to produce this behavior.
      
        xset dpms force off
        sleep 1
        sudo systemctl suspend
        (resume ...)
      
      The root cause of this problem is a comparison which checks to see if
      the backlight level is zero when the panel is enabled.  If it is zero,
      it is set to the maximum level.  Unfortunately, not all machines have a
      minimum level of zero. On those machines the level is left at the
      minimum instead of begin set to the maximum.
      
      Fix the bug by updating the comparison to check for the minimum
      backlight level instead of zero.  Also, expand the comparison for
      the possible case when the level is less than the minimum.
      
      Fixes: 6dda730e ("respect the VBT minimum backlight brightness")
      Signed-off-by: default avatarJeremiah Mahler <jmmahler@gmail.com>
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      13f3fbe8
    • David Woodhouse's avatar
      drm/i915: Init PPGTT before context enable · f48a0165
      David Woodhouse authored
      Commit 82460d97 ("drm/i915: Rework ppgtt init to no require an aliasing
      ppgtt") introduced a regression on Broadwell, triggering the following
      IOMMU fault at startup:
      
        vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
        dmar: DRHD: handling fault status reg 2
        dmar: DMAR:[DMA Write] Request device [00:02.0] fault addr 880000
        DMAR:[fault reason 23] Unknown
        fbcon: inteldrmfb (fb0) is primary device
      
      Further commentary from Daniel:
      
      I sugggested this change to David after staring at the offending patch
      for a while. I have no idea and theory whatsoever why this would upset
      the gpu less than the other way round. But it seems to work. David
      promised to chase hw people a bit more to get a more meaningful answer.
      
      Wrt the comment that this deletes: I've done some digging and afaict
      loading context before ppgtt enable was once required before our recent
      restructuring of the context/ppgtt init code: Before that context sw
      setup (i.e. allocating the default context) and hw setup was smashed
      together.  Also the setup of the default context was the bit that
      actually allocated the aliasing ppgtt structures. Which is the reason
      for the context before ppgtt depency.
      
      Or was, since with all the untangling there's no no real depency any
      more (functional, who knows what the hw is doing), so the comment is
      just stale.
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      f48a0165
    • Linus Torvalds's avatar
      Linux 3.19-rc6 · 26bc420b
      Linus Torvalds authored
      26bc420b
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 14746306
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "Hopefully the last round of fixes for 3.19
      
         - regression fix for the LDT changes
         - regression fix for XEN interrupt handling caused by the APIC
           changes
         - regression fixes for the PAT changes
         - last minute fixes for new the MPX support
         - regression fix for 32bit UP
         - fix for a long standing relocation issue on 64bit tagged for stable
         - functional fix for the Hyper-V clocksource tagged for stable
         - downgrade of a pr_err which tends to confuse users
      
        Looks a bit on the large side, but almost half of it are valuable
        comments"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tsc: Change Fast TSC calibration failed from error to info
        x86/apic: Re-enable PCI_MSI support for non-SMP X86_32
        x86, mm: Change cachemode exports to non-gpl
        x86, tls: Interpret an all-zero struct user_desc as "no segment"
        x86, tls, ldt: Stop checking lm in LDT_empty
        x86, mpx: Strictly enforce empty prctl() args
        x86, mpx: Fix potential performance issue on unmaps
        x86, mpx: Explicitly disable 32-bit MPX support on 64-bit kernels
        x86, hyperv: Mark the Hyper-V clocksource as being continuous
        x86: Don't rely on VMWare emulating PAT MSR correctly
        x86, irq: Properly tag virtualization entry in /proc/interrupts
        x86, boot: Skip relocs when load address unchanged
        x86/xen: Override ACPI IRQ management callback __acpi_unregister_gsi
        ACPI: pci: Do not clear pci_dev->irq in acpi_pci_irq_disable()
        x86/xen: Treat SCI interrupt as normal GSI interrupt
      14746306
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4d2f0ef1
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "From the irqchip departement you get:
      
         - regression fix for omap-intc
      
         - regression fix for atmel-aic-common
      
         - functional correctness fix for hip04
      
         - type mismatch fix for gic-v3-its
      
         - proper error pointer check for mtd-sysirq
      
        Mostly one and two liners except for the omap regression fix which is
        slightly larger than desired"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip: atmel-aic-common: Prevent clobbering of priority when changing IRQ type
        irqchip: omap-intc: Fix legacy DMA regression
        irqchip: gic-v3-its: Fix use of max with decimal constant
        irqchip: hip04: Initialize hip04_cpu_map to 0xffff
        irqchip: mtk-sysirq: Use IS_ERR() instead of NULL pointer check
      4d2f0ef1
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b73f0c8f
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "A set of small fixes:
      
         - regression fix for exynos_mct clocksource
      
         - trivial build fix for kona clocksource
      
         - functional one liner fix for the sh_tmu clocksource
      
         - two validation fixes to prevent (root only) data corruption in the
           kernel via settimeofday and adjtimex.  Tagged for stable"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        time: adjtimex: Validate the ADJ_FREQUENCY values
        time: settimeofday: Validate the values of tv from user
        clocksource: sh_tmu: Set cpu_possible_mask to fix SMP broadcast
        clocksource: kona: fix __iomem annotation
        clocksource: exynos_mct: Fix bitmask regression for exynos4_mct_write
      b73f0c8f
    • Linus Torvalds's avatar
      Merge tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 71a59b12
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A week's worth of fixes for various ARM platforms.  Diff wise, the
        largest fix is for OMAP to deal with how GIC now registers interrupts
        (irq_domain_add_legacy() -> irq_domain_add_linear() changes).
      
        Besides this, a few more renesas platforms needed the GIC instatiation
        done for legacy boards.  There's also a fix that disables coherency of
        mvebu due to issues, and a few other smaller fixes"
      
      * tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm64: dts: add baud rate to Juno stdout-path
        ARM: dts: imx25: Fix PWM "per" clocks
        bus: mvebu-mbus: fix support of MBus window 13
        Merge tag 'mvebu-fixes-3.19-3' of git://git.infradead.org/linux-mvebu into fixes
        ARM: mvebu: completely disable hardware I/O coherency
        ARM: OMAP: Work around hardcoded interrupts
        ARM: shmobile: r8a7779: Instantiate GIC from C board code in legacy builds
        ARM: shmobile: r8a7778: Instantiate GIC from C board code in legacy builds
        arm: boot: dts: dra7: enable dwc3 suspend PHY quirk
      71a59b12
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 80a75554
      Linus Torvalds authored
      Pull vfs fixes from Al Viro:
       "A couple of fixes - deadlock in CIFS and build breakage in cris serial
        driver (resurfaced f_dentry in there)"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        VFS: Convert file->f_dentry->d_inode to file_inode()
        fix deadlock in cifs_ioctl_clone()
      80a75554
    • Linus Torvalds's avatar
      Merge tag 'dm-3.19-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · bfc835b5
      Linus Torvalds authored
      Pull device mapper fixes from Mike Snitzer:
       "Two stable fixes for dm-cache and one 3.19 DM core fix:
      
         - fix potential for dm-cache metadata corruption via stale metadata
           buffers being used when switching an inactive cache table to
           active; this could occur due to each table having it's own bufio
           client rather than sharing the client between tables.
      
         - fix dm-cache target to properly account for discard IO while
           suspending otherwise IO quiescing could complete prematurely.
      
         - fix DM core's handling of multiple internal suspends by maintaining
           an 'internal_suspend_count' and only resuming the device when this
           count drops to zero"
      
      * tag 'dm-3.19-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: fix handling of multiple internal suspends
        dm cache: fix problematic dual use of a single migration count variable
        dm cache: share cache-metadata object across inactive and active DM tables
      bfc835b5
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 8e908e99
      Linus Torvalds authored
      Pull two block layer fixes from Jens Axboe:
       "Two small patches that should make it into 3.19:
      
         - a fixup from me for NVMe, making the cq_vector a signed variable.
           Otherwise our -1 comparison fails, and commit 2b25d981 doesn't
           do what it was supposed to.
      
         - a fixup for the hotplug handling for blk-mq from Ming Lei, using
           the proper kobject referencing to ensure we release resources at
           the right time"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        blk-mq: fix hctx/ctx kobject use-after-free
        NVMe: cq_vector should be signed
      8e908e99
  2. 24 Jan, 2015 11 commits
  3. 23 Jan, 2015 18 commits