The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Paul Menzel <paulepanter@users.sourceforge.net>
To: Carsten Emde <C.Emde@osadl.org>
Cc: David Airlie <airlied@linux.ie>,
	Valdis Kletnieks <Valdis.Kletnieks@vt.edu>,
	LKML <linux-kernel@vger.kernel.org>,
	DRI <dri-devel@lists.freedesktop.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [V2 PATCH 1/2] drivers-gpu-drm-allow-to-load-edid-firmware.patch
Date: Thu, 15 Mar 2012 08:13:54 +0100	[thread overview]
Message-ID: <1331795634.3718.5.camel@mattotaupa> (raw)
In-Reply-To: <20120314234829.759638810@osadl.org>

[-- Attachment #1: Type: text/plain, Size: 5203 bytes --]

Dear Carsten,


Am Donnerstag, den 15.03.2012, 00:35 +0100 schrieb Carsten Emde:
> Einfaches Textdokument-Anlage
> (drivers-gpu-drm-allow-to-load-edid-firmware.patch)

somehow your message was send as an attachment. Could you configure your
mailer (quilt) that it is send inline?

> 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  
> 
> 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 also 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: Carsten Emde <C.Emde@osadl.org>
> 
> ---
>  Documentation/EDID/1024x768.S       |   44 ++++++
>  Documentation/EDID/1280x1024.S      |   44 ++++++
>  Documentation/EDID/1680x1050.S      |   44 ++++++
>  Documentation/EDID/1920x1080.S      |   44 ++++++
>  Documentation/EDID/HOWTO.txt        |   39 +++++
>  Documentation/EDID/Makefile         |   25 +++
>  Documentation/EDID/edid.S           |  261 ++++++++++++++++++++++++++++++++++++
>  Documentation/EDID/hex              |    1 
>  Documentation/kernel-parameters.txt |   10 +
>  drivers/gpu/drm/Kconfig             |   11 +
>  drivers/gpu/drm/Makefile            |    3 
>  drivers/gpu/drm/drm_crtc_helper.c   |    8 -
>  drivers/gpu/drm/drm_edid.c          |    4 
>  drivers/gpu/drm/drm_edid_load.c     |  241 +++++++++++++++++++++++++++++++++
>  include/drm/drm_crtc.h              |    1 
>  include/drm/drm_edid.h              |    1 
>  16 files changed, 778 insertions(+), 3 deletions(-)

[…]

> Index: linux-3.3-rc6/Documentation/kernel-parameters.txt
> ===================================================================
> --- linux-3.3-rc6.orig/Documentation/kernel-parameters.txt
> +++ linux-3.3-rc6/Documentation/kernel-parameters.txt
> @@ -713,6 +713,16 @@ bytes respectively. Such letter suffixes
>  			The filter can be disabled or changed to another
>  			driver later using sysfs.
>  
> +	drm_kms_helper.edid_firmware=<file>
> +			Broken monitors, graphic adapters and KVMs may
> +			send no or broken EDID data sets. This parameter
> +			allows to specify an EDID data set in the
> +			/lib/firmware directory that is used instead.
> +			Generic built-in EDID data sets are used, if one of
> +			edid/1024x768.bin, edid/1280x1024.bin,
> +			edid/1680x1050.bin, or edid/1920x1080.bin is given
> +			and no file with the same name exists.

Maybe a hint to look into `Documentation/EDID` could be added?

> +
>  	dscc4.setup=	[NET]
>  
>  	earlycon=	[KNL] Output early console device and options.
> Index: linux-3.3-rc6/drivers/gpu/drm/Kconfig
> ===================================================================
> --- linux-3.3-rc6.orig/drivers/gpu/drm/Kconfig
> +++ linux-3.3-rc6/drivers/gpu/drm/Kconfig
> @@ -27,6 +27,17 @@ config DRM_KMS_HELPER
>  	help
>  	  FB and CRTC helpers for KMS drivers.
>  
> +config DRM_LOAD_EDID_FIRMWARE
> +	bool "Allow to specify an EDID data set instead of probing for it"
> +	depends on DRM_KMS_HELPER
> +	help
> +	  Say Y here, if you want to use EDID data to be loaded from the
> +	  /lib/firmware directory or one of the provided built-in
> +	  data sets. This may be necessary, if the graphics adapter or
> +	  monitor are unable to provide appropriate EDID data. Since this
> +	  feature is provided as a workaround for broken hardware, the
> +	  default case is N.

Dito.

> +
>  config DRM_TTM
>  	tristate
>  	depends on DRM

[…]


Thanks,

Paul

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2012-03-15  7:14 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-14 23:35 [V2 PATCH 0/2] Provide workarounds to use DRM/KMS with broken graphics hardware Carsten Emde
2012-03-14 23:35 ` [V2 PATCH 1/2] drivers-gpu-drm-allow-to-load-edid-firmware.patch Carsten Emde
2012-03-15  7:13   ` Paul Menzel [this message]
2012-03-15 10:08     ` Thomas Gleixner
2012-03-18 10:54       ` Using quilt to send patches (was: [V2 PATCH 1/2] drivers-gpu-drm-allow-to-load-edid-firmware.patch) Paul Menzel
2012-03-18 10:56         ` Paul Menzel
2012-03-14 23:35 ` [V2 PATCH 2/2] drivers-gpu-drm-i915-invert-backlight-brightness Carsten Emde
2012-03-15  2:42   ` Keith Packard
2012-03-15  7:16     ` Paul Menzel
2012-03-15  7:24   ` Paul Menzel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1331795634.3718.5.camel@mattotaupa \
    --to=paulepanter@users.sourceforge.net \
    --cc=C.Emde@osadl.org \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=airlied@linux.ie \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox