30 Apr, 2014

4 commits


28 Apr, 2014

3 commits


25 Apr, 2014

5 commits

  • In commit a51435a3137ad8ae75c288c39bd2d8b2696bae8f
    Author: Naresh Kumar Kachhi
    Date: Wed Mar 12 16:39:40 2014 +0530

    drm/i915: disable rings before HW status page setup

    we reordered stopping the rings to do so before we set the HWS register.
    However, there is an extra workaround for g45 to reset the rings twice,
    and for consistency we should apply that workaround before setting the
    HWS to be sure that the rings are truly stopped.

    Reference: http://lkml.kernel.org/r/20140423202248.GA3621@amd.pavel.ucw.cz
    Tested-by: Pavel Machek
    Cc: Naresh Kumar Kachhi
    Signed-off-by: Chris Wilson
    Reviewed-by: Jesse Barnes
    Signed-off-by: Daniel Vetter
    Signed-off-by: Jani Nikula

    Chris Wilson
     
  • The status bits are unconditionally set, the control bits only enable
    the actual interrupt generation. Which means if we get some random
    other interrupts we'll bogusly complain about them.

    So restrict the WARN to platforms with a sane hotplug interrupt
    handling scheme. And even more important also don't attempt to process
    the hpd bit since we've detected a storm already. Instead just clear
    the bit silently.

    This WARN has been introduced in

    commit b8f102e8bf71cacf33326360fdf9dcfd1a63925b
    Author: Egbert Eich
    Date: Fri Jul 26 14:14:24 2013 +0200

    drm/i915: Add messages useful for HPD storm detection debugging (v2)

    before that we silently handled the hpd event and so partially
    defeated the storm detection.

    v2: Pimp commit message (Jani)

    Cc: Jani Nikula
    Cc: Egbert Eich
    Cc: bitlord
    Reported-by: bitlord
    Cc: stable@vger.kernel.org
    Signed-off-by: Daniel Vetter
    Signed-off-by: Jani Nikula

    Daniel Vetter
     
  • The hw cursor is relatively adept at triggering underflows, which
    manifest as a "blue flash" (since blue is configured as the underflow
    color). Juggle a few things around to tighten up the timing for setting
    cursor registers in DONE irq.

    And most importantly, don't ever disable the hw cursor. Instead flip it
    to a blank/empty cursor. This seems far more reliable, as even simply
    clearing the cursor-enable bit (with no other updates in previous/
    following frames) can in some cases cause underflow.

    v1: original
    v2: add missing locking spotted by Micah

    Cc: Micah Richert
    Signed-off-by: Rob Clark

    Rob Clark
     
  • Since X11 is going to create an XR24 fb, if the pixel formats do not
    match then crtc helpers will think it is a full modeset even if mode is
    the same, which prevents smooth/flickerless handover from fbcon/plymouth
    to X11.

    Signed-off-by: Rob Clark

    Rob Clark
     
  • Signed-off-by: Micah Richert
    Signed-off-by: Rob Clark

    Micah Richert
     

24 Apr, 2014

4 commits

  • In Matt Ropers primary plane series a set of prep patches like

    commit af2b653bfb4ef40931b4d101ca842ce0c5da57ef
    Author: Matt Roper
    Date: Tue Apr 1 15:22:32 2014 -0700

    drm/i915: Restrict plane loops to only operate on overlay planes (v2)

    ensured that all exisiting users of the mode_config->plane_list
    wouldn't change behaviour. Unfortunately tegra seems to have fallen
    through the cracks. Fix it.

    This regression was introduced in

    commit e13161af80c185ecd8dc4641d0f5df58f9e3e0af
    Author: Matt Roper
    Date: Tue Apr 1 15:22:38 2014 -0700

    drm: Add drm_crtc_init_with_planes() (v2)

    The result was that we've unref'ed the fb for the primary plane twice,
    leading to a use-after free bug. This is because the drm core will
    already set crtc->primary->fb to NULL and do the unref for us, and the
    crtc disable hook is called by the drm crtc helpers for exactly this
    case.

    Aside: Now that the fbdev helpers clean up planes there's no longer a
    need to do this in drivers. So this could probably be nuked entirely
    in linux-next.

    Signed-off-by: Daniel Vetter
    Reviewed-by: Matt Roper
    Tested-by: Stephen Warren
    Signed-off-by: Thierry Reding

    Daniel Vetter
     
  • When PPGTT was disabled by default, the patch also prevented the user
    from overriding this behavior via module parameter. Being able to test
    this on arbitrary kernels is extremely beneficial to track down the
    remaining bugs. The patch that prevented this was:

    commit 93a25a9e2d67765c3092bfaac9b855d95e39df97
    Author: Daniel Vetter
    Date: Thu Mar 6 09:40:43 2014 +0100

    drm/i915: Disable full ppgtt by default

    By default PPGTT is set to -1. 0 means off, 1 means aliasing only, 2
    means full, all other values are reserved.

    Signed-off-by: Ben Widawsky
    Signed-off-by: Daniel Vetter
    Signed-off-by: Jani Nikula

    Ben Widawsky
     
  • If the inherited BIOS framebuffer is smaller than the mode selected for
    fbdev, then if we continue to use it then we cause display corruption as
    we do not setup the panel fitter to upscale.

    Regression from commit d978ef14456a38034f6c0e94a794129501f89200
    Author: Jesse Barnes
    Date: Fri Mar 7 08:57:51 2014 -0800

    drm/i915: Wrap the preallocated BIOS framebuffer and preserve for KMS fbcon v12

    v2: Add a debug message to track the discard of the BIOS fb.
    v3: Ville pointed out the difference between ref/unref

    Reported-by: Knut Petersen
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77767
    Signed-off-by: Chris Wilson
    Cc: Jesse Barnes
    Reviewed-by: Daniel Vetter
    Reviewed-by: Ville Syrjälä
    Signed-off-by: Jani Nikula

    Chris Wilson
     
  • We already check that the buffer object we're accessing is registered with
    the file. Now also make sure that we can't DMA across buffer object boundaries.

    v2: Code commenting update.

    Cc: stable@vger.kernel.org
    Signed-off-by: Thomas Hellstrom
    Reviewed-by: Jakob Bornecrantz

    Thomas Hellstrom
     

