1. 21 6月, 2012 1 次提交
  2. 02 6月, 2012 1 次提交
  3. 29 5月, 2012 1 次提交
  4. 27 4月, 2012 2 次提交
  5. 24 4月, 2012 1 次提交
  6. 20 4月, 2012 10 次提交
  7. 21 3月, 2012 1 次提交
  8. 20 3月, 2012 1 次提交
    • C
      drm: allow loading an EDID as firmware to override broken monitor · da0df92b
      Carsten Emde 提交于
      Broken monitors and/or broken graphic boards may send erroneous or no
      EDID data. This also applies to broken KVM devices that are unable to
      correctly forward the EDID data of the connected monitor but invent
      their own fantasy data.
      
      This patch allows to specify an EDID data set to be used instead of
      probing the monitor for it. It contains built-in data sets of frequently
      used screen resolutions. In addition, a particular EDID data set may be
      provided in the /lib/firmware directory and loaded via the firmware
      interface. The name is passed to the kernel as module parameter of the
      drm_kms_helper module either when loaded
        options drm_kms_helper edid_firmware=edid/1280x1024.bin
      or as kernel commandline parameter
        drm_kms_helper.edid_firmware=edid/1280x1024.bin
      
      It is also possible to restrict the usage of a specified EDID data set
      to a particular connector. This is done by prepending the name of the
      connector to the name of the EDID data set using the syntax
        edid_firmware=[<connector>:]<edid>
      such as, for example,
        edid_firmware=DVI-I-1:edid/1920x1080.bin
      in which case no other connector will be affected.
      
      The built-in data sets are
      Resolution    Name
      --------------------------------
      1024x768      edid/1024x768.bin
      1280x1024     edid/1280x1024.bin
      1680x1050     edid/1680x1050.bin
      1920x1080     edid/1920x1080.bin
      
      They are ignored, if a file with the same name is available in the
      /lib/firmware directory.
      
      The built-in EDID data sets are based on standard timings that may not
      apply to a particular monitor and even crash it. Ideally, EDID data of
      the connected monitor should be used. They may be obtained through the
      drm/cardX/cardX-<connector>/edid entry in the /sys/devices PCI directory
      of a correctly working graphics adapter.
      
      It is even possible to specify the name of an EDID data set on-the-fly
      via the /sys/module interface, e.g.
      echo edid/myedid.bin >/sys/module/drm_kms_helper/parameters/edid_firmware
      The new screen mode is considered when the related kernel function is
      called for the first time after the change. Such calls are made when the
      X server is started or when the display settings dialog is opened in an
      already running X server.
      Signed-off-by: NCarsten Emde <C.Emde@osadl.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      da0df92b
  9. 03 2月, 2012 2 次提交
  10. 20 12月, 2011 2 次提交
  11. 19 12月, 2011 1 次提交
    • C
      drm/edid: support CEA video modes. · 54ac76f8
      Christian Schmidt 提交于
      TFT/plasma televisions and projectors have become commonplace, and so
      has the use of PCs to drive them. Add the video modes specified by an
      EDID's CEA extension to the mode database for a connector.
      
      Before:
      [    1.158869] [drm:drm_mode_debug_printmodeline], Modeline
      19:"1920x1080i" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x15
      [    1.158875] [drm:drm_mode_debug_printmodeline], Modeline
      18:"1920x1080i" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x48 0x15
      [    1.158882] [drm:drm_mode_debug_printmodeline], Modeline
      20:"1920x1080" 24 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x5
      
      After:
      [    1.144175] [drm:drm_mode_debug_printmodeline], Modeline
      22:"1920x1080" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x15
      [    1.144179] [drm:drm_mode_debug_printmodeline], Modeline
      21:"1920x1080" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x48 0x15
      [    1.144187] [drm:drm_mode_debug_printmodeline], Modeline
      30:"1920x1080" 50 148500 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x5
      [    1.144190] [drm:drm_mode_debug_printmodeline], Modeline
      29:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
      [    1.144192] [drm:drm_mode_debug_printmodeline], Modeline
      25:"1920x1080" 24 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x5
      [    1.144195] [drm:drm_mode_debug_printmodeline], Modeline
      24:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5
      [    1.144198] [drm:drm_mode_debug_printmodeline], Modeline
      23:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x5
      [    1.144201] [drm:drm_mode_debug_printmodeline], Modeline 27:"720x576"
      50 27000 720 732 796 864 576 581 586 625 0x40 0xa
      [    1.144203] [drm:drm_mode_debug_printmodeline], Modeline 26:"720x480"
      60 27000 720 736 798 858 480 489 495 525 0x40 0xa
      [    1.144206] [drm:drm_mode_debug_printmodeline], Modeline 28:"640x480"
      60 25175 640 656 752 800 480 490 492 525 0x40 0xa
      Signed-off-by: NChristian Schmidt <schmidt@digadd.de>
      Reviewed-by: NAdam Jackson <ajax@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      54ac76f8
  12. 01 11月, 2011 1 次提交
  13. 22 9月, 2011 1 次提交
    • W
      drm: support routines for HDMI/DP ELD · 76adaa34
      Wu Fengguang 提交于
      ELD (EDID-Like Data) describes to the HDMI/DP audio driver the audio
      capabilities of the plugged monitor.
      
      This adds drm_edid_to_eld() for converting EDID to ELD. The converted
      ELD will be saved in a new drm_connector.eld[128] data field. This is
      necessary because the graphics driver will need to fixup some of the
      data fields (eg. HDMI/DP connection type, AV sync delay) before writing
      to the hardware ELD buffer. drm_av_sync_delay() will help the graphics
      drivers dynamically compute the AV sync delay for fixing-up the ELD.
      
      ELD selection policy: it's possible for one encoder to be associated
      with multiple connectors (ie. monitors), in which case the first found
      ELD will be returned by drm_select_eld(). This policy may not be
      suitable for all users, but let's start it simple first.
      
      The impact of ELD selection policy: assume there are two monitors, one
      supports stereo playback and the other has 8-channel output; cloned
      display mode is used, so that the two monitors are associated with the
      same internal encoder. If only the stereo playback capability is reported,
      the user won't be able to start 8-channel playback; if the 8-channel ELD
      is reported, then user space applications may send 8-channel samples
      down, however the user may actually be listening to the 2-channel
      monitor and not connecting speakers to the 8-channel monitor.
      
      According to James, many TVs will either refuse the display anything or
      pop-up an OSD warning whenever they receive hdmi audio which they cannot
      handle. Eventually we will require configurability and/or per-monitor
      audio control even when the video is cloned.
      
      CC: Zhao Yakui <yakui.zhao@intel.com>
      CC: Wang Zhenyu <zhenyu.z.wang@intel.com>
      CC: Jeremy Bush <contractfrombelow@gmail.com>
      CC: Christopher White <c.white@pulseforce.com>
      CC: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
      CC: Paul Menzel <paulepanter@users.sourceforge.net>
      CC: James Cloos <cloos@jhcloos.com>
      CC: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      Signed-off-by: NWu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      76adaa34
  14. 04 8月, 2011 2 次提交
  15. 25 7月, 2011 1 次提交
  16. 16 6月, 2011 2 次提交
  17. 28 4月, 2011 2 次提交
  18. 01 4月, 2011 1 次提交
  19. 16 3月, 2011 1 次提交
  20. 23 2月, 2011 1 次提交
  21. 09 11月, 2010 1 次提交
    • S
      DRM: ignore invalid EDID extensions · 0ea75e23
      Sam Tygier 提交于
      Currently an invalid EDID extension will cause the whole EDID to be considered invalid. Instead just drop the invalid extensions, and return the valid ones. The base block is modified to claim to have the number valid extensions, and the check sum is updated.
      
      For my EIZO S2242W the base block is fine, but the extension block is all zeros. Without this patch I get no X and no VTs.
      Signed-off-by: NSam Tygier <samtygier@yahoo.co.uk>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      0ea75e23
  22. 19 10月, 2010 1 次提交
  23. 18 9月, 2010 1 次提交
    • C
      drm/i915: use GMBUS to manage i2c links · f899fc64
      Chris Wilson 提交于
      Use the GMBUS interface rather than direct bit banging to grab the EDID
      over DDC (and for other forms of auxiliary communication with external
      display controllers). The hope is that this method will be much faster
      and more reliable than bit banging for fetching EDIDs from buggy monitors
      or through switches, though we still preserve the bit banging as a
      fallback in case GMBUS fails.
      
      Based on an original patch by Jesse Barnes.
      
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      f899fc64
  24. 10 8月, 2010 2 次提交