Re: [PATCH v2] drm/bochs: add edid present check
From: Daniel Vetter
Date: Thu Dec 20 2018 - 03:30:34 EST
On Thu, Dec 20, 2018 at 09:28:26AM +0100, Daniel Vetter wrote:
> On Thu, Dec 20, 2018 at 07:50:01AM +0100, Gerd Hoffmann wrote:
> > Check first two header bytes before trying to read the edid blob,
> > to avoid the log being spammed in case qemu has no edid support (old
> > qemu or edid turned off).
> >
> > Fixes: 01f23459cf drm/bochs: add edid support.
> > Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
>
> It's a bit a hack, but makes sense.
On 2nd thought, maybe make it less of a hack by reading all 8 bytes of the
header and checking it with drm_edit_is_valid().
-Daniel
>
> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
> > ---
> > drivers/gpu/drm/bochs/bochs_hw.c | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/bochs/bochs_hw.c b/drivers/gpu/drm/bochs/bochs_hw.c
> > index c90a0d492f..e1f8ffce00 100644
> > --- a/drivers/gpu/drm/bochs/bochs_hw.c
> > +++ b/drivers/gpu/drm/bochs/bochs_hw.c
> > @@ -89,6 +89,14 @@ int bochs_hw_load_edid(struct bochs_device *bochs)
> > if (!bochs->mmio)
> > return -1;
> >
> > + /*
> > + * Check first two EDID blob header bytes to figure whenever
> > + * edid support is enabled in qemu.
> > + */
> > + if (readb(bochs->mmio + 0) != 0x00 ||
> > + readb(bochs->mmio + 1) != 0xff)
> > + return -1;
> > +
> > kfree(bochs->edid);
> > bochs->edid = drm_do_get_edid(&bochs->connector,
> > bochs_get_edid_block, bochs);
> > --
> > 2.9.3
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@xxxxxxxxxxxxxxxxxxxxx
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch