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: 10+ 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 18:18 ` [Intel-gfx] " 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox