1. 31 8月, 2013 5 次提交
    • A
      drm/radeon/dpm: use multiple UVD power states (v3) · ce3537d5
      Alex Deucher 提交于
      Use the UVD handle information to determine which
      which power states to select when using UVD.  For
      example, decoding a single SD stream requires much
      lower clocks than multiple HD streams.
      
      v2: switch to a cleaner dpm/uvd interface
      v3: change the uvd power state while streams
      are active if need be
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      ce3537d5
    • A
      drm/radeon: add UVD->DPM helper function (v5) · 85a129ca
      Alex Deucher 提交于
      Add a helper function for counting the number of open stream handles.
      
      v2: fix copy-pasta in comments and whitespace error
      v3: make function static since it's only used in radeon_uvd.c
      at the moment
      v4: make non-static again for future changes
      v5: make static again for new rework of dpm uvd changes
      Signed-off-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      85a129ca
    • A
      drm/radeon/kms: remove r6xx+ blit copy routines · 4f862967
      Alex Deucher 提交于
      No longer used now that we use the async dma engines or
      CP DMA for bo copies.
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      4f862967
    • A
      drm/radeon: switch r6xx+ to using CP DMA for the blit copy callback · 8dddb993
      Alex Deucher 提交于
      CP DMA is lighter weight than using the 3D engine.
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      8dddb993
    • A
      drm/edid: add quirk for Medion MD30217PG · 118bdbd8
      Alex Deucher 提交于
      This LCD monitor (1280x1024 native) has a completely
      bogus detailed timing (640x350@70hz).  User reports that
      1280x1024@60 has waves so prefer 1280x1024@75.
      
      Manufacturer: MED  Model: 7b8  Serial#: 99188
      Year: 2005  Week: 5
      EDID Version: 1.3
      Analog Display Input,  Input Voltage Level: 0.700/0.700 V
      Sync:  Separate
      Max Image Size [cm]: horiz.: 34  vert.: 27
      Gamma: 2.50
      DPMS capabilities: Off; RGB/Color Display
      First detailed timing is preferred mode
      redX: 0.645 redY: 0.348   greenX: 0.280 greenY: 0.605
      blueX: 0.142 blueY: 0.071   whiteX: 0.313 whiteY: 0.329
      Supported established timings:
      720x400@70Hz
      640x480@60Hz
      640x480@72Hz
      640x480@75Hz
      800x600@56Hz
      800x600@60Hz
      800x600@72Hz
      800x600@75Hz
      1024x768@60Hz
      1024x768@70Hz
      1024x768@75Hz
      1280x1024@75Hz
      Manufacturer's mask: 0
      Supported standard timings:
      Supported detailed timing:
      clock: 25.2 MHz   Image Size:  337 x 270 mm
      h_active: 640  h_sync: 688  h_sync_end 784 h_blank_end 800 h_border: 0
      v_active: 350  v_sync: 350  v_sync_end 352 v_blanking: 449 v_border: 0
      Monitor name: MD30217PG
      Ranges: V min: 56 V max: 76 Hz, H min: 30 H max: 83 kHz, PixClock max 145 MHz
      Serial No: 501099188
      EDID (in hex):
                00ffffffffffff0034a4b80774830100
                050f010368221b962a0c55a559479b24
                125054afcf00310a0101010101018180
                000000000000d60980a0205e63103060
                0200510e1100001e000000fc004d4433
                3032313750470a202020000000fd0038
                4c1e530e000a202020202020000000ff
                003530313039393138380a2020200078
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Reported-by: friedrich@mailstation.de
      Cc: stable@vger.kernel.org
      118bdbd8
  2. 30 8月, 2013 2 次提交
  3. 22 8月, 2013 1 次提交
  4. 21 8月, 2013 6 次提交
  5. 19 8月, 2013 2 次提交
  6. 16 8月, 2013 1 次提交
  7. 15 8月, 2013 2 次提交
    • A
      drm/radeon/r7xx: fix copy paste typo in golden register setup · 022374c0
      Alex Deucher 提交于
      Uses the wrong array size for some asics which can lead
      to garbage getting written to registers.
      
      Fixes:
      https://bugzilla.kernel.org/show_bug.cgi?id=60674Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      022374c0
    • C
      drm/i915: Don't deref pipe->cpu_transcoder in the hangcheck code · 63b66e5b
      Chris Wilson 提交于
      If we get an error event really early in the driver setup sequence,
      which gen3 is especially prone to with various display GTT faults we
      Oops. So try to avoid this.
      
      Additionally with Haswell the transcoders are a separate bank of
      registers from the pipes (4 transcoders, 3 pipes). In event of an
      error, we want to be sure we have a complete and accurate picture of
      the machine state, so record all the transcoders in addition to all
      the active pipes.
      
      This regression has been introduced in
      
      commit 702e7a56
      Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Date:   Tue Oct 23 18:29:59 2012 -0200
      
          drm/i915: convert PIPECONF to use transcoder instead of pipe
      
      Based on the patch "drm/i915: Dump all transcoder registers on error"
      from Chris Wilson:
      
      v2: Rebase so that we don't try to be clever and try to figure out the
      cpu transcoder from hw state. That exercise should be done when we
      analyze the error state offline.
      
      The actual bugfix is to not call intel_pipe_to_cpu_transcoder in the
      error state capture code in case the pipes aren't fully set up yet.
      
      v3: Simplifiy the err->num_transcoders computation a bit. While at it
      make the error capture stuff save on systems without a display block.
      
      v4: Fix fail, spotted by Jani.
      
      v5: Completely new commit message, cc: stable.
      
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Cc: Damien Lespiau <damien.lespiau@intel.com>
      Cc: Jani Nikula <jani.nikula@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=60021
      Cc: stable@vger.kernel.org
      Tested-by: NDustin King <daking@rescomp.stanford.edu>
      Reviewed-by: NJani Nikula <jani.nikula@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      63b66e5b
  8. 12 8月, 2013 1 次提交
  9. 08 8月, 2013 17 次提交
  10. 07 8月, 2013 3 次提交
    • J
      drm/i915: do not disable backlight on vgaswitcheroo switch off · 3f577573
      Jani Nikula 提交于
      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=55311Tested-by: NFede <fedevx@yahoo.com>
      Tested-by: NAximab <laurent.debian@gmail.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59785Tested-by: Nsfievet <sebastien.fievet@free.fr>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      3f577573
    • V
      drm/i915: Don't call encoder's get_config unless encoder is active · 3eaba51c
      Ville Syrjälä 提交于
      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: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      3eaba51c
    • A
      drm/i915: avoid brightness overflow when doing scale · 22505b82
      Aaron Lu 提交于
      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: NAaron Lu <aaron.lu@intel.com>
      [danvet: Add a comment to explain what's going on.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      22505b82