sys/dev/ic/anxdp.c
316
struct edid *pedid = NULL;
sys/dev/ic/dwhdmi.c
592
struct edid *edid;
sys/dev/ic/dwhdmi.c
598
edid = drm_get_edid(connector, &ddc);
sys/dev/ic/dwhdmi.c
599
if (edid) {
sys/dev/ic/dwhdmi.c
600
dwhdmi_connector->hdmi_monitor = drm_detect_hdmi_monitor(edid);
sys/dev/ic/dwhdmi.c
601
dwhdmi_connector->monitor_audio = drm_detect_monitor_audio(edid);
sys/dev/ic/dwhdmi.c
602
drm_connector_update_edid_property(connector, edid);
sys/dev/ic/dwhdmi.c
603
error = drm_add_edid_modes(connector, edid);
sys/dev/ic/dwhdmi.c
604
kfree(edid);
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
1062
if (!amdgpu_connector->edid) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
1069
!!(amdgpu_connector->edid->input & DRM_EDID_INPUT_DIGITAL);
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
249
static struct edid *
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
261
if (amdgpu_connector->edid)
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
271
amdgpu_connector->edid = drm_get_edid(connector,
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
280
amdgpu_connector->edid = drm_get_edid(connector,
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
283
amdgpu_connector->edid = drm_get_edid(connector,
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
286
amdgpu_connector->edid = drm_get_edid(connector,
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
290
if (!amdgpu_connector->edid) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
294
amdgpu_connector->edid = amdgpu_connector_get_hardcoded_edid(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
295
drm_connector_update_edid_property(connector, amdgpu_connector->edid);
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
304
kfree(amdgpu_connector->edid);
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
305
amdgpu_connector->edid = NULL;
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
313
if (amdgpu_connector->edid) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
314
drm_connector_update_edid_property(connector, amdgpu_connector->edid);
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
315
ret = drm_add_edid_modes(connector, amdgpu_connector->edid);
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
731
if (amdgpu_connector->edid)
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
881
if (!amdgpu_connector->edid) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_connectors.c
887
!!(amdgpu_connector->edid->input & DRM_EDID_INPUT_DIGITAL);
sys/dev/pci/drm/amd/amdgpu/amdgpu_mode.h
53
struct edid;
sys/dev/pci/drm/amd/amdgpu/amdgpu_mode.h
629
struct edid *edid;
sys/dev/pci/drm/amd/amdgpu/atombios_encoders.c
2067
const struct drm_edid *edid;
sys/dev/pci/drm/amd/amdgpu/atombios_encoders.c
2074
edid = drm_edid_alloc(fake_edid_record->ucFakeEDIDString, edid_size);
sys/dev/pci/drm/amd/amdgpu/atombios_encoders.c
2075
if (drm_edid_valid(edid))
sys/dev/pci/drm/amd/amdgpu/atombios_encoders.c
2076
adev->mode_info.bios_hardcoded_edid = edid;
sys/dev/pci/drm/amd/amdgpu/atombios_encoders.c
2078
drm_edid_free(edid);
sys/dev/pci/drm/amd/amdgpu/dce_v10_0.c
1301
sad_count = drm_edid_to_speaker_allocation(amdgpu_connector->edid, &sadb);
sys/dev/pci/drm/amd/amdgpu/dce_v10_0.c
1371
sad_count = drm_edid_to_sad(amdgpu_connector->edid, &sads);
sys/dev/pci/drm/amd/amdgpu/dce_v6_0.c
1268
sad_count = drm_edid_to_speaker_allocation(amdgpu_connector->edid, &sadb);
sys/dev/pci/drm/amd/amdgpu/dce_v6_0.c
1349
sad_count = drm_edid_to_sad(amdgpu_connector->edid, &sads);
sys/dev/pci/drm/amd/amdgpu/dce_v8_0.c
1274
sad_count = drm_edid_to_speaker_allocation(amdgpu_connector->edid, &sadb);
sys/dev/pci/drm/amd/amdgpu/dce_v8_0.c
1342
sad_count = drm_edid_to_sad(amdgpu_connector->edid, &sads);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12900
const struct edid *edid)
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12908
if (!edid || !edid->extensions)
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12912
for (i = 0; i < edid->extensions; i++) {
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12913
edid_ext = (void *)(edid + (i + 1));
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12918
if (i == edid->extensions)
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12943
const struct edid *edid, struct amdgpu_hdmi_vsdb_info *vsdb_info)
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12949
if (edid == NULL || edid->extensions == 0)
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12953
for (i = 0; i < edid->extensions; i++) {
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12954
edid_ext = (void *)(edid + (i + 1));
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12978
const struct edid *edid,
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12987
if (edid == NULL || edid->extensions == 0)
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12991
for (i = 0; i < edid->extensions; i++) {
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12992
edid_ext = (uint8_t *)edid + EDID_LENGTH * (i + 1);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
12997
if (i == edid->extensions)
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13030
const struct edid *edid;
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13060
edid = drm_edid_raw(drm_edid); // FIXME: Get rid of drm_edid_raw()
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13065
parse_edid_displayid_vrr(connector, edid);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13067
if (edid && (sink->sink_signal == SIGNAL_TYPE_DISPLAY_PORT ||
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13077
parse_amd_vsdb(amdgpu_dm_connector, edid, &vsdb_info);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13086
i = parse_hdmi_amd_vsdb(amdgpu_dm_connector, edid, &vsdb_info);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13102
i = parse_hdmi_amd_vsdb(amdgpu_dm_connector, edid, &vsdb_info);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
3841
const struct edid *edid = (const struct edid *)sink->dc_edid.raw_edid;
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
3843
aconnector->drm_edid = drm_edid_alloc(edid, sink->dc_edid.length);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7734
const struct edid *edid = drm_edid_raw(drm_edid);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7737
memmove(dc_em_sink->dc_edid.raw_edid, edid,
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7738
(edid->extensions + 1) * EDID_LENGTH);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7774
const struct edid *edid;
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7794
edid = drm_edid_raw(drm_edid); // FIXME: Get rid of drm_edid_raw()
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7797
(uint8_t *)edid,
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7798
(edid->extensions + 1) * EDID_LENGTH,
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1006
const struct edid *edid;
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1036
edid = drm_edid_raw(drm_edid); // FIXME: Get rid of drm_edid_raw()
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1037
if (!edid ||
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1038
edid->extensions >= sizeof(sink->dc_edid.raw_edid) / EDID_LENGTH)
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1041
sink->dc_edid.length = EDID_LENGTH * (edid->extensions + 1);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1042
memmove(sink->dc_edid.raw_edid, (uint8_t *)edid, sink->dc_edid.length);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
106
const struct dc_edid *edid,
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
112
struct edid *edid_buf = edid ? (struct edid *) edid->raw_edid : NULL;
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
121
if (!edid_caps || !edid)
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
143
sad_count = drm_edid_to_sad((struct edid *) edid->raw_edid, &sads);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
157
sadb_count = drm_edid_to_speaker_allocation((struct edid *) edid->raw_edid, &sadb);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
52
static u32 edid_extract_panel_id(struct edid *edid)
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
54
return (u32)edid->mfg_id[0] << 24 |
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
55
(u32)edid->mfg_id[1] << 16 |
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
56
(u32)EDID_PRODUCT_ID(edid);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
59
static void apply_edid_quirks(struct drm_device *dev, struct edid *edid, struct dc_edid_caps *edid_caps)
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
61
uint32_t panel_id = edid_extract_panel_id(edid);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
939
struct edid *edid;
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
946
r = acpi_video_get_edid(acpidev, ACPI_VIDEO_DISPLAY_LCD, -1, (void *)&edid);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
957
if (edid->revision < 4 || !(edid->input & DRM_EDID_INPUT_DIGITAL) ||
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
958
(edid->input & DRM_EDID_DIGITAL_TYPE_MASK) == DRM_EDID_DIGITAL_TYPE_UNDEF) {
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
963
memcpy(buf, (void *)edid + start, len);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
967
kfree(edid);
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
429
const struct edid *edid;
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
431
edid = drm_edid_raw(aconnector->drm_edid); // FIXME: Get rid of drm_edid_raw()
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
434
(uint8_t *)edid,
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
435
(edid->extensions + 1) * EDID_LENGTH,
sys/dev/pci/drm/amd/display/dc/core/dc_link_exports.c
284
const uint8_t *edid,
sys/dev/pci/drm/amd/display/dc/core/dc_link_exports.c
288
return link->dc->link_srv->add_remote_sink(link, edid, len, init_data);
sys/dev/pci/drm/amd/display/dc/dc.h
2006
const uint8_t *edid,
sys/dev/pci/drm/amd/display/dc/dm_helpers.h
224
enum dc_edid_status dm_helpers_get_sbios_edid(struct dc_link *link, struct dc_edid *edid);
sys/dev/pci/drm/amd/display/dc/dm_helpers.h
64
const struct dc_edid *edid,
sys/dev/pci/drm/amd/display/dc/inc/link_service.h
112
const uint8_t *edid,
sys/dev/pci/drm/amd/display/dc/link/link_detection.c
1396
const uint8_t *edid,
sys/dev/pci/drm/amd/display/dc/link/link_detection.c
1423
memmove(dc_sink->dc_edid.raw_edid, edid, len);
sys/dev/pci/drm/amd/display/dc/link/link_detection.h
34
const uint8_t *edid,
sys/dev/pci/drm/display/drm_dp_helper.c
1045
const struct edid *edid = drm_edid_raw(drm_edid);
sys/dev/pci/drm/display/drm_dp_helper.c
1047
return edid && edid->revision >= 4 &&
sys/dev/pci/drm/display/drm_dp_helper.c
1048
edid->input & DRM_EDID_INPUT_DIGITAL &&
sys/dev/pci/drm/display/drm_dp_helper.c
1049
(edid->input & DRM_EDID_DIGITAL_TYPE_MASK) == DRM_EDID_DIGITAL_TYPE_DP;
sys/dev/pci/drm/display/drm_dp_mst_topology.c
4401
struct edid *drm_dp_mst_get_edid(struct drm_connector *connector,
sys/dev/pci/drm/display/drm_dp_mst_topology.c
4406
struct edid *edid;
sys/dev/pci/drm/display/drm_dp_mst_topology.c
4410
edid = drm_edid_duplicate(drm_edid_raw(drm_edid));
sys/dev/pci/drm/display/drm_dp_mst_topology.c
4414
return edid;
sys/dev/pci/drm/display/drm_dp_mst_topology.c
4903
struct edid *mst_edid;
sys/dev/pci/drm/drm_crtc_internal.h
298
int drm_edid_override_set(struct drm_connector *connector, const void *edid, size_t size);
sys/dev/pci/drm/drm_crtc_internal.h
65
struct edid;
sys/dev/pci/drm/drm_edid.c
1606
const struct edid *edid;
sys/dev/pci/drm/drm_edid.c
1609
static int edid_hfeeodb_extension_block_count(const struct edid *edid);
sys/dev/pci/drm/drm_edid.c
1611
static int edid_hfeeodb_block_count(const struct edid *edid)
sys/dev/pci/drm/drm_edid.c
1613
int eeodb = edid_hfeeodb_extension_block_count(edid);
sys/dev/pci/drm/drm_edid.c
1618
static int edid_extension_block_count(const struct edid *edid)
sys/dev/pci/drm/drm_edid.c
1620
return edid->extensions;
sys/dev/pci/drm/drm_edid.c
1623
static int edid_block_count(const struct edid *edid)
sys/dev/pci/drm/drm_edid.c
1625
return edid_extension_block_count(edid) + 1;
sys/dev/pci/drm/drm_edid.c
1633
static int edid_size(const struct edid *edid)
sys/dev/pci/drm/drm_edid.c
1635
return edid_size_by_blocks(edid_block_count(edid));
sys/dev/pci/drm/drm_edid.c
1638
static const void *edid_block_data(const struct edid *edid, int index)
sys/dev/pci/drm/drm_edid.c
1640
BUILD_BUG_ON(sizeof(*edid) != EDID_LENGTH);
sys/dev/pci/drm/drm_edid.c
1642
return edid + index;
sys/dev/pci/drm/drm_edid.c
1645
static const void *edid_extension_block_data(const struct edid *edid, int index)
sys/dev/pci/drm/drm_edid.c
1647
return edid_block_data(edid, index + 1);
sys/dev/pci/drm/drm_edid.c
1656
num_blocks = edid_block_count(drm_edid->edid);
sys/dev/pci/drm/drm_edid.c
1666
eeodb = edid_hfeeodb_block_count(drm_edid->edid);
sys/dev/pci/drm/drm_edid.c
1690
return edid_block_data(drm_edid->edid, index);
sys/dev/pci/drm/drm_edid.c
1696
return edid_extension_block_data(drm_edid->edid, index);
sys/dev/pci/drm/drm_edid.c
1704
const struct edid *edid)
sys/dev/pci/drm/drm_edid.c
1706
if (!edid)
sys/dev/pci/drm/drm_edid.c
1711
drm_edid->edid = edid;
sys/dev/pci/drm/drm_edid.c
1712
drm_edid->size = edid_size(edid);
sys/dev/pci/drm/drm_edid.c
1769
static void edid_header_fix(void *edid)
sys/dev/pci/drm/drm_edid.c
1771
memcpy(edid, edid_header, sizeof(edid_header));
sys/dev/pci/drm/drm_edid.c
1784
const struct edid *edid = _edid;
sys/dev/pci/drm/drm_edid.c
1788
if (edid->header[i] == edid_header[i])
sys/dev/pci/drm/drm_edid.c
1817
const struct edid *block = _block;
sys/dev/pci/drm/drm_edid.c
1829
static bool edid_block_is_zero(const void *edid)
sys/dev/pci/drm/drm_edid.c
1831
return mem_is_zero(edid, EDID_LENGTH);
sys/dev/pci/drm/drm_edid.c
1837
bool edid1_present = drm_edid && drm_edid->edid && drm_edid->size;
sys/dev/pci/drm/drm_edid.c
1847
if (memcmp(drm_edid->edid, raw_edid, drm_edid->size))
sys/dev/pci/drm/drm_edid.c
1869
const struct edid *block = _block;
sys/dev/pci/drm/drm_edid.c
1917
const struct edid *block,
sys/dev/pci/drm/drm_edid.c
1987
struct edid *block = _block;
sys/dev/pci/drm/drm_edid.c
2039
bool drm_edid_is_valid(struct edid *edid)
sys/dev/pci/drm/drm_edid.c
2043
if (!edid)
sys/dev/pci/drm/drm_edid.c
2046
for (i = 0; i < edid_block_count(edid); i++) {
sys/dev/pci/drm/drm_edid.c
2047
void *block = (void *)edid_block_data(edid, i);
sys/dev/pci/drm/drm_edid.c
2087
static struct edid *edid_filter_invalid_blocks(struct edid *edid,
sys/dev/pci/drm/drm_edid.c
2090
struct edid *new;
sys/dev/pci/drm/drm_edid.c
2098
for (i = 0; i < edid_block_count(edid); i++) {
sys/dev/pci/drm/drm_edid.c
2099
const void *src_block = edid_block_data(edid, i);
sys/dev/pci/drm/drm_edid.c
2102
void *dst_block = (void *)edid_block_data(edid, valid_blocks);
sys/dev/pci/drm/drm_edid.c
2111
kfree(edid);
sys/dev/pci/drm/drm_edid.c
2115
edid->extensions = valid_blocks - 1;
sys/dev/pci/drm/drm_edid.c
2116
edid->checksum = edid_block_compute_checksum(edid);
sys/dev/pci/drm/drm_edid.c
2121
new = krealloc(edid, *alloc_size, GFP_KERNEL);
sys/dev/pci/drm/drm_edid.c
2123
kfree(edid);
sys/dev/pci/drm/drm_edid.c
2127
kfree(edid);
sys/dev/pci/drm/drm_edid.c
2130
memcpy(new, edid, EDID_LENGTH);
sys/dev/pci/drm/drm_edid.c
2131
kfree(edid);
sys/dev/pci/drm/drm_edid.c
2202
const struct edid *edid, int num_blocks)
sys/dev/pci/drm/drm_edid.c
2213
last_block = edid->extensions;
sys/dev/pci/drm/drm_edid.c
2218
edid_block_compute_checksum(edid + last_block);
sys/dev/pci/drm/drm_edid.c
2226
edid_block_dump(KERN_DEBUG, edid + i, i);
sys/dev/pci/drm/drm_edid.c
2256
seq_write(m, drm_edid->edid, drm_edid->size);
sys/dev/pci/drm/drm_edid.c
2264
int drm_edid_override_set(struct drm_connector *connector, const void *edid,
sys/dev/pci/drm/drm_edid.c
2269
drm_edid = drm_edid_alloc(edid, size);
sys/dev/pci/drm/drm_edid.c
2373
static struct edid *_drm_do_get_edid(struct drm_connector *connector,
sys/dev/pci/drm/drm_edid.c
2380
struct edid *edid, *new;
sys/dev/pci/drm/drm_edid.c
2386
edid = kmemdup(override->edid, alloc_size, GFP_KERNEL);
sys/dev/pci/drm/drm_edid.c
2388
if (!edid)
sys/dev/pci/drm/drm_edid.c
2393
edid = kmalloc(alloc_size, GFP_KERNEL);
sys/dev/pci/drm/drm_edid.c
2394
if (!edid)
sys/dev/pci/drm/drm_edid.c
2397
status = edid_block_read(edid, 0, read_block, context);
sys/dev/pci/drm/drm_edid.c
2399
edid_block_status_print(status, edid, 0);
sys/dev/pci/drm/drm_edid.c
2410
if (!edid_block_status_valid(status, edid_block_tag(edid))) {
sys/dev/pci/drm/drm_edid.c
2414
connector_bad_edid(connector, edid, 1);
sys/dev/pci/drm/drm_edid.c
2418
if (!edid_extension_block_count(edid))
sys/dev/pci/drm/drm_edid.c
2421
alloc_size = edid_size(edid);
sys/dev/pci/drm/drm_edid.c
2423
new = krealloc(edid, alloc_size, GFP_KERNEL);
sys/dev/pci/drm/drm_edid.c
2430
memcpy(new, edid, EDID_LENGTH);
sys/dev/pci/drm/drm_edid.c
2431
kfree(edid);
sys/dev/pci/drm/drm_edid.c
2433
edid = new;
sys/dev/pci/drm/drm_edid.c
2435
num_blocks = edid_block_count(edid);
sys/dev/pci/drm/drm_edid.c
2437
void *block = (void *)edid_block_data(edid, i);
sys/dev/pci/drm/drm_edid.c
2457
int eeodb = edid_hfeeodb_block_count(edid);
sys/dev/pci/drm/drm_edid.c
2463
new = krealloc(edid, alloc_size, GFP_KERNEL);
sys/dev/pci/drm/drm_edid.c
2470
memcpy(new, edid, EDID_LENGTH);
sys/dev/pci/drm/drm_edid.c
2471
kfree(edid);
sys/dev/pci/drm/drm_edid.c
2473
edid = new;
sys/dev/pci/drm/drm_edid.c
2479
connector_bad_edid(connector, edid, num_blocks);
sys/dev/pci/drm/drm_edid.c
2481
edid = edid_filter_invalid_blocks(edid, &alloc_size);
sys/dev/pci/drm/drm_edid.c
2488
return edid;
sys/dev/pci/drm/drm_edid.c
2491
kfree(edid);
sys/dev/pci/drm/drm_edid.c
2505
const struct edid *drm_edid_raw(const struct drm_edid *drm_edid)
sys/dev/pci/drm/drm_edid.c
2514
if (WARN_ON(edid_size(drm_edid->edid) > drm_edid->size))
sys/dev/pci/drm/drm_edid.c
2517
return drm_edid->edid;
sys/dev/pci/drm/drm_edid.c
2522
static const struct drm_edid *_drm_edid_alloc(const void *edid, size_t size)
sys/dev/pci/drm/drm_edid.c
2526
if (!edid || !size || size < EDID_LENGTH)
sys/dev/pci/drm/drm_edid.c
2531
drm_edid->edid = edid;
sys/dev/pci/drm/drm_edid.c
2552
const struct drm_edid *drm_edid_alloc(const void *edid, size_t size)
sys/dev/pci/drm/drm_edid.c
2556
if (!edid || !size || size < EDID_LENGTH)
sys/dev/pci/drm/drm_edid.c
2559
edid = kmemdup(edid, size, GFP_KERNEL);
sys/dev/pci/drm/drm_edid.c
2560
if (!edid)
sys/dev/pci/drm/drm_edid.c
2563
drm_edid = _drm_edid_alloc(edid, size);
sys/dev/pci/drm/drm_edid.c
2565
kfree(edid);
sys/dev/pci/drm/drm_edid.c
2584
return drm_edid_alloc(drm_edid->edid, drm_edid->size);
sys/dev/pci/drm/drm_edid.c
2597
kfree(drm_edid->edid);
sys/dev/pci/drm/drm_edid.c
2627
struct edid *drm_get_edid(struct drm_connector *connector,
sys/dev/pci/drm/drm_edid.c
2630
struct edid *edid;
sys/dev/pci/drm/drm_edid.c
2638
edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
sys/dev/pci/drm/drm_edid.c
2639
drm_connector_update_edid_property(connector, edid);
sys/dev/pci/drm/drm_edid.c
2640
return edid;
sys/dev/pci/drm/drm_edid.c
2672
struct edid *edid;
sys/dev/pci/drm/drm_edid.c
2675
edid = _drm_do_get_edid(connector, read_block, context, &size);
sys/dev/pci/drm/drm_edid.c
2676
if (!edid)
sys/dev/pci/drm/drm_edid.c
2682
drm_edid = _drm_edid_alloc(edid, size);
sys/dev/pci/drm/drm_edid.c
2684
kfree(edid);
sys/dev/pci/drm/drm_edid.c
2758
if (drm_edid && drm_edid->edid && drm_edid->size >= EDID_LENGTH)
sys/dev/pci/drm/drm_edid.c
2759
memcpy(id, &drm_edid->edid->product_id, sizeof(*id));
sys/dev/pci/drm/drm_edid.c
2823
const struct edid *edid = drm_edid->edid;
sys/dev/pci/drm/drm_edid.c
2841
return (u32)edid->mfg_id[0] << 24 |
sys/dev/pci/drm/drm_edid.c
2842
(u32)edid->mfg_id[1] << 16 |
sys/dev/pci/drm/drm_edid.c
2843
(u32)EDID_PRODUCT_ID(edid);
sys/dev/pci/drm/drm_edid.c
2905
struct edid *drm_get_edid_switcheroo(struct drm_connector *connector,
sys/dev/pci/drm/drm_edid.c
2913
struct edid *edid;
sys/dev/pci/drm/drm_edid.c
2919
edid = drm_get_edid(connector, adapter);
sys/dev/pci/drm/drm_edid.c
2922
return edid;
sys/dev/pci/drm/drm_edid.c
2966
struct edid *drm_edid_duplicate(const struct edid *edid)
sys/dev/pci/drm/drm_edid.c
2968
if (!edid)
sys/dev/pci/drm/drm_edid.c
2971
return kmemdup(edid, edid_size(edid), GFP_KERNEL);
sys/dev/pci/drm/drm_edid.c
3163
cb(&drm_edid->edid->detailed_timings[i], closure);
sys/dev/pci/drm/drm_edid.c
3201
if (drm_edid->edid->revision >= 4) {
sys/dev/pci/drm/drm_edid.c
3314
const struct edid *edid = drm_edid->edid;
sys/dev/pci/drm/drm_edid.c
3316
if (edid->revision >= 4) {
sys/dev/pci/drm/drm_edid.c
3326
} else if (edid->revision >= 3 && drm_gtf2_hbreak(drm_edid)) {
sys/dev/pci/drm/drm_edid.c
3328
} else if (edid->revision >= 2) {
sys/dev/pci/drm/drm_edid.c
3411
if (drm_edid->edid->revision < 3)
sys/dev/pci/drm/drm_edid.c
3628
mode->width_mm = drm_edid->edid->width_cm * 10;
sys/dev/pci/drm/drm_edid.c
3629
mode->height_mm = drm_edid->edid->height_cm * 10;
sys/dev/pci/drm/drm_edid.c
3640
const struct edid *edid, const u8 *t)
sys/dev/pci/drm/drm_edid.c
3645
if (edid->revision >= 4)
sys/dev/pci/drm/drm_edid.c
3648
if (edid->revision >= 4)
sys/dev/pci/drm/drm_edid.c
3657
const struct edid *edid, const u8 *t)
sys/dev/pci/drm/drm_edid.c
3662
if (edid->revision >= 4)
sys/dev/pci/drm/drm_edid.c
3665
if (edid->revision >= 4)
sys/dev/pci/drm/drm_edid.c
3673
range_pixel_clock(const struct edid *edid, const u8 *t)
sys/dev/pci/drm/drm_edid.c
3680
if (edid->revision >= 4 && t[10] == DRM_EDID_CVT_SUPPORT_FLAG)
sys/dev/pci/drm/drm_edid.c
3691
const struct edid *edid = drm_edid->edid;
sys/dev/pci/drm/drm_edid.c
3695
if (!mode_in_hsync_range(mode, edid, t))
sys/dev/pci/drm/drm_edid.c
3698
if (!mode_in_vsync_range(mode, edid, t))
sys/dev/pci/drm/drm_edid.c
3701
max_clock = range_pixel_clock(edid, t);
sys/dev/pci/drm/drm_edid.c
3707
if (edid->revision >= 4 && t[10] == DRM_EDID_CVT_SUPPORT_FLAG)
sys/dev/pci/drm/drm_edid.c
3872
if (closure->drm_edid->edid->revision < 2)
sys/dev/pci/drm/drm_edid.c
3887
if (closure->drm_edid->edid->revision < 4)
sys/dev/pci/drm/drm_edid.c
3908
if (drm_edid->edid->revision >= 1)
sys/dev/pci/drm/drm_edid.c
3963
const struct edid *edid = drm_edid->edid;
sys/dev/pci/drm/drm_edid.c
3964
unsigned long est_bits = edid->established_timings.t1 |
sys/dev/pci/drm/drm_edid.c
3965
(edid->established_timings.t2 << 8) |
sys/dev/pci/drm/drm_edid.c
3966
((edid->established_timings.mfg_rsvd & 0x80) << 9);
sys/dev/pci/drm/drm_edid.c
3985
if (edid->revision >= 1)
sys/dev/pci/drm/drm_edid.c
4033
&drm_edid->edid->standard_timings[i]);
sys/dev/pci/drm/drm_edid.c
4040
if (drm_edid->edid->revision >= 1)
sys/dev/pci/drm/drm_edid.c
4120
if (drm_edid->edid->revision >= 3)
sys/dev/pci/drm/drm_edid.c
4173
if (drm_edid->edid->revision >= 4)
sys/dev/pci/drm/drm_edid.c
4177
drm_edid->edid->features & DRM_EDID_FEATURE_PREFERRED_TIMING;
sys/dev/pci/drm/drm_edid.c
5282
static int edid_hfeeodb_extension_block_count(const struct edid *edid)
sys/dev/pci/drm/drm_edid.c
5287
if (!edid_extension_block_count(edid))
sys/dev/pci/drm/drm_edid.c
5291
cta = edid_extension_block_data(edid, 0);
sys/dev/pci/drm/drm_edid.c
5642
void drm_edid_get_monitor_name(const struct edid *edid, char *name, int bufsize)
sys/dev/pci/drm/drm_edid.c
5649
if (edid) {
sys/dev/pci/drm/drm_edid.c
5652
.edid = edid,
sys/dev/pci/drm/drm_edid.c
5653
.size = edid_size(edid),
sys/dev/pci/drm/drm_edid.c
5732
eld[DRM_ELD_MANUFACTURER_NAME0] = drm_edid->edid->mfg_id[0];
sys/dev/pci/drm/drm_edid.c
5733
eld[DRM_ELD_MANUFACTURER_NAME1] = drm_edid->edid->mfg_id[1];
sys/dev/pci/drm/drm_edid.c
5734
eld[DRM_ELD_PRODUCT_CODE0] = drm_edid->edid->prod_code[0];
sys/dev/pci/drm/drm_edid.c
5735
eld[DRM_ELD_PRODUCT_CODE1] = drm_edid->edid->prod_code[1];
sys/dev/pci/drm/drm_edid.c
5827
int drm_edid_to_sad(const struct edid *edid, struct cea_sad **sads)
sys/dev/pci/drm/drm_edid.c
5831
return _drm_edid_to_sad(drm_edid_legacy_init(&drm_edid, edid), sads);
sys/dev/pci/drm/drm_edid.c
5873
int drm_edid_to_speaker_allocation(const struct edid *edid, u8 **sadb)
sys/dev/pci/drm/drm_edid.c
5877
return _drm_edid_to_speaker_allocation(drm_edid_legacy_init(&drm_edid, edid),
sys/dev/pci/drm/drm_edid.c
5956
bool drm_detect_hdmi_monitor(const struct edid *edid)
sys/dev/pci/drm/drm_edid.c
5960
return _drm_detect_hdmi_monitor(drm_edid_legacy_init(&drm_edid, edid));
sys/dev/pci/drm/drm_edid.c
6018
bool drm_detect_monitor_audio(const struct edid *edid)
sys/dev/pci/drm/drm_edid.c
6022
return _drm_detect_monitor_audio(drm_edid_legacy_init(&drm_edid, edid));
sys/dev/pci/drm/drm_edid.c
6520
const struct edid *edid = closure->drm_edid->edid;
sys/dev/pci/drm/drm_edid.c
6540
if (edid->revision >= 4) {
sys/dev/pci/drm/drm_edid.c
6557
if (drm_edid->edid->revision < 4)
sys/dev/pci/drm/drm_edid.c
6560
if (!(drm_edid->edid->features & DRM_EDID_FEATURE_CONTINUOUS_FREQ))
sys/dev/pci/drm/drm_edid.c
6719
const struct edid *edid;
sys/dev/pci/drm/drm_edid.c
6727
edid = drm_edid->edid;
sys/dev/pci/drm/drm_edid.c
6731
info->width_mm = edid->width_cm * 10;
sys/dev/pci/drm/drm_edid.c
6732
info->height_mm = edid->height_cm * 10;
sys/dev/pci/drm/drm_edid.c
6736
if (edid->revision < 3)
sys/dev/pci/drm/drm_edid.c
6754
if (info->bpc == 0 && edid->revision == 3 &&
sys/dev/pci/drm/drm_edid.c
6755
edid->input & DRM_EDID_DIGITAL_DFP_1_X) {
sys/dev/pci/drm/drm_edid.c
6763
if (edid->revision < 4)
sys/dev/pci/drm/drm_edid.c
6766
switch (edid->input & DRM_EDID_DIGITAL_DEPTH_MASK) {
sys/dev/pci/drm/drm_edid.c
6795
if (edid->features & DRM_EDID_FEATURE_RGB_YCRCB444)
sys/dev/pci/drm/drm_edid.c
6797
if (edid->features & DRM_EDID_FEATURE_RGB_YCRCB422)
sys/dev/pci/drm/drm_edid.c
7013
if (drm_edid->edid->features & DRM_EDID_FEATURE_CONTINUOUS_FREQ)
sys/dev/pci/drm/drm_edid.c
7047
drm_edid ? drm_edid->edid : NULL,
sys/dev/pci/drm/drm_edid.c
7080
const void *edid;
sys/dev/pci/drm/drm_edid.c
7089
edid = connector->edid_blob_ptr->data;
sys/dev/pci/drm/drm_edid.c
7091
if (!edid)
sys/dev/pci/drm/drm_edid.c
7100
memcpy(buf, edid + off, count);
sys/dev/pci/drm/drm_edid.c
7180
const struct edid *edid)
sys/dev/pci/drm/drm_edid.c
7184
return drm_edid_connector_update(connector, drm_edid_legacy_init(&drm_edid, edid));
sys/dev/pci/drm/drm_edid.c
7201
int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
sys/dev/pci/drm/drm_edid.c
7206
if (edid && !drm_edid_is_valid(edid)) {
sys/dev/pci/drm/drm_edid.c
7209
edid = NULL;
sys/dev/pci/drm/drm_edid.c
7212
drm_edid = drm_edid_legacy_init(&_drm_edid, edid);
sys/dev/pci/drm/drm_edid.c
7639
return drm_edid && drm_edid->edid &&
sys/dev/pci/drm/drm_edid.c
7640
drm_edid->edid->input & DRM_EDID_INPUT_DIGITAL;
sys/dev/pci/drm/drm_panel_backlight_quirks.c
7
drm_get_panel_backlight_quirk(const struct drm_edid *edid)
sys/dev/pci/drm/i915/display/intel_display_types.h
1580
unsigned long edid;
sys/dev/pci/drm/i915/display/intel_dp_test.c
197
intel_dp->compliance.test_data.edid = INTEL_DP_RESOLUTION_FAILSAFE;
sys/dev/pci/drm/i915/display/intel_dp_test.c
200
const struct edid *block = drm_edid_raw(intel_connector->detect_edid);
sys/dev/pci/drm/i915/display/intel_dp_test.c
211
intel_dp->compliance.test_data.edid = INTEL_DP_RESOLUTION_PREFERRED;
sys/dev/pci/drm/i915/display/intel_dp_test.c
684
intel_dp->compliance.test_data.edid);
sys/dev/pci/drm/i915/display/intel_opregion.c
1148
const void *edid;
sys/dev/pci/drm/i915/display/intel_opregion.c
1154
edid = opregion->asle_ext->bddc;
sys/dev/pci/drm/i915/display/intel_opregion.c
1158
if (!len || mem_is_zero(edid, len))
sys/dev/pci/drm/i915/display/intel_opregion.c
1161
drm_edid = drm_edid_alloc(edid, len);
sys/dev/pci/drm/i915/gvt/display.c
531
kfree(port->edid);
sys/dev/pci/drm/i915/gvt/display.c
532
port->edid = NULL;
sys/dev/pci/drm/i915/gvt/display.c
563
port->edid = kzalloc(sizeof(*(port->edid)), GFP_KERNEL);
sys/dev/pci/drm/i915/gvt/display.c
564
if (!port->edid)
sys/dev/pci/drm/i915/gvt/display.c
569
kfree(port->edid);
sys/dev/pci/drm/i915/gvt/display.c
573
memcpy(port->edid->edid_block, virtual_dp_monitor_edid[resolution],
sys/dev/pci/drm/i915/gvt/display.c
575
port->edid->data_valid = true;
sys/dev/pci/drm/i915/gvt/display.h
109
struct intel_vgpu_edid_data *edid;
sys/dev/pci/drm/i915/gvt/display.h
51
(intel_vgpu_port(vgpu, port)->edid && \
sys/dev/pci/drm/i915/gvt/display.h
52
intel_vgpu_port(vgpu, port)->edid->data_valid)
sys/dev/pci/drm/i915/gvt/edid.c
57
struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid;
sys/dev/pci/drm/i915/gvt/edid.c
572
struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid;
sys/dev/pci/drm/i915/gvt/edid.c
574
edid->state = I2C_NOT_SPECIFIED;
sys/dev/pci/drm/i915/gvt/edid.c
576
edid->port = -1;
sys/dev/pci/drm/i915/gvt/edid.c
577
edid->target_selected = false;
sys/dev/pci/drm/i915/gvt/edid.c
578
edid->edid_available = false;
sys/dev/pci/drm/i915/gvt/edid.c
579
edid->current_edid_read = 0;
sys/dev/pci/drm/i915/gvt/edid.c
581
memset(&edid->gmbus, 0, sizeof(struct intel_vgpu_i2c_gmbus));
sys/dev/pci/drm/i915/gvt/edid.c
583
edid->aux_ch.i2c_over_aux_ch = false;
sys/dev/pci/drm/i915/gvt/edid.c
584
edid->aux_ch.aux_ch_mot = false;
sys/dev/pci/drm/i915/gvt/edid.c
60
if (edid->state == I2C_NOT_SPECIFIED || !edid->target_selected) {
sys/dev/pci/drm/i915/gvt/edid.c
64
if (edid->current_edid_read >= EDID_SIZE) {
sys/dev/pci/drm/i915/gvt/edid.c
69
if (!edid->edid_available) {
sys/dev/pci/drm/i915/gvt/edid.c
74
if (intel_vgpu_has_monitor_on_port(vgpu, edid->port)) {
sys/dev/pci/drm/i915/gvt/edid.c
76
intel_vgpu_port(vgpu, edid->port)->edid;
sys/dev/pci/drm/i915/gvt/edid.c
78
chr = edid_data->edid_block[edid->current_edid_read];
sys/dev/pci/drm/i915/gvt/edid.c
79
edid->current_edid_read++;
sys/dev/pci/drm/i915/gvt/gvt.h
311
enum intel_vgpu_edid edid;
sys/dev/pci/drm/i915/gvt/kvmgt.c
124
type->conf->fence, vgpu_edid_str(type->conf->edid),
sys/dev/pci/drm/i915/gvt/kvmgt.c
428
static bool edid_valid(const void *edid, size_t size)
sys/dev/pci/drm/i915/gvt/kvmgt.c
433
drm_edid = drm_edid_alloc(edid, size);
sys/dev/pci/drm/i915/gvt/kvmgt.c
607
base->edid_blob = port->edid->edid_block;
sys/dev/pci/drm/i915/gvt/vgpu.c
139
conf->weight, vgpu_edid_str(conf->edid));
sys/dev/pci/drm/i915/gvt/vgpu.c
357
ret = intel_vgpu_init_display(vgpu, conf->edid);
sys/dev/pci/drm/include/drm/display/drm_dp_helper.h
894
void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid);
sys/dev/pci/drm/include/drm/display/drm_dp_helper.h
917
const struct edid *edid)
sys/dev/pci/drm/include/drm/display/drm_dp_mst_helper.h
873
struct edid *drm_dp_mst_get_edid(struct drm_connector *connector,
sys/dev/pci/drm/include/drm/drm_bridge.h
45
struct edid;
sys/dev/pci/drm/include/drm/drm_connector.h
2475
const struct edid *edid);
sys/dev/pci/drm/include/drm/drm_connector.h
49
struct edid;
sys/dev/pci/drm/include/drm/drm_crtc.h
46
struct edid;
sys/dev/pci/drm/include/drm/drm_edid.h
359
int drm_edid_to_sad(const struct edid *edid, struct cea_sad **sads);
sys/dev/pci/drm/include/drm/drm_edid.h
360
int drm_edid_to_speaker_allocation(const struct edid *edid, u8 **sadb);
sys/dev/pci/drm/include/drm/drm_edid.h
439
struct edid *drm_get_edid(struct drm_connector *connector,
sys/dev/pci/drm/include/drm/drm_edid.h
441
struct edid *drm_get_edid_switcheroo(struct drm_connector *connector,
sys/dev/pci/drm/include/drm/drm_edid.h
443
struct edid *drm_edid_duplicate(const struct edid *edid);
sys/dev/pci/drm/include/drm/drm_edid.h
444
int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid);
sys/dev/pci/drm/include/drm/drm_edid.h
448
bool drm_detect_hdmi_monitor(const struct edid *edid);
sys/dev/pci/drm/include/drm/drm_edid.h
449
bool drm_detect_monitor_audio(const struct edid *edid);
sys/dev/pci/drm/include/drm/drm_edid.h
455
int drm_edid_header_is_valid(const void *edid);
sys/dev/pci/drm/include/drm/drm_edid.h
456
bool drm_edid_is_valid(struct edid *edid);
sys/dev/pci/drm/include/drm/drm_edid.h
457
void drm_edid_get_monitor_name(const struct edid *edid, char *name,
sys/dev/pci/drm/include/drm/drm_edid.h
467
const struct drm_edid *drm_edid_alloc(const void *edid, size_t size);
sys/dev/pci/drm/include/drm/drm_edid.h
471
const struct edid *drm_edid_raw(const struct drm_edid *drm_edid);
sys/dev/pci/drm/include/drm/drm_edid.h
482
const struct drm_edid *edid);
sys/dev/pci/drm/include/drm/drm_utils.h
25
drm_get_panel_backlight_quirk(const struct drm_edid *edid);
sys/dev/pci/drm/include/media/cec-notifier.h
15
const struct edid *edid)
sys/dev/pci/drm/radeon/radeon_atombios.c
1723
const struct drm_edid *edid;
sys/dev/pci/drm/radeon/radeon_atombios.c
1730
edid = drm_edid_alloc(fake_edid_record->ucFakeEDIDString, edid_size);
sys/dev/pci/drm/radeon/radeon_atombios.c
1731
if (drm_edid_valid(edid))
sys/dev/pci/drm/radeon/radeon_atombios.c
1732
rdev->mode_info.bios_hardcoded_edid = edid;
sys/dev/pci/drm/radeon/radeon_atombios.c
1734
drm_edid_free(edid);
sys/dev/pci/drm/radeon/radeon_audio.c
314
sad_count = drm_edid_to_sad(radeon_connector->edid, &sads);
sys/dev/pci/drm/radeon/radeon_audio.c
338
sad_count = drm_edid_to_speaker_allocation(radeon_connector->edid, &sadb);
sys/dev/pci/drm/radeon/radeon_combios.c
375
const struct drm_edid *edid;
sys/dev/pci/drm/radeon/radeon_combios.c
383
edid = drm_edid_alloc(raw, size);
sys/dev/pci/drm/radeon/radeon_combios.c
385
if (!drm_edid_valid(edid)) {
sys/dev/pci/drm/radeon/radeon_combios.c
386
drm_edid_free(edid);
sys/dev/pci/drm/radeon/radeon_combios.c
390
rdev->mode_info.bios_hardcoded_edid = edid;
sys/dev/pci/drm/radeon/radeon_combios.c
395
struct edid *
sys/dev/pci/drm/radeon/radeon_connectors.c
1015
if (!radeon_connector->edid) {
sys/dev/pci/drm/radeon/radeon_connectors.c
1021
!!(radeon_connector->edid->input & DRM_EDID_INPUT_DIGITAL);
sys/dev/pci/drm/radeon/radeon_connectors.c
1263
if (!radeon_connector->edid) {
sys/dev/pci/drm/radeon/radeon_connectors.c
1280
!!(radeon_connector->edid->input & DRM_EDID_INPUT_DIGITAL);
sys/dev/pci/drm/radeon/radeon_connectors.c
264
if (radeon_connector->edid)
sys/dev/pci/drm/radeon/radeon_connectors.c
274
radeon_connector->edid = drm_get_edid(connector,
sys/dev/pci/drm/radeon/radeon_connectors.c
283
radeon_connector->edid = drm_get_edid(&radeon_connector->base,
sys/dev/pci/drm/radeon/radeon_connectors.c
286
radeon_connector->edid = drm_get_edid(&radeon_connector->base,
sys/dev/pci/drm/radeon/radeon_connectors.c
291
radeon_connector->edid = drm_get_edid_switcheroo(&radeon_connector->base,
sys/dev/pci/drm/radeon/radeon_connectors.c
294
radeon_connector->edid = drm_get_edid(&radeon_connector->base,
sys/dev/pci/drm/radeon/radeon_connectors.c
298
if (!radeon_connector->edid) {
sys/dev/pci/drm/radeon/radeon_connectors.c
309
radeon_connector->edid = radeon_bios_get_hardcoded_edid(rdev);
sys/dev/pci/drm/radeon/radeon_connectors.c
312
radeon_connector->edid = radeon_bios_get_hardcoded_edid(rdev);
sys/dev/pci/drm/radeon/radeon_connectors.c
321
kfree(radeon_connector->edid);
sys/dev/pci/drm/radeon/radeon_connectors.c
322
radeon_connector->edid = NULL;
sys/dev/pci/drm/radeon/radeon_connectors.c
330
if (radeon_connector->edid) {
sys/dev/pci/drm/radeon/radeon_connectors.c
331
drm_connector_update_edid_property(connector, radeon_connector->edid);
sys/dev/pci/drm/radeon/radeon_connectors.c
332
ret = drm_add_edid_modes(connector, radeon_connector->edid);
sys/dev/pci/drm/radeon/radeon_connectors.c
872
if (radeon_connector->edid)
sys/dev/pci/drm/radeon/radeon_mode.h
45
struct edid;
sys/dev/pci/drm/radeon/radeon_mode.h
528
struct edid *edid;
sys/dev/pci/drm/radeon/radeon_mode.h
850
extern struct edid *
sys/dev/pv/viogpu.h
348
__u8 edid[1024];
sys/dev/videomode/edid.c
158
edid_print(struct edid_info *edid)
sys/dev/videomode/edid.c
162
if (edid == NULL)
sys/dev/videomode/edid.c
164
printf("Vendor: [%s] %s\n", edid->edid_vendor, edid->edid_vendorname);
sys/dev/videomode/edid.c
165
printf("Product: [%04X] %s\n", edid->edid_product,
sys/dev/videomode/edid.c
166
edid->edid_productname);
sys/dev/videomode/edid.c
167
printf("Serial number: %s\n", edid->edid_serial);
sys/dev/videomode/edid.c
169
edid->edid_year, edid->edid_week);
sys/dev/videomode/edid.c
170
printf("EDID Version %d.%d\n", edid->edid_version,
sys/dev/videomode/edid.c
171
edid->edid_revision);
sys/dev/videomode/edid.c
172
printf("EDID Comment: %s\n", edid->edid_comment);
sys/dev/videomode/edid.c
174
printf("Video Input: %x\n", edid->edid_video_input);
sys/dev/videomode/edid.c
175
if (edid->edid_video_input & EDID_VIDEO_INPUT_DIGITAL) {
sys/dev/videomode/edid.c
177
if (edid->edid_video_input & EDID_VIDEO_INPUT_DFP1_COMPAT)
sys/dev/videomode/edid.c
182
switch (EDID_VIDEO_INPUT_LEVEL(edid->edid_video_input)) {
sys/dev/videomode/edid.c
196
if (edid->edid_video_input & EDID_VIDEO_INPUT_BLANK_TO_BLACK)
sys/dev/videomode/edid.c
198
if (edid->edid_video_input & EDID_VIDEO_INPUT_SEPARATE_SYNCS)
sys/dev/videomode/edid.c
200
if (edid->edid_video_input & EDID_VIDEO_INPUT_COMPOSITE_SYNC)
sys/dev/videomode/edid.c
202
if (edid->edid_video_input & EDID_VIDEO_INPUT_SYNC_ON_GRN)
sys/dev/videomode/edid.c
204
if (edid->edid_video_input & EDID_VIDEO_INPUT_SERRATION)
sys/dev/videomode/edid.c
209
edid->edid_gamma / 100, edid->edid_gamma % 100);
sys/dev/videomode/edid.c
212
edid->edid_max_hsize, edid->edid_max_vsize);
sys/dev/videomode/edid.c
214
printf("Features: %x\n", edid->edid_features);
sys/dev/videomode/edid.c
215
if (edid->edid_features & EDID_FEATURES_STANDBY)
sys/dev/videomode/edid.c
217
if (edid->edid_features & EDID_FEATURES_SUSPEND)
sys/dev/videomode/edid.c
219
if (edid->edid_features & EDID_FEATURES_ACTIVE_OFF)
sys/dev/videomode/edid.c
221
switch (EDID_FEATURES_DISP_TYPE(edid->edid_features)) {
sys/dev/videomode/edid.c
235
if (edid->edid_features & EDID_FEATURES_STD_COLOR)
sys/dev/videomode/edid.c
237
if (edid->edid_features & EDID_FEATURES_PREFERRED_TIMING)
sys/dev/videomode/edid.c
239
if (edid->edid_features & EDID_FEATURES_DEFAULT_GTF)
sys/dev/videomode/edid.c
243
printf("\tRed X: 0.%03d\n", edid->edid_chroma.ec_redx);
sys/dev/videomode/edid.c
244
printf("\tRed Y: 0.%03d\n", edid->edid_chroma.ec_redy);
sys/dev/videomode/edid.c
245
printf("\tGrn X: 0.%03d\n", edid->edid_chroma.ec_greenx);
sys/dev/videomode/edid.c
246
printf("\tGrn Y: 0.%03d\n", edid->edid_chroma.ec_greeny);
sys/dev/videomode/edid.c
247
printf("\tBlu X: 0.%03d\n", edid->edid_chroma.ec_bluex);
sys/dev/videomode/edid.c
248
printf("\tBlu Y: 0.%03d\n", edid->edid_chroma.ec_bluey);
sys/dev/videomode/edid.c
249
printf("\tWht X: 0.%03d\n", edid->edid_chroma.ec_whitex);
sys/dev/videomode/edid.c
250
printf("\tWht Y: 0.%03d\n", edid->edid_chroma.ec_whitey);
sys/dev/videomode/edid.c
252
if (edid->edid_have_range) {
sys/dev/videomode/edid.c
255
edid->edid_range.er_min_hfreq,
sys/dev/videomode/edid.c
256
edid->edid_range.er_max_hfreq);
sys/dev/videomode/edid.c
258
edid->edid_range.er_min_vfreq,
sys/dev/videomode/edid.c
259
edid->edid_range.er_max_vfreq);
sys/dev/videomode/edid.c
261
edid->edid_range.er_max_clock);
sys/dev/videomode/edid.c
262
if (edid->edid_range.er_have_gtf2) {
sys/dev/videomode/edid.c
264
edid->edid_range.er_gtf2_hfreq);
sys/dev/videomode/edid.c
265
printf("\tGTF2 C: %d\n", edid->edid_range.er_gtf2_c);
sys/dev/videomode/edid.c
266
printf("\tGTF2 M: %d\n", edid->edid_range.er_gtf2_m);
sys/dev/videomode/edid.c
267
printf("\tGTF2 J: %d\n", edid->edid_range.er_gtf2_j);
sys/dev/videomode/edid.c
268
printf("\tGTF2 K: %d\n", edid->edid_range.er_gtf2_k);
sys/dev/videomode/edid.c
272
for (i = 0; i < edid->edid_nmodes; i++) {
sys/dev/videomode/edid.c
274
edid->edid_modes[i].hdisplay,
sys/dev/videomode/edid.c
275
edid->edid_modes[i].vdisplay,
sys/dev/videomode/edid.c
276
DIVIDE(DIVIDE(edid->edid_modes[i].dot_clock * 1000,
sys/dev/videomode/edid.c
277
edid->edid_modes[i].htotal),
sys/dev/videomode/edid.c
278
edid->edid_modes[i].vtotal));
sys/dev/videomode/edid.c
280
edid->edid_modes[i].dot_clock,
sys/dev/videomode/edid.c
281
edid->edid_modes[i].hsync_start,
sys/dev/videomode/edid.c
282
edid->edid_modes[i].hsync_end,
sys/dev/videomode/edid.c
283
edid->edid_modes[i].htotal,
sys/dev/videomode/edid.c
284
edid->edid_modes[i].vsync_start,
sys/dev/videomode/edid.c
285
edid->edid_modes[i].vsync_end,
sys/dev/videomode/edid.c
286
edid->edid_modes[i].vtotal);
sys/dev/videomode/edid.c
288
edid->edid_modes[i].flags & VID_PHSYNC ? "+" : "",
sys/dev/videomode/edid.c
289
edid->edid_modes[i].flags & VID_NHSYNC ? "-" : "",
sys/dev/videomode/edid.c
290
edid->edid_modes[i].flags & VID_PVSYNC ? "+" : "",
sys/dev/videomode/edid.c
291
edid->edid_modes[i].flags & VID_NVSYNC ? "-" : "");
sys/dev/videomode/edid.c
293
if (edid->edid_preferred_mode)
sys/dev/videomode/edid.c
295
edid->edid_preferred_mode->hdisplay,
sys/dev/videomode/edid.c
296
edid->edid_preferred_mode->vdisplay,
sys/dev/videomode/edid.c
297
DIVIDE(DIVIDE(edid->edid_preferred_mode->dot_clock * 1000,
sys/dev/videomode/edid.c
298
edid->edid_preferred_mode->htotal),
sys/dev/videomode/edid.c
299
edid->edid_preferred_mode->vtotal));
sys/dev/videomode/edid.c
301
printf("Number of extension blocks: %d\n", edid->edid_ext_block_count);
sys/dev/videomode/edid.c
317
edid_search_mode(struct edid_info *edid, const struct videomode *mode)
sys/dev/videomode/edid.c
323
for (i = 0; i < edid->edid_nmodes; i++) {
sys/dev/videomode/edid.c
324
if (mode->hdisplay == edid->edid_modes[i].hdisplay &&
sys/dev/videomode/edid.c
325
mode->vdisplay == edid->edid_modes[i].vdisplay &&
sys/dev/videomode/edid.c
327
edid->edid_modes[i].dot_clock * 1000,
sys/dev/videomode/edid.c
328
edid->edid_modes[i].htotal),
sys/dev/videomode/edid.c
329
edid->edid_modes[i].vtotal)) {
sys/dev/videomode/edid.c
330
return &edid->edid_modes[i];
sys/dev/videomode/edid.c
436
void bump_preferred_mode(struct edid_info *edid, struct videomode *m)
sys/dev/videomode/edid.c
444
if (edid->edid_preferred_mode == NULL) {
sys/dev/videomode/edid.c
445
edid->edid_preferred_mode = m;
sys/dev/videomode/edid.c
446
} else if ((strncmp(edid->edid_vendor, "IVM", 3) == 0) &&
sys/dev/videomode/edid.c
447
(edid->edid_product == 0x4800) &&
sys/dev/videomode/edid.c
448
(edid->edid_preferred_mode->dot_clock < m->dot_clock))
sys/dev/videomode/edid.c
449
edid->edid_preferred_mode = m;
sys/dev/videomode/edid.c
453
edid_block(struct edid_info *edid, uint8_t *data)
sys/dev/videomode/edid.c
462
exist_mode = edid_search_mode(edid, &mode);
sys/dev/videomode/edid.c
465
bump_preferred_mode(edid, exist_mode);
sys/dev/videomode/edid.c
467
edid->edid_modes[edid->edid_nmodes] = mode;
sys/dev/videomode/edid.c
468
bump_preferred_mode(edid,
sys/dev/videomode/edid.c
469
&edid->edid_modes[edid->edid_nmodes]);
sys/dev/videomode/edid.c
470
edid->edid_nmodes++;
sys/dev/videomode/edid.c
477
memcpy(edid->edid_serial, data + EDID_DESC_ASCII_DATA_OFFSET,
sys/dev/videomode/edid.c
479
edid->edid_serial[EDID_DESC_ASCII_DATA_LEN] = 0;
sys/dev/videomode/edid.c
483
memcpy(edid->edid_comment, data + EDID_DESC_ASCII_DATA_OFFSET,
sys/dev/videomode/edid.c
485
edid->edid_comment[EDID_DESC_ASCII_DATA_LEN] = 0;
sys/dev/videomode/edid.c
489
edid->edid_have_range = 1;
sys/dev/videomode/edid.c
490
edid->edid_range.er_min_vfreq = EDID_DESC_RANGE_MIN_VFREQ(data);
sys/dev/videomode/edid.c
491
edid->edid_range.er_max_vfreq = EDID_DESC_RANGE_MAX_VFREQ(data);
sys/dev/videomode/edid.c
492
edid->edid_range.er_min_hfreq = EDID_DESC_RANGE_MIN_HFREQ(data);
sys/dev/videomode/edid.c
493
edid->edid_range.er_max_hfreq = EDID_DESC_RANGE_MAX_HFREQ(data);
sys/dev/videomode/edid.c
494
edid->edid_range.er_max_clock = EDID_DESC_RANGE_MAX_CLOCK(data);
sys/dev/videomode/edid.c
497
edid->edid_range.er_have_gtf2 = 1;
sys/dev/videomode/edid.c
498
edid->edid_range.er_gtf2_hfreq =
sys/dev/videomode/edid.c
500
edid->edid_range.er_gtf2_c = EDID_DESC_RANGE_GTF2_C(data);
sys/dev/videomode/edid.c
501
edid->edid_range.er_gtf2_m = EDID_DESC_RANGE_GTF2_M(data);
sys/dev/videomode/edid.c
502
edid->edid_range.er_gtf2_j = EDID_DESC_RANGE_GTF2_J(data);
sys/dev/videomode/edid.c
503
edid->edid_range.er_gtf2_k = EDID_DESC_RANGE_GTF2_K(data);
sys/dev/videomode/edid.c
508
memcpy(edid->edid_productname,
sys/dev/videomode/edid.c
511
edid->edid_productname[EDID_DESC_ASCII_DATA_LEN] = '\0';
sys/dev/videomode/edid.c
519
exist_mode = edid_search_mode(edid, &mode);
sys/dev/videomode/edid.c
521
edid->edid_modes[edid->edid_nmodes] =
sys/dev/videomode/edid.c
523
edid->edid_nmodes++;
sys/dev/videomode/edid.c
540
edid_parse(const char *devname, uint8_t *data, struct edid_info *edid)
sys/dev/videomode/edid.c
554
edid->edid_vendor[0] = EDID_MANFID_0(manfid);
sys/dev/videomode/edid.c
555
edid->edid_vendor[1] = EDID_MANFID_1(manfid);
sys/dev/videomode/edid.c
556
edid->edid_vendor[2] = EDID_MANFID_2(manfid);
sys/dev/videomode/edid.c
557
edid->edid_vendor[3] = 0; /* null terminate for convenience */
sys/dev/videomode/edid.c
559
edid->edid_product = data[EDID_OFFSET_PRODUCT_ID] +
sys/dev/videomode/edid.c
562
name = edid_findvendor(edid->edid_vendor);
sys/dev/videomode/edid.c
564
strlcpy(edid->edid_vendorname, name,
sys/dev/videomode/edid.c
565
sizeof(edid->edid_vendorname));
sys/dev/videomode/edid.c
567
edid->edid_vendorname[0] = '\0';
sys/dev/videomode/edid.c
569
name = edid_findproduct(edid->edid_vendor, edid->edid_product);
sys/dev/videomode/edid.c
571
strlcpy(edid->edid_productname, name,
sys/dev/videomode/edid.c
572
sizeof(edid->edid_productname));
sys/dev/videomode/edid.c
574
edid->edid_productname[0] = '\0';
sys/dev/videomode/edid.c
576
edid->edid_comment[0] = '\0';
sys/dev/videomode/edid.c
578
snprintf(edid->edid_serial, sizeof(edid->edid_serial), "%08x",
sys/dev/videomode/edid.c
581
edid->edid_week = EDID_WEEK(data);
sys/dev/videomode/edid.c
582
edid->edid_year = EDID_YEAR(data);
sys/dev/videomode/edid.c
585
edid->edid_version = EDID_VERSION(data);
sys/dev/videomode/edid.c
586
edid->edid_revision = EDID_REVISION(data);
sys/dev/videomode/edid.c
588
edid->edid_video_input = EDID_VIDEO_INPUT(data);
sys/dev/videomode/edid.c
589
edid->edid_max_hsize = EDID_MAX_HSIZE(data);
sys/dev/videomode/edid.c
590
edid->edid_max_vsize = EDID_MAX_VSIZE(data);
sys/dev/videomode/edid.c
592
edid->edid_gamma = EDID_GAMMA(data);
sys/dev/videomode/edid.c
593
edid->edid_features = EDID_FEATURES(data);
sys/dev/videomode/edid.c
595
edid->edid_chroma.ec_redx = EDID_CHROMA_REDX(data);
sys/dev/videomode/edid.c
596
edid->edid_chroma.ec_redy = EDID_CHROMA_REDX(data);
sys/dev/videomode/edid.c
597
edid->edid_chroma.ec_greenx = EDID_CHROMA_GREENX(data);
sys/dev/videomode/edid.c
598
edid->edid_chroma.ec_greeny = EDID_CHROMA_GREENY(data);
sys/dev/videomode/edid.c
599
edid->edid_chroma.ec_bluex = EDID_CHROMA_BLUEX(data);
sys/dev/videomode/edid.c
600
edid->edid_chroma.ec_bluey = EDID_CHROMA_BLUEY(data);
sys/dev/videomode/edid.c
601
edid->edid_chroma.ec_whitex = EDID_CHROMA_WHITEX(data);
sys/dev/videomode/edid.c
602
edid->edid_chroma.ec_whitey = EDID_CHROMA_WHITEY(data);
sys/dev/videomode/edid.c
604
edid->edid_ext_block_count = EDID_EXT_BLOCK_COUNT(data);
sys/dev/videomode/edid.c
607
edid->edid_nmodes = 0;
sys/dev/videomode/edid.c
608
edid->edid_preferred_mode = NULL;
sys/dev/videomode/edid.c
615
edid->edid_modes[edid->edid_nmodes] = *vmp;
sys/dev/videomode/edid.c
616
edid->edid_nmodes++;
sys/dev/videomode/edid.c
632
exist_mode = edid_search_mode(edid, &mode);
sys/dev/videomode/edid.c
634
edid->edid_modes[edid->edid_nmodes] = mode;
sys/dev/videomode/edid.c
635
edid->edid_nmodes++;
sys/dev/videomode/edid.c
641
edid_block(edid, data + EDID_OFFSET_DESC_BLOCK +
sys/dev/videomode/edid.c
645
edid_strchomp(edid->edid_vendorname);
sys/dev/videomode/edid.c
646
edid_strchomp(edid->edid_productname);
sys/dev/videomode/edid.c
647
edid_strchomp(edid->edid_serial);
sys/dev/videomode/edid.c
648
edid_strchomp(edid->edid_comment);
sys/dev/videomode/edid.c
658
for (i = 0; i < edid->edid_nmodes; i++)
sys/dev/videomode/edid.c
659
if (edid->edid_modes[i].dot_clock > max_dotclock)
sys/dev/videomode/edid.c
660
max_dotclock = edid->edid_modes[i].dot_clock;
sys/dev/videomode/edid.c
669
if (edid->edid_have_range) {
sys/dev/videomode/edid.c
670
if (mhz > edid->edid_range.er_max_clock)
sys/dev/videomode/edid.c
671
edid->edid_range.er_max_clock = mhz;
sys/dev/videomode/edid.c
673
edid->edid_range.er_max_clock = mhz;
sys/sys/videoio.h
112
u_int8_t *edid;