Skip to content
Snippets Groups Projects
  1. Jul 15, 2019
  2. Jun 14, 2019
  3. Nov 06, 2018
  4. Mar 30, 2017
  5. May 26, 2014
    • Daniel Thompson's avatar
      drm: Add 800x600 (SVGA) screen resolution to the built-in EDIDs · 4cbe1bfa
      Daniel Thompson authored
      
      The 800x600 (SVGA) screen resolution was lacking in the set of
      built-in selectable EDID screen resolutions that can be used to
      repair misbehaving monitor firmware.
      
      This patch adds the related data set and expands the documentation.
      Note that the SVGA bit occupies a different byte to all the existing
      users of the established timing bits forcing a rework of the
      ESTABLISHED_TIMINGS_BITS macro.
      
      Tested new EDID on an aged (and misbehaving) industrial LCD panel;
      existing EDIDs still pass edid-decode's checksum checks.
      
      Signed-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Carsten Emde <C.Emde@osadl.org>
      Cc: linux-doc@vger.kernel.org
      Cc: dri-devel@lists.freedesktop.org
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      4cbe1bfa
  6. Apr 12, 2013
  7. Jan 20, 2013
  8. Mar 20, 2012
    • Carsten Emde's avatar
      drm: allow loading an EDID as firmware to override broken monitor · da0df92b
      Carsten Emde authored
      
      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: default avatarCarsten Emde <C.Emde@osadl.org>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      da0df92b
Loading