NetBSD-Bugs archive

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

Re: kern/49285 drmkms on pineview (intel)

The following reply was made to PR kern/49285; it has been noted by GNATS.

From: Taylor R Campbell <>
Subject: Re: kern/49285 drmkms on pineview (intel)
Date: Sun, 21 Jun 2015 17:47:23 +0000

 This is a multi-part message in MIME format.
 Sent to netbsd-bugs.
 Content-Type: message/rfc822
 Content-Disposition: inline
 Date: Wed, 17 Jun 2015 17:26:30 +0100
 From: Patrick Welche <>
 Subject: Re: kern/49285 drmkms on pineview (intel)
 MIME-Version: 1.0
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 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