Skip to content
  1. Aug 10, 2013
    • Linus Torvalds's avatar
      Merge tag 'fbdev-fixes-3.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · 78ebf0e3
      Linus Torvalds authored
      Pull fbdev fixes from Tomi Valkeinen:
       - omapdss: compilation fix and DVI fix for PandaBoard
       - mxsfb: fix colors when using 18bit LCD bus
      
      * tag 'fbdev-fixes-3.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
        ARM: OMAP: dss-common: fix Panda's DVI DDC channel
        video: mxsfb: fix color settings for 18bit data bus and 32bpp
        OMAPDSS: analog-tv-connector: compile fix
      78ebf0e3
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 6a933166
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Mostly radeon, more fixes for dynamic power management which is is off
        by default for this release anyways, but there are a large number of
        testers, so I'd like to keep merging the fixes.
      
        Otherwise, radeon UVD fixes affecting suspend/resume regressions, i915
        regression fixes, one for your mac mini, ast, mgag200, cirrus ttm fix
        and one regression fix in the core"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (25 commits)
        drm: Don't pass negative delta to ktime_sub_ns()
        drm/radeon: make missing smc ucode non-fatal
        drm/radeon/dpm: require rlc for dpm
        drm/radeon/cik: use a mutex to properly lock srbm instanced registers
        drm/radeon: remove unnecessary unpin
        drm/radeon: add more UVD CS checking
        drm/radeon: stop sending invalid UVD destroy msg
        drm/radeon: only save UVD bo when we have open handles
        drm/radeon: always program the MC on startup
        drm/radeon: fix audio dto calculation on DCE3+ (v3)
        drm/radeon/dpm: disable sclk ss on rv6xx
        drm/radeon: fix halting UVD
        drm/radeon/dpm: adjust power state properly for UVD on SI
        drm/radeon/dpm: fix spread spectrum setup (v2)
        drm/radeon/dpm: adjust thermal protection requirements
        drm/radeon: select audio dto based on encoder id for DCE3
        drm/radeon: properly handle pm on gpu reset
        drm/i915: do not disable backlight on vgaswitcheroo switch off
        drm/i915: Don't call encoder's get_config unless encoder is active
        drm/i915: avoid brightness overflow when doing scale
        ...
      6a933166
    • Oleg Nesterov's avatar
      dlm: kill the unnecessary and wrong device_close()->recalc_sigpending() · 201d3dfa
      Oleg Nesterov authored
      
      
      device_close()->recalc_sigpending() is not needed, sigprocmask() takes
      care of TIF_SIGPENDING correctly.
      
      And without ->siglock it is racy and wrong, it can wrongly clear
      TIF_SIGPENDING and miss a signal.
      
      But even with this patch device_close() is still buggy:
      
        1. sigprocmask() should not be used, we have set_task_blocked(),
           but this is minor.
      
        2. We should never block SIGKILL or SIGSTOP, and this is what
           the code tries to do.
      
        3. This can't protect against SIGKILL or SIGSTOP anyway. Another
           thread can do signal_wake_up(), say, do_signal_stop() or
           complete_signal() or debugger.
      
        4. sigprocmask(SIG_BLOCK, allsigs) doesn't necessarily clears
           TIF_SIGPENDING, say, freezing() or ->jobctl.
      
        5. device_write() looks equally wrong by the same reason.
      
      Looks like, this tries to protect some wait_event_interruptible() logic
      from signals, it should be turned into uninterruptible wait.  Or we need
      to implement something like signals_stop/start for such a use-case.
      
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      201d3dfa
  2. Aug 09, 2013
  3. Aug 08, 2013
  4. Aug 07, 2013
    • Jani Nikula's avatar
      drm/i915: do not disable backlight on vgaswitcheroo switch off · 3f577573
      Jani Nikula authored
      On muxed systems, the other vgaswitcheroo client may depend on i915 to
      handle the backlight. We began switching off the backlight since
      
      commit a261b246
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Thu Jul 26 19:21:47 2012 +0200
      
          drm/i915: disable all crtcs at suspend time
      
      breaking backlight on discreet graphics in (some) muxed systems.
      
      Keep the backlight on when the state is changed through vgaswitcheroo.
      
      Note: The alternative would be to add a quirk table to achieve the same
      based on system identifiers, but AFAICS it would asymptotically approach
      effectively the same as this patch as more IDs are added, but with the
      maintenance burden of the quirk table.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=55311
      
      
      Tested-by: default avatarFede <fedevx@yahoo.com>
      Tested-by: default avatarAximab <laurent.debian@gmail.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59785
      
      
      Tested-by: default avatarsfievet <sebastien.fievet@free.fr>
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      3f577573
    • Ville Syrjälä's avatar
      drm/i915: Don't call encoder's get_config unless encoder is active · 3eaba51c
      Ville Syrjälä authored
      
      
      The SDVO code tries to compare the encoder's and crtc's idea of the
      pixel_multiplier. Normally they have to match, but when transitioning
      to DPMS off, we turn off the pipe before reading out the pipe_config,
      so the pixel_multiplier in the pipe_config will be 0, whereas the
      encoder will still have its pixel_multiplier set to whatever value we
      were using when the display was active. This leads to a warning
      from intel_modeset_check_state().
      
      WARNING: CPU: 1 PID: 2846 at drivers/gpu/drm/i915/intel_sdvo.c:1378 intel_sdvo_get_config+0x158/0x160()
      SDVO pixel multiplier mismatch, port: 0, encoder: 1
      Modules linked in: snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep
      CPU: 1 PID: 2846 Comm: Xorg Not tainted 3.11.0-rc3-00208-gbe1e8d7-dirty #19
      Hardware name: Apple Computer, Inc. Macmini1,1/Mac-F4208EC8, BIOS  MM11.88Z.0055.B03.0604071521 04/07/06
       00000000 00000000 ef0afa54 c1597bbb c1737ea4 ef0afa84 c10392ca c1737e6c
       ef0afab0 00000b1e c1737ea4 00000562 c12dfbe8 c12dfbe8 ef0afb14 00000000
       f697ec00 ef0afa9c c103936e 00000009 ef0afa94 c1737e6c ef0afab0 ef0afadc
      Call Trace:
       [<c1597bbb>] dump_stack+0x41/0x56
       [<c10392ca>] warn_slowpath_common+0x7a/0xa0
       [<c103936e>] warn_slowpath_fmt+0x2e/0x30
       [<c12dfbe8>] intel_sdvo_get_config+0x158/0x160
       [<c12c3220>] check_crtc_state+0x1e0/0xb10
       [<c12cdc7d>] intel_modeset_check_state+0x29d/0x7c0
       [<c12dfe5c>] intel_sdvo_dpms+0x5c/0xa0
       [<c12985de>] drm_mode_obj_set_property_ioctl+0x40e/0x420
       [<c1298625>] drm_mode_connector_property_set_ioctl+0x35/0x40
       [<c1289294>] drm_ioctl+0x3e4/0x540
       [<c10fc1a2>] do_vfs_ioctl+0x72/0x570
       [<c10fc72f>] SyS_ioctl+0x8f/0xa0
       [<c159b7fa>] sysenter_do_call+0x12/0x22
      ---[ end trace 7ce940aff1366d60 ]---
      
      Fix the problem by skipping the encoder get_config() function for
      inactive encoders.
      
      Tested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      3eaba51c
    • Aaron Lu's avatar
      drm/i915: avoid brightness overflow when doing scale · 22505b82
      Aaron Lu authored
      
      
      Some card's max brightness level is pretty large, e.g. on Acer Aspire
      4732Z, the max level is 989910. If user space set a large enough level
      then the current scale done in intel_panel_set_backlight will cause an
      integer overflow and the scaled level will be mistakenly small, leaving
      user with an almost black screen. This patch fixes this problem.
      
      Signed-off-by: default avatarAaron Lu <aaron.lu@intel.com>
      [danvet: Add a comment to explain what's going on.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      22505b82