23 Apr, 2014

5 commits

  • If I unplug the eDP monitor, the BIOS of my machine will enable the
    VDD bit, then when the driver loads it will think VDD is enabled. It
    will detect that the eDP is not enabled and return false from
    intel_edp_init_connector. This will trigger a call to
    edp_panel_vdd_off_sync(), which trigger a WARN saying that the
    refcount of the power domain is less than zero.

    The problem happens because the driver gets a refcount whenever it
    enables the VDD bit, and puts the refcount whenever it disables the
    VDD bit. But on this case, the BIOS enabled VDD, so all we do is to
    call put() without calling get() first, so the code added is there to
    make sure we always have the get() in case the BIOS enabled the bit.

    This regression was introduced in
    commit e9cb81a22841908b1c075156b409a538d09c8466
    Author: Paulo Zanoni
    Date: Thu Nov 21 13:47:23 2013 -0200

    drm/i915: get a runtime PM reference when the panel VDD is on

    v2: - Rebase

    Tested-by: Chris Wilson (v1)
    Reviewed-by: Daniel Vetter
    Cc: stable@vger.kernel.org (v3.13+)
    Signed-off-by: Paulo Zanoni
    Signed-off-by: Jani Nikula

    Paulo Zanoni
     
  • ... our current modeset code isn't good enough yet to handle this. The
    scenario is:

    1. BIOS sets up a cloned config with lvds+external screen on the same
    pipe, e.g. pipe B.

    2. We read out that state for pipe B and assign the gmch_pfit state to
    it.

    3. The initial modeset switches the lvds to pipe A but due to lack of
    atomic modeset we don't recompute the config of pipe B.

    -> both pipes now claim (in the sw pipe config structure) to use the
    gmch_pfit, which just won't work.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74081
    Tested-by: max
    Cc: Alan Stern
    Cc: stable@vger.kernel.org
    Signed-off-by: Daniel Vetter
    Signed-off-by: Jani Nikula

    Daniel Vetter
     
  • 1. Further PLL parameter fixes.
    2. Fixes for HPD on DP
    3. Could of different PM fixes
    4. Disabling DPM on RV770

    * 'drm-fixes-3.15' of git://people.freedesktop.org/~deathsimple/linux:
    drm/radeon: don't allow runpm=1 on systems with out ATPX
    drm/radeon: fix ATPX detection on non-VGA GPUs
    drm/radeon/pm: don't walk the crtc list before it has been initialized (v2)
    drm/radeon: properly unregister hwmon interface (v2)
    drm/radeon: fix count in cik_sdma_ring_test()
    drm/radeon/aux: fix hpd assignment for aux bus
    drm/radeon: improve PLL limit handling in post div calculation
    drm/radeon: use fixed PPL ref divider if needed
    drm/radeon: disable dpm on rv770 by default

    Dave Airlie
     
  • Pull gpio fixes from Linus Walleij:
    "A small batch of GPIO fixes for the v3.15 series. I expect more to
    come in but I'm a bit behind on mail, might as well get these to you
    right now:

    - Change a crucial semantic ordering in the GPIO irqchip helpers

    - Fix two nasty regressions in the ACPI gpiolib extensions"

    * tag 'gpio-v3.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio / ACPI: Prevent potential wrap of GPIO value on OpRegion read
    gpio / ACPI: Don't crash on NULL chip->dev
    gpio: set data first, then chip and handler

    Linus Torvalds
     
  • Pull x86 vdso fix from Peter Anvin:
    "This is a single build fix for building with gold as opposed to GNU
    ld. It got queued up separately and was expected to be pushed during
    the merge window, but it got left behind"

    * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, vdso: Make the vdso linker script compatible with Gold

    Linus Torvalds
     

