From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932171Ab2JUO7K (ORCPT ); Sun, 21 Oct 2012 10:59:10 -0400 Received: from smtprelay.restena.lu ([158.64.1.62]:34726 "EHLO smtprelay.restena.lu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932069Ab2JUO7I convert rfc822-to-8bit (ORCPT ); Sun, 21 Oct 2012 10:59:08 -0400 Date: Sun, 21 Oct 2012 16:58:02 +0200 From: Bruno =?UTF-8?B?UHLDqW1vbnQ=?= To: dmarkh@cfl.rr.com Cc: linux-kernel@vger.kernel.org, "markh@compro.net >> Mark Hounschell" , Intel Graphics Development Subject: Re: [Intel-gfx] drm_kms_helper problems Message-ID: <20121021165802.578d6d6b@neptune.home> In-Reply-To: <508409FC.6080805@cfl.rr.com> References: <508409FC.6080805@cfl.rr.com> X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.12; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi mark, On Sun, 21 October 2012 Mark Hounschell wrote: > 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 variant without card0- should be the right one. > 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' As your drm_kms_helper is built modular, did you try not putting that parameter on kernel cmdline but rather put it in modprobe's configuration for that module? (may doing the whole loading manually). # modprobe drm_kms_helper edid_firmware=HDMI-A-1:edid/lg42lb9df_hdmi1.edid I have no idea why it fails for you, here on the systems I have it works fine (on one where everything is built into the kernel I did set the cmdline arguments via CONFIG_CMDLINE="..." (having CONFIG_CMDLINE_BOOL=y). > 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: Did you check that your bootloader get things right, e.g. if results are the same no matter in which order you put the kernel parameters (and if there are some non-ASCII values in there). As you have quite some length of parameters there could be some buffer size issue. (take this as just wild guessing) Bruno > [ 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruno =?UTF-8?B?UHLDqW1vbnQ=?= Subject: Re: drm_kms_helper problems Date: Sun, 21 Oct 2012 16:58:02 +0200 Message-ID: <20121021165802.578d6d6b@neptune.home> References: <508409FC.6080805@cfl.rr.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtprelay.restena.lu (smtprelay.restena.lu [158.64.1.62]) by gabe.freedesktop.org (Postfix) with ESMTP id 50BDC9E843 for ; Sun, 21 Oct 2012 07:59:07 -0700 (PDT) In-Reply-To: <508409FC.6080805@cfl.rr.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: dmarkh@cfl.rr.com Cc: "markh@compro.net >> Mark Hounschell" , Intel Graphics Development , linux-kernel@vger.kernel.org List-Id: intel-gfx@lists.freedesktop.org SGkgbWFyaywKCk9uIFN1biwgMjEgT2N0b2JlciAyMDEyIE1hcmsgSG91bnNjaGVsbCA8ZG1hcmto QGNmbC5yci5jb20+IHdyb3RlOgo+IEkgaGF2ZSBhIFRWIHRoYXQgYXBwZWFycyB0byBub3QgcHJv dmlkZSBwcm9wZXIgRURJRCBpbmZvIHRvIHRoZSBIRE1JIG9yIERWSSAKPiBwb3J0cyBvZiBteSBJ bnRlbCBESDc3REYgbW90aGVyYm9hcmQuIEkgcmVjZWl2ZWQgc29tZSBwb2ludGVycyBmcm9tIHRo aXMgCj4gbGlzdCB0aGF0IHBvaW50ZWQgbWUgaW4gdGhlIGRpcmVjdGlvbiBvZiBjcmVhdGluZyBt eSBvd24gRURJRCBmaWxlIGFuZCBJIAo+IG5vdyBoYXZlIGEgYmluYXJ5IGJsb2IgdGhhdCBtYXRj aGVzIHdoYXQgdGhlIHNlcnZpY2UgbWFudWFsIHNheXMgaXMgdGhlIAo+IHByb3BlciBFRElEIGlu Zm8uCj4gCj4gQnV0IEkgYW0gdW5hYmxlIHRvIGdldCB0aGUgZHJtX2ttc19oZWxwZXIgbW9kdWxl IHRvIGxvYWQgYW5kIHVzZSB0aGlzIGZpbGUuIAo+IE15IHJlbGV2YW50IGtlcm5lbCBjb25maWcg b3B0aW9ucyBhcmUuCj4gCj4gQ09ORklHX0RSTV9LTVNfSEVMUEVSPW0KPiBDT05GSUdfRFJNX0xP QURfRURJRF9GSVJNV0FSRT15Cj4gCj4gbXkgcmVsZXZhbnQga2VybmVsIGNvbW1hbmQgbGluZSBj b250YWluczoKPiAKPiB2aWRlbz1jYXJkMC1IRE1JLUEtMTplIAo+IGRybV9rbXNfaGVscGVyLmVk aWRfZmlybXdhcmU9Y2FyZDAtSERNSS1BLTE6ZWRpZC9sZzQybGI5ZGZfaGRtaTEuZWRpZAoKVGhl IHZhcmlhbnQgd2l0aG91dCBjYXJkMC0gc2hvdWxkIGJlIHRoZSByaWdodCBvbmUuCgo+IFRoZSBl ZGlkIGZpbGU6Cj4gIyBscyAtYWwgL2xpYi9maXJtd2FyZS9lZGlkL2xnNDJsYjlkZl9oZG1pMS5l ZGlkCj4gLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAyNTYgT2N0IDE2IDA1OjQ2IC9saWIvZmlybXdh cmUvZWRpZC9sZzQybGI5ZGZfaGRtaTEuZWRpZAo+IAo+IGNvbm5lY3RvciBpbmZvIGZyb20gL3N5 cy9jbGFzcy9kcm0vCj4gCj4gY2FyZDAgIGNhcmQwLURQLTEgIGNhcmQwLURQLTIgIGNhcmQwLURQ LTMgIGNhcmQwLUhETUktQS0xICBjYXJkMC1IRE1JLUEtMiAKPiBjYXJkMC1IRE1JLUEtMyAgY2Fy ZDAtVkdBLTEgIGNvbnRyb2xENjQgIHZlcnNpb24KPiAKPiBBbmQgSSBkb24ndCByZWFsbHkgdW5k ZXJzdGFuZCB3aHkgSSBoYXZlIDMgZW50cmllcyBmb3IgdGhlIG9uZSBoZG1pIHBvcnQ/IAo+IE5v ciBkbyBJIHJlYWxseSB1bmRlcnN0YW5kIF9leGFjdGx5XyBob3cgdG8gZGVmaW5lIHRoZSBjb25u ZWN0b3IgaW4gbXkgCj4ga2VybmVsIGNvbW1hbmQgbGluZSBvciB3aGljaCBvZiB0aGUgMyBjb25u ZWN0b3JzIGZyb20gL3N5cyBJIHNob3VsZCBiZSAKPiB1c2luZy4gSSd2ZSB0cmllZCBkaWZmZXJl bnQgdmFyaWFudHMuIEllLiBjYXJkMC1IRE1JLUEtMWFuZCBIRE1JLUEtMS4KPiAKPiBUaGUgcmVz dWx0cyBpbiB0aGUga2VybmVsIGxvZyBmaWxlIHJlbWFpbjoKPiAKPiBbICAgIDEuODc5NjU0XSBk cm1fa21zX2hlbHBlcjogVW5rbm93biBwYXJhbWV0ZXIgYGVkaWQnCgpBcyB5b3VyIGRybV9rbXNf aGVscGVyIGlzIGJ1aWx0IG1vZHVsYXIsIGRpZCB5b3UgdHJ5IG5vdCBwdXR0aW5nIHRoYXQKcGFy YW1ldGVyIG9uIGtlcm5lbCBjbWRsaW5lIGJ1dCByYXRoZXIgcHV0IGl0IGluIG1vZHByb2JlJ3Mg Y29uZmlndXJhdGlvbgpmb3IgdGhhdCBtb2R1bGU/IChtYXkgZG9pbmcgdGhlIHdob2xlIGxvYWRp bmcgbWFudWFsbHkpLgoKIyBtb2Rwcm9iZSBkcm1fa21zX2hlbHBlciBlZGlkX2Zpcm13YXJlPUhE TUktQS0xOmVkaWQvbGc0MmxiOWRmX2hkbWkxLmVkaWQKCkkgaGF2ZSBubyBpZGVhIHdoeSBpdCBm YWlscyBmb3IgeW91LCBoZXJlIG9uIHRoZSBzeXN0ZW1zIEkgaGF2ZSBpdCB3b3JrcwpmaW5lIChv biBvbmUgd2hlcmUgZXZlcnl0aGluZyBpcyBidWlsdCBpbnRvIHRoZSBrZXJuZWwgSSBkaWQgc2V0 IHRoZSBjbWRsaW5lCmFyZ3VtZW50cyB2aWEgQ09ORklHX0NNRExJTkU9Ii4uLiIgKGhhdmluZyBD T05GSUdfQ01ETElORV9CT09MPXkpLgoKPiBJIGFzc3VtZSBJIGFtIGRvaW5nIHNvbWV0aGluZyB3 cm9uZyBidXQgSSBoYXZlIHB1dCBzb21lIGRlYnVnIHByaW50a3MgaW4gCj4ga2VybmVsL3BhcmFt cy5jIHRoYXQgc2hvd3MgbWUgZXZlcnkgY2FsbCBtYWRlIHRvIGl0IGFuZCBpdCdzIHBhcmFtcy4g SXQgaXMgCj4gZW50ZXJlZCBtYW55IHRpbWVzIGFuZCBJIHNlZSBhIHNlcXVlbmNlIHRvIGluIHRo ZSBsb2cgZmlsZS4gQXMgYW4gZXhhbXBsZSwgCj4gdGhlIGxhc3Qgb25lIHRvIGNhbGwgd2l0aCBw YXJhbXMgYmVmb3JlIGRybV9rbXNfaGVscGVyIGlzICJsYXRlIiBhbmQgaGVyZSAKPiBhcmUgbXkg ZGVidWcgcHJpbnRzIGZvciBpdDoKCkRpZCB5b3UgY2hlY2sgdGhhdCB5b3VyIGJvb3Rsb2FkZXIg Z2V0IHRoaW5ncyByaWdodCwgZS5nLiBpZiByZXN1bHRzIGFyZSB0aGUKc2FtZSBubyBtYXR0ZXIg aW4gd2hpY2ggb3JkZXIgeW91IHB1dCB0aGUga2VybmVsIHBhcmFtZXRlcnMgKGFuZCBpZiB0aGVy ZSBhcmUKc29tZSBub24tQVNDSUkgdmFsdWVzIGluIHRoZXJlKS4KQXMgeW91IGhhdmUgcXVpdGUg c29tZSBsZW5ndGggb2YgcGFyYW1ldGVycyB0aGVyZSBjb3VsZCBiZSBzb21lIGJ1ZmZlciBzaXpl Cmlzc3VlLgoodGFrZSB0aGlzIGFzIGp1c3Qgd2lsZCBndWVzc2luZykKCkJydW5vCgoKPiBbICAg IDAuODQwMjA2XSBwYXJzZV9hcmdzOiBFbnRlcmVkIGZvciBsYXRlCj4gWyAgICAwLjg0MDIwN10g cGFyc2VfYXJnczogZG9pbmcgPSBsYXRlCj4gWyAgICAwLjg0MDIwOF0gcGFyc2VfYXJnczogYXJn cyAgPSAKPiByb290PS9kZXYvZGlzay9ieS1pZC9hdGEtSU5URUxfU1NEU0MyQ1cwNjBBM19DVkNW MjA1MTA2RUIwNjBBR04tcGFydDQgCj4gdmlkZW89MTAyNHg3NjggCj4gcmVzdW1lPS9kZXYvZGlz ay9ieS1pZC9hdGEtSU5URUxfU1NEU0MyQ1cwNjBBM19DVkNWMjA1MTA2RUIwNjBBR04tcGFydDMg Cj4gc3BsYXNoPXNpbGVudCBxdWlldCB2Z2E9MHgzN2UgaXJxcG9sbCB2aWRlbz1jYXJkMC1IRE1J LUEtMTplIAo+IGRybV9rbXNfaGVscGVyLmVkaWRfZmlybXdhcmU9Y2FyZDAtSERNSS1BLTE6ZWRp ZC9sZzQybGI5ZGZfaGRtaTEuZWRpZAo+IFsgICAgMC44NDAyMDldIHBhcnNlX2FyZ3M6IHBhcmFt cyA9Cj4gWyAgICAwLjg0MDIxMF0gcGFyc2VfYXJnczogbnVtID0gMTc0Cj4gWyAgICAwLjg0MDIx MF0gcGFyc2VfYXJnczogbWluX2xldmVsID0gNwo+IFsgICAgMC44NDAyMTFdIHBhcnNlX2FyZ3M6 IG1heF9sZXZlbCA9IDcKPiAKPiBOb3cgd2hlbiBpdCBnZXRzIHRvIGRybV9rbXNfaGVscGVyIHRo aXMgaXMgd2hhdCBJIGdldCBhbmQgdGhpcyBpcyBjZXJ0YWlubHkgCj4gc2NyZXdlZCB1cCwgSSBq dXN0IGRvbid0IGtub3cgd2h5Lgo+IAo+IFsgICAgMS44Nzk2NDhdIHBhcnNlX2FyZ3M6IEVudGVy ZWQgZm9yIGRybV9rbXNfaGVscGVyCj4gWyAgICAxLjg3OTY0OF0gcGFyc2VfYXJnczogZG9pbmcg PSBkcm1fa21zX2hlbHBlcgo+IFsgICAgMS44Nzk2NDldIHBhcnNlX2FyZ3M6IGFyZ3MgID0gZWRp ZAo+IFx4ZmZmZmZmODZceGZmZmZmZmUyXHhmZmZmZmZmOGhceGZmZmZmZjg5XHhmZmZmZmY4Nlx4 ZmZmZmZmYzBceGZmZmZmZjgwXHhmZmZmZmZmZlx4ZmZmZmZmZmbUklx4ZmZmZmZmZTJceGZmZmZm ZmY4VFx4ZmZmZmZmODZceGZmZmZmZmUyXHhmZmZmZmZmODhceGZmZmZmZjg5XHhmZmZmZmY4Nlx4 ZmZmZmZmYzBceGZmZmZmZmE0XHhmZmZmZmZmZlx4ZmZmZmZmZmZkXHhmZmZmZmY4Nlx4ZmZmZmZm ZTJceGZmZmZmZmY4Cj4gWyAgICAxLjg3OTY1MF0gcGFyc2VfYXJnczogbnVtID0gMgo+IFsgICAg MS44Nzk2NTFdIHBhcnNlX2FyZ3M6IG1pbl9sZXZlbCA9IC0zMjc2OAo+IFsgICAgMS44Nzk2NTFd IHBhcnNlX2FyZ3M6IG1heF9sZXZlbCA9IDMyNzY3Cj4gWyAgICAxLjg3OTY1M10KPiBceGZmZmZm Zjg2XHhmZmZmZmZlMlx4ZmZmZmZmZjhoXHhmZmZmZmY4OVx4ZmZmZmZmODZceGZmZmZmZmMwXHhm ZmZmZmY4MFx4ZmZmZmZmZmZceGZmZmZmZmZm1JJceGZmZmZmZmUyXHhmZmZmZmZmOFRceGZmZmZm Zjg2XHhmZmZmZmZlMlx4ZmZmZmZmZjg4XHhmZmZmZmY4OVx4ZmZmZmZmODZceGZmZmZmZmMwXHhm ZmZmZmZhNFx4ZmZmZmZmZmZceGZmZmZmZmZmZFx4ZmZmZmZmODZceGZmZmZmZmUyXHhmZmZmZmZm OCwgCj4gbnVtPTIsIG1pbl9sZXZlbD0tMzI3NjgsIG1heF9sZXZlbD0zMjc2Nwo+IAo+IFRoZW4g ZmluYWxseToKPiAKPiBbICAgIDEuODc5NjU0XSBkcm1fa21zX2hlbHBlcjogVW5rbm93biBwYXJh bWV0ZXIgYGVkaWQnCj4gCj4gVGhlIGFkZGl0aW9uYWwgcHJpbnRrcyBJIGluc2VydGVkIGludG8g a2VybmVsL3BhcmFtcy5jOgo+IAo+ICAgICAgICAgIGlmICgqYXJncykKPiAgICAgICAgICAgICAg ICAgIHByX2RlYnVnKCJkb2luZyAlcywgcGFyc2luZyBBUkdTOiAnJXMnXG4iLCBkb2luZywgYXJn cyk7Cj4gCj4gKyAgICAgIGlmICgqYXJncykgewo+ICsgICAgICAgICAgICAgIHByaW50aygiXG5w YXJzZV9hcmdzOiBFbnRlcmVkIGZvciAlc1xuIiwgZG9pbmcpOwo+ICsgICAgICAgICAgICAgIHBy aW50aygicGFyc2VfYXJnczogZG9pbmcgPSAlc1xuIiwgZG9pbmcpOwo+ICsgICAgICAgICAgICAg IHByaW50aygicGFyc2VfYXJnczogYXJncyAgPSAlc1xuIiwgYXJncyk7Cj4gKyAgICAgICAgICAg ICAgcHJpbnRrKCJwYXJzZV9hcmdzOiBwYXJhbXMgPSAlc1xuIiwgcGFyYW1zKTsKPiArICAgICAg ICAgICAgICBwcmludGsoInBhcnNlX2FyZ3M6IG51bSA9ICVkXG4iLCBudW0pOwo+ICsgICAgICAg ICAgICAgIHByaW50aygicGFyc2VfYXJnczogbWluX2xldmVsID0gJWRcbiIsbWluX2xldmVsKTsK PiArICAgICAgICAgICAgICBwcmludGsoInBhcnNlX2FyZ3M6IG1heF9sZXZlbCA9ICVkXG4iLCBt YXhfbGV2ZWwpOwo+ICsgICAgICAgfQo+IAo+ICAgICAgICAgIHdoaWxlICgqYXJncykgewo+IAo+ IFRoaXMgaXMgdXNpbmcgYSB2YW5pbGxhIDMuNi4yIGtlcm5lbC4gQW55IGhlbHAgd291bGQgYmUg YXBwcmVjaWF0ZWQuCj4gCj4gUmVnYXJkcwo+IE1hcmsKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK