NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/49285 drmkms on pineview (intel)

I connected the "broken" monitor above, which is detected by the pineview
as having a broken 0x00ffffff... EDID into a -current/amd64 Sandy Bridge
laptop, and happily used it as a second high resolution screen.

The Sandy Bridge managed to read its EDID successfully (including no
mention of bit banging).

I applied the following kludge:

Index: sys/external/bsd/drm2/dist/drm/drm_edid.c
RCS file: /cvsroot/src/sys/external/bsd/drm2/dist/drm/drm_edid.c,v
retrieving revision 1.4
diff -u -r1.4 drm_edid.c
--- sys/external/bsd/drm2/dist/drm/drm_edid.c   16 Jul 2014 20:56:24 -0000      1.4
+++ sys/external/bsd/drm2/dist/drm/drm_edid.c   17 Jun 2015 16:03:43 -0000
@@ -1282,10 +1284,28 @@
 struct edid *drm_get_edid(struct drm_connector *connector,
                          struct i2c_adapter *adapter)
+       static const u8 rawedid[EDID_LENGTH] = {
+       };
        struct edid *edid = NULL;
        if (drm_probe_ddc(adapter))
                edid = (struct edid *)drm_do_get_edid(connector, adapter);
+       struct edid *edid = kmalloc(EDID_LENGTH, GFP_KERNEL);
+       if (edid != NULL)
+               memcpy(edid, rawedid, EDID_LENGTH);
        return edid;

and said pineview now does 1366x768 pixels on the "broken" monitor, (without
trying to disable the spurious LVDS1 connector)...

Sounds like this all boils down to a gmbus problem...

Home | Main Index | Thread Index | Old Index