From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Hounschell Subject: Re: Intel graphics drm issue? Date: Mon, 15 Oct 2012 05:58:00 -0400 Message-ID: <507BDE28.30907@cfl.rr.com> References: <507812E8.3060607@compro.net> <20121012231459.166e29fd@neptune.home> <5079B97C.7020401@cfl.rr.com> <5079BE5C.8020401@cfl.rr.com> <20121014104138.7e8a9c59@neptune.home> <507A997D.7070508@cfl.rr.com> <20121014130323.06f0225d@neptune.home> <507AEE4A.1000907@cfl.rr.com> <20121014192253.5a7517ef@neptune.home> <507AFE69.70405@cfl.rr.com> <20121014201941.22284249@neptune.home> <507B0B16.4010900@cfl.rr.com> <20121014224057.2033a769@neptune.home> Reply-To: dmarkh@cfl.rr.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <20121014224057.2033a769@neptune.home> Sender: linux-kernel-owner@vger.kernel.org To: =?ISO-8859-1?Q?Bruno_Pr=E9mont?= Cc: markh@compro.net, linux-kernel@vger.kernel.org, Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org On 10/14/2012 04:40 PM, Bruno Pr=E9mont wrote: > On Sun, 14 October 2012 Mark Hounschell wrote: >> I gave it a try. I don't think it liked my kernel cmdline. dmesg att= ached. >> There is a lot more in there now that nomodeset is gone and the debu= g is >> turned on. >> >> # ls -al /lib/firmware/edid/lg42lb9df.edid >> -rw-r--r-- 1 root root 1024 Oct 14 2012 /lib/firmware/edid/lg42lb9d= f.edid >> >> ## cat /proc/cmdline >> root=3D/dev/disk/by-id/ata-INTEL_SSDSC2CW060A3_CVCV205106EB060AGN-pa= rt4 >> noresume splash=3Dsilent quiet apm=3Doff vga=3Dnormal drm.debug=3D0x= e irqpoll >> drm_kms_helper.edid_firmware=3Dedid/lg42lb9df.edid >> >> >> from attached dmesg: >> 1.833032] drm_kms_helper: Unknown parameter `edid' > > As your drm drivers seem to all be built-in (according to kernel timi= ngs) > you will have to build the EDID firmware into the kernel as well (see > CONFIG_EXTRA_FIRMWARE), otherwise it probably can't be loaded (unless= Linus' > firmware loading patch is already in 3.6.2 and root filesystem/initrd= is > ready at that time). > > Did you set CONFIG_DRM_LOAD_EDID_FIRMWARE? > If not, that may be the reason for unknown parameter `edid' error. > > > But I saw I mis-remembered side of EDID blobs, they are just 128 byte= s > per block, not 512 (seems I was thinking disk sector sizes), > thus you should just get 256 bytes output. > > Just truncating the file to 256 bytes will do. You may also > change your .c file to have > uint8_t firmware[] =3D { > ... > }; > ... > fwrite(firmware, sizeof(firmware), 1, fd); > ... > > that way compiler gets numbers right :) > > Kernel code rejects edid with unexpected size! Thus it would have > complained if it had tried to load it with a size of 1k. > Good morning Bruno. Still no luck here. I must be doing something wrong. geexbox:/usr/src/linux-3.6.2 # grep -rn CONFIG_EXTRA_FIRMWARE .config 1406:CONFIG_EXTRA_FIRMWARE=3D"edid/lg42lb9df.edid" 1407:CONFIG_EXTRA_FIRMWARE_DIR=3D"firmware" geexbox:/usr/src/linux-3.6.2 # grep CONFIG_DRM_LOAD_EDID_FIRMWARE .conf= ig CONFIG_DRM_LOAD_EDID_FIRMWARE=3Dy geexbox:/usr/src/linux-3.6.2 # ls -al firmware/edid/ -rw-r--r-- 1 root root 256 Oct 14 19:18 firmware/edid/lg42lb9df.edid I believe the the drm modules are modules and in initrd. geexbox:/boot # mkinitrd -i initrd-3.6.2 -k vmlinuz-3.6.2 Kernel image: /boot/vmlinuz-3.6.2 Initrd image: /boot/initrd-3.6.2 KMS drivers: i915 Root device:=20 /dev/disk/by-id/ata-INTEL_SSDSC2CW060A3_CVCV205106EB060AGN-part4=20 (/dev/sda4) (mounted on / as ext4) Kernel Modules: thermal fan scsi_dh scsi_dh_emc scsi_dh_rdac scsi_dh_al= ua=20 scsi_dh_hp_sw crc16 jbd2 ext4 video button i2c-algo-bit drm drm_kms_hel= per=20 i915 xhci-hcd hid-logitech-dj hid-generic =46eatures: acpi kms plymouth block usb resume.userspace resume.k= ernel After the kernel build, I have these in /usr/src/linux-3.6.2/firmware/e= did/ geexbox:/usr/src/linux-3.6.2 # ls -al firmware/edid/ lg42lb9df.edid lg42lb9df.edid.gen.o=20 =2Elg42lb9df.edid.gen.o.cmd lg42lb9df.edid.gen.S geexbox:/usr/src/linux-3.6.2 # ls -al firmware/edid/* -rw-r--r-- 1 root root 256 Oct 14 19:18 firmware/edid/lg42lb9df.edid -rw-r--r-- 1 root root 1104 Oct 15 00:52 firmware/edid/lg42lb9df.edid.g= en.o -rw-r--r-- 1 root root 475 Oct 15 00:52 firmware/edid/lg42lb9df.edid.g= en.S After boot, from dmesg: [ 0.000000] Kernel command line:=20 root=3D/dev/disk/by-id/ata-INTEL_SSDSC2CW060A3_CVCV205106EB060AGN-part4= =20 noresume splash=3Dsilent quiet apm=3Doff vga=3Dnormal irqpoll=20 drm_kms_helper.edid_firmware=3Dcard0-HDMI-A-1:edid/lg42lb9df.edid,card0= -HDMI-A-3:edid/lg42lb9df.edid,card0-HDMI-A-3:edid/lg42lb9df.edid [ 1.835741] drm_kms_helper: Unknown parameter `edid' Regards Mark