1. 17 7月, 2014 3 次提交
    • M
      drm/radeon: Prevent too early kms-pageflips triggered by vblank. · f53f81b2
      Mario Kleiner 提交于
      Since 3.16-rc1 we have this new failure:
      
      When the userspace XOrg ddx schedules vblank events to
      trigger deferred kms-pageflips, e.g., via the OML_sync_control
      extension call glXSwapBuffersMscOML(), or if a glXSwapBuffers()
      is called immediately after completion of a previous swapbuffers
      call, e.g., in a tight rendering loop with minimal rendering,
      it happens frequently that the pageflip ioctl() is executed
      within the same vblank in which a previous kms-pageflip completed,
      or - for deferred swaps - always one vblank earlier than requested
      by the client app.
      
      This causes premature pageflips and detection of failure by
      the ddx, e.g., XOrg log warnings like...
      
      "(WW) RADEON(1): radeon_dri2_flip_event_handler: Pageflip
      completion event has impossible msc 201025 < target_msc 201026"
      
      ... and error/invalid return values of glXWaitForSbcOML() and
      Intel_swap_events extension.
      
      Reason is the new way in which kms-pageflips are programmed
      since 3.16.
      
      This commit changes the time window in which the hw can
      execute pending programmed pageflips. Before, a pending flip
      would get executed anywhere within the vblank interval. Now
      a pending flip only gets executed at the leading edge of
      vblank (start of front porch), making sure that a invocation
      of the pageflip ioctl() within a given vblank interval will
      only lead to pageflip completion in the following vblank.
      
      Tested to death on a DCE-4 card.
      Signed-off-by: NMario Kleiner <mario.kleiner.de@gmail.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      f53f81b2
    • A
      drm/radeon: set default bl level to something reasonable · 201bb624
      Alex Deucher 提交于
      If the value in the scratch register is 0, set it to the
      max level.  This fixes an issue where the console fb blanking
      code calls back into the backlight driver on unblank and then
      sets the backlight level to 0 after the driver has already
      set the mode and enabled the backlight.
      
      bugs:
      https://bugs.freedesktop.org/show_bug.cgi?id=81382
      https://bugs.freedesktop.org/show_bug.cgi?id=70207Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Tested-by: NDavid Heidelberger <david.heidelberger@ixit.cz>
      Cc: stable@vger.kernel.org
      201bb624
    • A
      drm/radeon: avoid leaking edid data · 0ac66eff
      Alex Deucher 提交于
      In some cases we fetch the edid in the detect() callback
      in order to determine what sort of monitor is connected.
      If that happens, don't fetch the edid again in the get_modes()
      callback or we will leak the edid.
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      0ac66eff
  2. 11 7月, 2014 6 次提交
  3. 10 7月, 2014 4 次提交
    • D
      Merge tag 'drm-intel-fixes-2014-07-09' of git://anongit.freedesktop.org/drm-intel into drm-fixes · 2db38e06
      Dave Airlie 提交于
      Fixes for regressions and black screens, cc: stable where applicapable
      (the last minute rebase was to sprinkle missing stable tags). A bit more
      than what I'd wish for, but excluding vlv and that the first 3 patches are
      just quirks for 1 regression it looks much better.
      
      There's still a "oops, lost dithering" issue on older platforms open. I'm
      working on a fix for that now but didn't want to delay this pile.
      
      * tag 'drm-intel-fixes-2014-07-09' of git://anongit.freedesktop.org/drm-intel:
        drm/i915/vlv: T12 eDP panel timing enforcement during reboot
        drm/i915: Only unbind vgacon, not other console drivers
        drm/i915: Don't clobber the GTT when it's within stolen memory
        drm/i915/vlv: Update the DSI ULPS entry/exit sequence
        drm/i915/vlv: DPI FIFO empty check is not needed
        drm/i915: Toshiba CB35 has a controllable backlight
        drm/i915: Acer C720 and C720P have controllable backlights
        drm/i915: quirk asserts controllable backlight presence, overriding VBT
      2db38e06
    • D
      Merge branch 'drm-nouveau-next' of... · 093fa5d0
      Dave Airlie 提交于
      Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes
      
      A couple of DP regression fixes, kepler memory reclocking fixes, and a fix for an annoying display issue that can pop up on resume.
      
      * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
        drm/nouveau/ram: fix test for gpio presence
        drm/nouveau/dp: workaround broken display
        drm/nouveau/dp: fix required link bandwidth calculations
        drm/nouveau/kms: restore fbcon after display has been resumed
        drm/nv50-/kms: pass a non-zero value for head to sor dpms methods
        drm/nouveau/fb: Prevent inlining of ramfuc_reg
        drm/gk104/ram: bash mpll bit 31 on
      093fa5d0
    • L
      Merge tag 'pci-v3.16-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 4f440cd5
      Linus Torvalds 提交于
      Pull PCI fixes from Bjorn Helgaas:
       "Just a fix for the device reset path and an email address update.
      
        Virtualization
          - Fix "wait for pending transactions" for PCI AF reset (Alex
            Williamson)
      
        Miscellaneous
          - Update mx6 PCI driver maintainer email (Fabio Estevam)"
      
      * tag 'pci-v3.16-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        MAINTAINERS: Update mx6 PCI driver maintainer's email
        PCI: Fix unaligned access in AF transaction pending test
      4f440cd5
    • L
      Merge tag 'f2fs-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 191d385f
      Linus Torvalds 提交于
      Pull f2fs bugfixes from Jaegeuk Kim:
       "This includes a couple of bug fixes found by xfstests.  In addition,
        one critical bug was reported by Brian Chadwick, which is falling into
        the infinite loop in balance_dirty_pages.  And it turned out due to
        the IO merging policy in f2fs, which was newly merged in 3.16.
      
         - fix normal and recovery path for fallocated regions
         - fix error case mishandling
         - recover renamed fsync inodes correctly
         - fix to get out of infinite loops in balance_dirty_pages
         - fix kernel NULL pointer error"
      
      * tag 'f2fs-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs:
        f2fs: avoid to access NULL pointer in issue_flush_thread
        f2fs: check bdi->dirty_exceeded when trying to skip data writes
        f2fs: do checkpoint for the renamed inode
        f2fs: release new entry page correctly in error path of f2fs_rename
        f2fs: fix error path in init_inode_metadata
        f2fs: check lower bound nid value in check_nid_range
        f2fs: remove unused variables in f2fs_sm_info
        f2fs: fix not to allocate unnecessary blocks during fallocate
        f2fs: recover fallocated data and its i_size together
        f2fs: fix to report newly allocate region as extent
      191d385f
  4. 09 7月, 2014 16 次提交
  5. 08 7月, 2014 11 次提交