22 Apr, 2014

8 commits

  • vgaswitcheroo and the ATPX ACPI methods are required to
    power down the dGPU.

    bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=73901

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org

    Alex Deucher
     
  • Some newer PX laptops have the pci device class
    set to DISPLAY_OTHER rather than DISPLAY_VGA. This
    properly detects ATPX on those laptops.

    Based on a patch from: Pali Rohár

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org
    Cc: airlied@gmail.com

    Alex Deucher
     
  • Avoids a crash in certain cases when thermal irqs are generated
    before the display structures have been initialized.

    v2: fix the vblank and vrefresh helpers as well

    bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=73931

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org

    Alex Deucher
     
  • Need to properly unregister the hwmon device on driver
    unload.

    v2: minor clean up

    bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=73931

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org

    Alex Deucher
     
  • Should be 5 rather than 4.

    Noticed-by: Mathias Fröhlich
    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org
    Signed-off-by: Christian König

    Alex Deucher
     
  • In commit
    commit 6375b768a9850b6154478993e5fb566fa4614a9c
    Author: Ville Syrjälä
    Date: Mon Mar 3 11:33:36 2014 +0200

    drm/i915: Reject >165MHz modes w/ DVI monitors

    the driver started to filter out display modes which exceed the
    single-link DVI 165Mz dotclock limits when the monitor doesn't report
    itself as being HDMI compliant. The intent was to filter out all
    EDID derived modes that require dual-link DVI to operate since we
    don't support dual-link.

    However the patch went a bit too far and also causes the driver to reject
    such modes even when specified by the user. Normally we don't check the
    sink limitations when setting a mode from the user. This allows the user
    to specify any mode whether the sink reports to support it or not. This
    can be useful since often the sinks support more modes than they report
    in the EDID.

    So relax the checks a bit, and apply the single-link DVI dotclock limit
    only when filtering the mode list, and ignore the limit when setting
    a user specified mode.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=72961
    Tested-by: Nicholas Vinson
    Cc: stable@vger.kernel.org [3.14]
    Reviewed-by: Daniel Vetter
    Signed-off-by: Ville Syrjälä
    Signed-off-by: Jani Nikula

    Ville Syrjälä
     
  • The hpd (hot plug detect) pin assignment got lost
    in the conversion to to the common i2c over aux
    code. Without this information, aux transactions
    do not work properly. Fixes DP failures.

    Signed-off-by: Alex Deucher
    Signed-off-by: Christian König

    Alex Deucher
     
  • Pull UML fixes from Richard Weinberger:
    "Assorted fixes for UML"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    um: Memory corruption on startup
    um: Missing pipe handling
    uml: Simplify tempdir logic.

    Linus Torvalds
     

21 Apr, 2014

