Module Name: src Committed By: jmcneill Date: Fri May 31 01:58:07 UTC 2019
Modified Files: src/sys/external/bsd/drm2/radeon: radeondrmkmsfb.c Log Message: Make the first EDID we find available to genfb To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/drm2/radeon/radeondrmkmsfb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/radeon/radeondrmkmsfb.c diff -u src/sys/external/bsd/drm2/radeon/radeondrmkmsfb.c:1.8 src/sys/external/bsd/drm2/radeon/radeondrmkmsfb.c:1.9 --- src/sys/external/bsd/drm2/radeon/radeondrmkmsfb.c:1.8 Mon Aug 27 13:36:14 2018 +++ src/sys/external/bsd/drm2/radeon/radeondrmkmsfb.c Fri May 31 01:58:07 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: radeondrmkmsfb.c,v 1.8 2018/08/27 13:36:14 riastradh Exp $ */ +/* $NetBSD: radeondrmkmsfb.c,v 1.9 2019/05/31 01:58:07 jmcneill Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: radeondrmkmsfb.c,v 1.8 2018/08/27 13:36:14 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: radeondrmkmsfb.c,v 1.9 2019/05/31 01:58:07 jmcneill Exp $"); #ifdef _KERNEL_OPT #include "vga.h" @@ -163,7 +163,7 @@ radeonfb_setconfig_task(struct radeon_ta enum { CONS_VGA, CONS_GENFB, CONS_NONE } what_was_cons; static const struct genfb_ops zero_genfb_ops; struct genfb_ops genfb_ops = zero_genfb_ops; - int error; + int error, n; KASSERT(sc->sc_scheduled); @@ -196,6 +196,19 @@ radeonfb_setconfig_task(struct radeon_ta prop_dictionary_set_bool(dict, "is_console", false); } + /* Make the first EDID we find available to wsfb */ + for (n = 0; n < rfa->rfa_fb_helper->connector_count; n++) { + struct drm_connector *connector = + rfa->rfa_fb_helper->connector_info[n]->connector; + struct drm_property_blob *edid = connector->edid_blob_ptr; + if (edid && edid->data) { + prop_data_t edid_data = + prop_data_create_data(edid->data, edid->length); + prop_dictionary_set(dict, "EDID", edid_data); + break; + } + } + sc->sc_genfb.sc_dev = sc->sc_dev; genfb_init(&sc->sc_genfb); genfb_ops.genfb_ioctl = radeonfb_genfb_ioctl;