From: Mark Hounschell <dmarkh@cfl.rr.com>
To: linux-kernel@vger.kernel.org
Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
"markh@compro.net >> Mark Hounschell" <markh@compro.net>
Subject: drm_kms_helper problems
Date: Sun, 21 Oct 2012 10:43:08 -0400 [thread overview]
Message-ID: <508409FC.6080805@cfl.rr.com> (raw)
I have a TV that appears to not provide proper EDID info to the HDMI or DVI
ports of my Intel DH77DF motherboard. I received some pointers from this
list that pointed me in the direction of creating my own EDID file and I
now have a binary blob that matches what the service manual says is the
proper EDID info.
But I am unable to get the drm_kms_helper module to load and use this file.
My relevant kernel config options are.
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
my relevant kernel command line contains:
video=card0-HDMI-A-1:e
drm_kms_helper.edid_firmware=card0-HDMI-A-1:edid/lg42lb9df_hdmi1.edid
The edid file:
# ls -al /lib/firmware/edid/lg42lb9df_hdmi1.edid
-rw-r--r-- 1 root root 256 Oct 16 05:46 /lib/firmware/edid/lg42lb9df_hdmi1.edid
connector info from /sys/class/drm/
card0 card0-DP-1 card0-DP-2 card0-DP-3 card0-HDMI-A-1 card0-HDMI-A-2
card0-HDMI-A-3 card0-VGA-1 controlD64 version
And I don't really understand why I have 3 entries for the one hdmi port?
Nor do I really understand _exactly_ how to define the connector in my
kernel command line or which of the 3 connectors from /sys I should be
using. I've tried different variants. Ie. card0-HDMI-A-1and HDMI-A-1.
The results in the kernel log file remain:
[ 1.879654] drm_kms_helper: Unknown parameter `edid'
I assume I am doing something wrong but I have put some debug printks in
kernel/params.c that shows me every call made to it and it's params. It is
entered many times and I see a sequence to in the log file. As an example,
the last one to call with params before drm_kms_helper is "late" and here
are my debug prints for it:
[ 0.840206] parse_args: Entered for late
[ 0.840207] parse_args: doing = late
[ 0.840208] parse_args: args =
root=/dev/disk/by-id/ata-INTEL_SSDSC2CW060A3_CVCV205106EB060AGN-part4
video=1024x768
resume=/dev/disk/by-id/ata-INTEL_SSDSC2CW060A3_CVCV205106EB060AGN-part3
splash=silent quiet vga=0x37e irqpoll video=card0-HDMI-A-1:e
drm_kms_helper.edid_firmware=card0-HDMI-A-1:edid/lg42lb9df_hdmi1.edid
[ 0.840209] parse_args: params =
[ 0.840210] parse_args: num = 174
[ 0.840210] parse_args: min_level = 7
[ 0.840211] parse_args: max_level = 7
Now when it gets to drm_kms_helper this is what I get and this is certainly
screwed up, I just don't know why.
[ 1.879648] parse_args: Entered for drm_kms_helper
[ 1.879648] parse_args: doing = drm_kms_helper
[ 1.879649] parse_args: args = edid
\xffffff86\xffffffe2\xfffffff8h\xffffff89\xffffff86\xffffffc0\xffffff80\xffffffff\xffffffffԒ\xffffffe2\xfffffff8T\xffffff86\xffffffe2\xfffffff88\xffffff89\xffffff86\xffffffc0\xffffffa4\xffffffff\xffffffffd\xffffff86\xffffffe2\xfffffff8
[ 1.879650] parse_args: num = 2
[ 1.879651] parse_args: min_level = -32768
[ 1.879651] parse_args: max_level = 32767
[ 1.879653]
\xffffff86\xffffffe2\xfffffff8h\xffffff89\xffffff86\xffffffc0\xffffff80\xffffffff\xffffffffԒ\xffffffe2\xfffffff8T\xffffff86\xffffffe2\xfffffff88\xffffff89\xffffff86\xffffffc0\xffffffa4\xffffffff\xffffffffd\xffffff86\xffffffe2\xfffffff8,
num=2, min_level=-32768, max_level=32767
Then finally:
[ 1.879654] drm_kms_helper: Unknown parameter `edid'
The additional printks I inserted into kernel/params.c:
if (*args)
pr_debug("doing %s, parsing ARGS: '%s'\n", doing, args);
+ if (*args) {
+ printk("\nparse_args: Entered for %s\n", doing);
+ printk("parse_args: doing = %s\n", doing);
+ printk("parse_args: args = %s\n", args);
+ printk("parse_args: params = %s\n", params);
+ printk("parse_args: num = %d\n", num);
+ printk("parse_args: min_level = %d\n",min_level);
+ printk("parse_args: max_level = %d\n", max_level);
+ }
while (*args) {
This is using a vanilla 3.6.2 kernel. Any help would be appreciated.
Regards
Mark
next reply other threads:[~2012-10-21 14:43 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-21 14:43 Mark Hounschell [this message]
2012-10-21 14:58 ` drm_kms_helper problems Bruno Prémont
2012-10-21 14:58 ` [Intel-gfx] " Bruno Prémont
2012-10-21 18:18 ` Mark Hounschell
2012-10-21 19:18 ` Bruno Prémont
2012-10-22 11:42 ` Mark Hounschell
2012-10-22 17:40 ` Mark Hounschell
2012-10-22 21:54 ` Mark Hounschell
2012-10-23 6:36 ` Bruno Prémont
2012-10-23 9:21 ` Chris Wilson
2012-10-23 9:59 ` [Intel-gfx] " Mark Hounschell
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=508409FC.6080805@cfl.rr.com \
--to=dmarkh@cfl.rr.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=markh@compro.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.