8 commits

  • Pull ext4 fixes from Ted Ts'o:
    "These are regression and bug fixes for ext4.

    We had a number of new features in ext4 during this merge window
    (ZERO_RANGE and COLLAPSE_RANGE fallocate modes, renameat, etc.) so
    there were many more regression and bug fixes this time around. It
    didn't help that xfstests hadn't been fully updated to fully stress
    test COLLAPSE_RANGE until after -rc1"

    * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (31 commits)
    ext4: disable COLLAPSE_RANGE for bigalloc
    ext4: fix COLLAPSE_RANGE failure with 1KB block size
    ext4: use EINVAL if not a regular file in ext4_collapse_range()
    ext4: enforce we are operating on a regular file in ext4_zero_range()
    ext4: fix extent merging in ext4_ext_shift_path_extents()
    ext4: discard preallocations after removing space
    ext4: no need to truncate pagecache twice in collapse range
    ext4: fix removing status extents in ext4_collapse_range()
    ext4: use filemap_write_and_wait_range() correctly in collapse range
    ext4: use truncate_pagecache() in collapse range
    ext4: remove temporary shim used to merge COLLAPSE_RANGE and ZERO_RANGE
    ext4: fix ext4_count_free_clusters() with EXT4FS_DEBUG and bigalloc enabled
    ext4: always check ext4_ext_find_extent result
    ext4: fix error handling in ext4_ext_shift_extents
    ext4: silence sparse check warning for function ext4_trim_extent
    ext4: COLLAPSE_RANGE only works on extent-based files
    ext4: fix byte order problems introduced by the COLLAPSE_RANGE patches
    ext4: use i_size_read in ext4_unaligned_aio()
    fs: disallow all fallocate operation on active swapfile
    fs: move falloc collapse range check into the filesystem methods
    ...

    Linus Torvalds
     
  • The reverse case of this race (you must msync before read) is
    well known. This is the not so common one.

    It can be triggered only on systems which do a lot of task
    switching and only at UML startup. If you are starting 200+ UMLs
    ~ 0.5% will always die without this fix.

    Signed-off-by: Anton Ivanov
    [rw: minor whitespace fixes]
    Signed-off-by: Richard Weinberger

    Anton Ivanov
     
  • UML does not handle sigpipe. As a result when running it under
    expect or redirecting the IO from the console to an external program
    it will crash if the program stops or exits.

    Signed-off-by: Anton Ivanov
    Signed-off-by: Richard Weinberger

    Anton Ivanov
     
  • Inferring the mount hierarchy correctly from /proc/mounts is hard when MS_MOVE
    may have been used, and the previous code did it wrongly. This change simplifies
    the logic to only require that /dev/shm be _on_ tmpfs (which can be checked
    trivially with statfs) rather than that it be a _mountpoint_ of tmpfs, since
    there isn't a compelling reason to be that strict. We also now check for tmpfs
    on whatever directory we ultimately use so that the user is better informed.

    This change also moves the more standard TMPDIR environment variable check ahead
    of the others.

    Applies to 3.12.

    Signed-off-by: Tristan Schmelcher
    Signed-off-by: Richard Weinberger

    Tristan Schmelcher
     
  • Linus Torvalds
     
  • Pull slave-dmaengine fixes from Vinod Koul:
    "Back from long weekend here in India and now the time to send fixes
    for slave dmaengine.
    - Dan's fix of sirf xlate code
    - Jean's fix for timberland
    - edma fixes by Sekhar for SG handling and Yuan for changing init
    call"

    * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
    dma: fix eDMA driver as a subsys_initcall
    dmaengine: sirf: off by one in of_dma_sirfsoc_xlate()
    platform: Fix timberdale dependencies
    dma: edma: fix incorrect SG list handling

    Linus Torvalds
     
  • Pull iommu fixes from Joerg Roedel:
    "Fixes for regressions:

    - fix wrong IOMMU enumeration causing some SCSI device drivers
    initialization failures
    - ARM-SMMU fixes for a panic condition and a wrong return value"

    * tag 'iommu-fixes-v3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    iommu/arm-smmu: fix panic in arm_smmu_alloc_init_pte
    iommu/arm-smmu: Return 0 on unmap failure
    iommu/vt-d: fix bug in matching PCI devices with DRHD/RMRR descriptors
    iommu/vt-d: Fix get_domain_for_dev() handling of upstream PCIe bridges
    iommu/vt-d: fix memory leakage caused by commit ea8ea46

    Linus Torvalds
     
  • Pull perf tooling fixes from Ingo Molnar:
    "Three small tooling fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf tools: Improve error reporting
    perf tools: Adjust symbols in VDSO
    perf kvm: Fix 'Min time' counting in report command

    Linus Torvalds
     

20 Apr, 2014

3 commits

  • This improves the PLL parameters when we work at
    the limits of the allowed ranges.

    Signed-off-by: Christian König

    Christian König
     
  • …it/jolsa/perf into perf/urgent

    Pull perf/urgent fixes from Jiri Olsa:

    User visible changes:

    * Adjust symbols in VDSO to properly resolve its function names (Vladimir Nikulichev)

    * Improve error reporting for record session failure (Adrien BAK)

    * Fix 'Min time' counting in report command (Alexander Yarygin)

    Signed-off-by: Jiri Olsa <jolsa@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • In the current version, when using perf record, if something goes
    wrong in tools/perf/builtin-record.c:375
    session = perf_session__new(file, false, NULL);

    The error message:
    "Not enough memory for reading per file header"

    is issued. This error message seems to be outdated and is not very
    helpful. This patch proposes to replace this error message by
    "Perf session creation failed"

    I believe this issue has been brought to lkml:
    https://lkml.org/lkml/2014/2/24/458
    although this patch only tackles a (small) part of the issue.

    Additionnaly, this patch improves error reporting in
    tools/perf/util/data.c open_file_write.

    Currently, if the call to open fails, the user is unaware of it.
    This patch logs the error, before returning the error code to
    the caller.

    Reported-by: Will Deacon
    Signed-off-by: Adrien BAK
    Link: http://lkml.kernel.org/r/1397786443.3093.4.camel@beast
    [ Reorganize the changelog into paragraphs ]
    [ Added empty line after fd declaration in open_file_write ]
    Signed-off-by: Jiri Olsa

    Adrien BAK