1. 27 9月, 2012 2 次提交
    • A
      drm/radeon: restore backlight level on resume · bced76f2
      Alex Deucher 提交于
      Restore the backlight level on resume.  Some systems
      need to explicitly restore the backlight level on
      resume.
      
      Fixes panel resume on my Trinity laptop and may fix the
      following bugs:
      https://bugs.freedesktop.org/show_bug.cgi?id=43829
      https://bugzilla.kernel.org/show_bug.cgi?id=46241Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      bced76f2
    • A
      drm/radeon: work around KMS modeset limitations in PLL allocation (v2) · 57b35e29
      Alex Deucher 提交于
      Since the current KMS API sets the mode independantly on
      each crtc, we may end up with resource conflicts.  The PLL
      allocation is one of those cases.  In the following example
      we have 3 crtcs in use driving 2 DVI connectors and 1 DP
      connector.  On the initial kernel modeset for fbdev, the
      display topology ends up as follows:
      
      crtc0 -> DP-0
      crtc1 -> DVI-0
      crtc2 -> DVI-1
      
      Because this is the first modeset, all of the PLLs are
      available as none have been assigned.  So we end up with
      the following:
      
      crtc0 uses DCPLL
      crtc1 uses PPLL2
      crtc2 uses PPLL1
      
      When X starts, it assigns a different topology:
      
      crtc0 -> DVI-0
      crtc1 -> DP-0
      crtc2 -> DVI-1
      
      However, since the KMS API is per crtc, we set the mode on each
      crtc independantly.  When it comes time to set the mode on crtc0,
      the topology for crtc1 and crtc2 are still intact.  crtc1 and
      crtc2 are already assigned PPLL2 and PPLL1 so when it comes time
      to set the mode on crtc0, crtc1 and crtc2 have not been torn down
      yet, so there appears to be no PLLs available.  In reality, we
      are reconfiguring the entire display topology, however, since
      each crtc is handled independantly, we don't know that in the
      driver at each crtc mode set time.
      
      This patch checks to see if the same connector is being driven by
      another crtc, and if so, uses the PLL already associated with it.
      
      v2: store connector in the radeon crtc struct, simplify checking.
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      57b35e29
  2. 21 9月, 2012 6 次提交
  3. 13 8月, 2012 1 次提交
  4. 20 7月, 2012 1 次提交
  5. 17 5月, 2012 2 次提交
  6. 03 5月, 2012 1 次提交
  7. 01 5月, 2012 2 次提交
  8. 24 4月, 2012 1 次提交
  9. 21 3月, 2012 1 次提交
  10. 07 3月, 2012 1 次提交
  11. 25 1月, 2012 3 次提交
  12. 16 11月, 2011 1 次提交
  13. 02 11月, 2011 4 次提交
  14. 10 10月, 2011 1 次提交
  15. 15 8月, 2011 1 次提交
  16. 04 8月, 2011 1 次提交
    • T
      drm/radeon: Extended DDC Probing for Connectors with Improperly Wired DDC... · e384fab8
      Thomas Reim 提交于
      drm/radeon: Extended DDC Probing for Connectors with Improperly Wired DDC Lines (here: Asus M2A-VM HDMI)
      
          Some integrated ATI Radeon chipset implementations with add-on HDMI card
          (e. g. Asus M2A-VM HDMI) indicate the availability of a DDC even
          when the add-on card is not plugged in or HDMI is disabled in BIOS setup.
          In this case, drm_get_edid() and drm_edid_block_valid() periodically
          dump data and kernel errors into system log files and onto terminals.
          For these connectors DDC probing is extended by a check for a correct
          EDID header. Only in case a valid EDID header is also found, the
          (HDMI or DVI) connector will be used by the Radeon driver. This prevents
          the kernel driver from useless flooding of logs and terminal sessions with
          EDID dumps and error messages.
          This patch adds a flag 'requires_extended_probe' to the radeon_connector
          structure. In function radeon_connector_needs_extended_probe() this flag
          can be set on a chipset family/vendor/connector type specific basis.
          In addition, function radeon_ddc_probe() has been adapted to perform
          extended DDC probing if required by the connector's flag.
          Requires function drm_edid_header_is_valid() in DRM module provided by
          [PATCH] drm: Separate EDID Header Check from EDID Block Check.
      
          Tested for kernel 2.6.35, 2.6.38 and 3.0 on Asus M2A-VM HDMI board
      
          BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=668196
          BugLink: http://bugs.launchpad.net/bugs/7228066
      
      Cc: <stable@kernel.org>
      Signed-off-by: NThomas Reim <reimth@gmail.com>
      Reviewed-by: NAlex Deucher <alexdeucher@gmail.com>
      Acked-by: NStephen Michaels <Stephen.Micheals@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e384fab8
  17. 17 6月, 2011 2 次提交
  18. 24 5月, 2011 1 次提交
  19. 20 5月, 2011 6 次提交
  20. 24 3月, 2011 1 次提交
    • A
      drm/radeon/kms: fix hardcoded EDID handling · fafcf94e
      Alex Deucher 提交于
      On some servers there is a hardcoded EDID provided
      in the vbios so that the driver will always see a
      display connected even if something like a KVM
      prevents traditional means like DDC or load
      detection from working properly.  Also most
      server boards with DVI are not actually DVI, but
      DVO connected to a virtual KVM service processor.
      If we fail to detect a monitor via DDC or load
      detection and a hardcoded EDID is available, use
      it.
      
      Additionally, when using the hardcoded EDID, use
      a copy of it rather than the actual one stored
      in the driver as the detect() and get_modes()
      functions may free it if DDC is successful.
      
      This fixes the virtual KVM on several internal
      servers.
      Signed-off-by: NAlex Deucher <alexdeucher@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      fafcf94e
  21. 23 3月, 2011 1 次提交