arch/x86/kernel/setup.c
535
sysfb_primary_display.edid = boot_params.edid_info;
drivers/acpi/acpi_video.c
1449
void **edid)
drivers/acpi/acpi_video.c
1493
ret = acpi_video_device_EDID(video_device, edid, length);
drivers/acpi/acpi_video.c
626
acpi_video_device_EDID(struct acpi_video_device *device, void **edid, int length)
drivers/acpi/acpi_video.c
635
*edid = NULL;
drivers/acpi/acpi_video.c
658
*edid = kmemdup(obj->buffer.pointer, obj->buffer.length, GFP_KERNEL);
drivers/acpi/acpi_video.c
659
ret = *edid ? obj->buffer.length : -ENOMEM;
drivers/firmware/efi/libstub/efi-stub.c
58
struct edid_info *edid = NULL;
drivers/firmware/efi/libstub/efi-stub.c
66
edid = &dpy->edid;
drivers/firmware/efi/libstub/efi-stub.c
69
status = efi_setup_graphics(screen, edid);
drivers/firmware/efi/libstub/efistub.h
1118
efi_status_t efi_setup_graphics(struct screen_info *si, struct edid_info *edid);
drivers/firmware/efi/libstub/efistub.h
590
u8 *edid;
drivers/firmware/efi/libstub/efistub.h
594
u32 edid;
drivers/firmware/efi/libstub/efistub.h
603
u8 *edid;
drivers/firmware/efi/libstub/efistub.h
607
u32 edid;
drivers/firmware/efi/libstub/gop.c
417
static void setup_edid_info(struct edid_info *edid, u32 gop_size_of_edid, u8 *gop_edid)
drivers/firmware/efi/libstub/gop.c
420
memset(edid->dummy, 0, sizeof(edid->dummy));
drivers/firmware/efi/libstub/gop.c
422
memcpy(edid->dummy, gop_edid, min(gop_size_of_edid, sizeof(edid->dummy)));
drivers/firmware/efi/libstub/gop.c
481
efi_status_t efi_setup_graphics(struct screen_info *si, struct edid_info *edid)
drivers/firmware/efi/libstub/gop.c
507
if (edid) {
drivers/firmware/efi/libstub/gop.c
517
gop_edid = efi_table_attr(active_edid, edid);
drivers/firmware/efi/libstub/gop.c
524
gop_edid = efi_table_attr(discovered_edid, edid);
drivers/firmware/efi/libstub/gop.c
528
setup_edid_info(edid, gop_size_of_edid, gop_edid);
drivers/firmware/efi/libstub/x86-stub.c
490
struct edid_info *edid = memset(&boot_params->edid_info, 0, sizeof(*edid));
drivers/firmware/efi/libstub/x86-stub.c
492
efi_setup_graphics(si, edid);
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
1059
if (!amdgpu_connector->edid) {
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
1066
!!(amdgpu_connector->edid->input & DRM_EDID_INPUT_DIGITAL);
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
249
static struct edid *
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
261
if (amdgpu_connector->edid)
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
271
amdgpu_connector->edid = drm_get_edid(connector,
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
280
amdgpu_connector->edid = drm_get_edid(connector,
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
283
amdgpu_connector->edid = drm_get_edid(connector,
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
286
amdgpu_connector->edid = drm_get_edid(connector,
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
290
if (!amdgpu_connector->edid) {
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
294
amdgpu_connector->edid = amdgpu_connector_get_hardcoded_edid(adev);
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
295
drm_connector_update_edid_property(connector, amdgpu_connector->edid);
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
304
kfree(amdgpu_connector->edid);
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
305
amdgpu_connector->edid = NULL;
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
313
if (amdgpu_connector->edid) {
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
314
drm_connector_update_edid_property(connector, amdgpu_connector->edid);
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
315
ret = drm_add_edid_modes(connector, amdgpu_connector->edid);
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
731
if (amdgpu_connector->edid)
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
879
if (!amdgpu_connector->edid) {
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
886
!!(amdgpu_connector->edid->input & DRM_EDID_INPUT_DIGITAL);
drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
53
struct edid;
drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
627
struct edid *edid;
drivers/gpu/drm/amd/amdgpu/atombios_encoders.c
2067
const struct drm_edid *edid;
drivers/gpu/drm/amd/amdgpu/atombios_encoders.c
2074
edid = drm_edid_alloc(fake_edid_record->ucFakeEDIDString, edid_size);
drivers/gpu/drm/amd/amdgpu/atombios_encoders.c
2075
if (drm_edid_valid(edid))
drivers/gpu/drm/amd/amdgpu/atombios_encoders.c
2076
adev->mode_info.bios_hardcoded_edid = edid;
drivers/gpu/drm/amd/amdgpu/atombios_encoders.c
2078
drm_edid_free(edid);
drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
1301
sad_count = drm_edid_to_speaker_allocation(amdgpu_connector->edid, &sadb);
drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
1371
sad_count = drm_edid_to_sad(amdgpu_connector->edid, &sads);
drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
1268
sad_count = drm_edid_to_speaker_allocation(amdgpu_connector->edid, &sadb);
drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
1349
sad_count = drm_edid_to_sad(amdgpu_connector->edid, &sads);
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
1274
sad_count = drm_edid_to_speaker_allocation(amdgpu_connector->edid, &sadb);
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
1342
sad_count = drm_edid_to_sad(amdgpu_connector->edid, &sads);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13120
const struct edid *edid)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13128
if (!edid || !edid->extensions)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13132
for (i = 0; i < edid->extensions; i++) {
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13133
edid_ext = (void *)(edid + (i + 1));
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13138
if (i == edid->extensions)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13163
const struct edid *edid, struct amdgpu_hdmi_vsdb_info *vsdb_info)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13170
if (edid == NULL || edid->extensions == 0)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13174
for (i = 0; i < edid->extensions; i++) {
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13175
edid_ext = (void *)(edid + (i + 1));
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13180
total_ext_block_len = EDID_LENGTH * edid->extensions;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13215
const struct edid *edid,
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13224
if (edid == NULL || edid->extensions == 0)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13228
for (i = 0; i < edid->extensions; i++) {
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13229
edid_ext = (uint8_t *)edid + EDID_LENGTH * (i + 1);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13234
if (i == edid->extensions)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13267
const struct edid *edid;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13297
edid = drm_edid_raw(drm_edid); // FIXME: Get rid of drm_edid_raw()
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13302
parse_edid_displayid_vrr(connector, edid);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13304
if (edid && (sink->sink_signal == SIGNAL_TYPE_DISPLAY_PORT ||
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13314
parse_amd_vsdb(amdgpu_dm_connector, edid, &vsdb_info);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13323
i = parse_hdmi_amd_vsdb(amdgpu_dm_connector, edid, &vsdb_info);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
13339
i = parse_hdmi_amd_vsdb(amdgpu_dm_connector, edid, &vsdb_info);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
3920
const struct edid *edid = (const struct edid *)sink->dc_edid.raw_edid;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
3922
aconnector->drm_edid = drm_edid_alloc(edid, sink->dc_edid.length);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7927
const struct edid *edid = drm_edid_raw(drm_edid);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7930
memmove(dc_em_sink->dc_edid.raw_edid, edid,
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7931
(edid->extensions + 1) * EDID_LENGTH);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7967
const struct edid *edid;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7987
edid = drm_edid_raw(drm_edid); // FIXME: Get rid of drm_edid_raw()
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7990
(uint8_t *)edid,
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7991
(edid->extensions + 1) * EDID_LENGTH,
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1012
const struct edid *edid;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1042
edid = drm_edid_raw(drm_edid); // FIXME: Get rid of drm_edid_raw()
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1043
if (!edid ||
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1044
edid->extensions >= sizeof(sink->dc_edid.raw_edid) / EDID_LENGTH)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1047
sink->dc_edid.length = EDID_LENGTH * (edid->extensions + 1);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1048
memmove(sink->dc_edid.raw_edid, (uint8_t *)edid, sink->dc_edid.length);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
106
const struct dc_edid *edid,
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
112
struct edid *edid_buf = edid ? (struct edid *) edid->raw_edid : NULL;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
121
if (!edid_caps || !edid)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
147
sad_count = drm_edid_to_sad((struct edid *) edid->raw_edid, &sads);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
161
sadb_count = drm_edid_to_speaker_allocation((struct edid *) edid->raw_edid, &sadb);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
52
static u32 edid_extract_panel_id(struct edid *edid)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
54
return (u32)edid->mfg_id[0] << 24 |
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
55
(u32)edid->mfg_id[1] << 16 |
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
56
(u32)EDID_PRODUCT_ID(edid);
drivers/gpu/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)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
61
uint32_t panel_id = edid_extract_panel_id(edid);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
941
struct edid *edid;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
948
r = acpi_video_get_edid(acpidev, ACPI_VIDEO_DISPLAY_LCD, -1, (void *)&edid);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
959
if (edid->revision < 4 || !(edid->input & DRM_EDID_INPUT_DIGITAL) ||
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
960
(edid->input & DRM_EDID_DIGITAL_TYPE_MASK) == DRM_EDID_DIGITAL_TYPE_UNDEF) {
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
965
memcpy(buf, (void *)edid + start, len);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
969
kfree(edid);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
429
const struct edid *edid;
drivers/gpu/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()
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
434
(uint8_t *)edid,
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
435
(edid->extensions + 1) * EDID_LENGTH,
drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
284
const uint8_t *edid,
drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
288
return link->dc->link_srv->add_remote_sink(link, edid, len, init_data);
drivers/gpu/drm/amd/display/dc/dc.h
2060
const uint8_t *edid,
drivers/gpu/drm/amd/display/dc/dm_helpers.h
225
enum dc_edid_status dm_helpers_get_sbios_edid(struct dc_link *link, struct dc_edid *edid);
drivers/gpu/drm/amd/display/dc/dm_helpers.h
64
const struct dc_edid *edid,
drivers/gpu/drm/amd/display/dc/inc/link_service.h
112
const uint8_t *edid,
drivers/gpu/drm/amd/display/dc/link/link_detection.c
1563
const uint8_t *edid,
drivers/gpu/drm/amd/display/dc/link/link_detection.c
1590
memmove(dc_sink->dc_edid.raw_edid, edid, len);
drivers/gpu/drm/amd/display/dc/link/link_detection.h
34
const uint8_t *edid,
drivers/gpu/drm/bridge/analogix/anx7625.c
1222
if (!drm_edid_is_valid((struct edid *)pedid_blocks_buf)) {
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
414
int cdns_mhdp_get_edid_block(void *data, u8 *edid,
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
442
ret = cdns_mhdp_mailbox_recv_data(mhdp, edid, length);
drivers/gpu/drm/bridge/nxp-ptn3460.c
162
u8 *edid;
drivers/gpu/drm/bridge/nxp-ptn3460.c
168
edid = kmalloc(EDID_LENGTH, GFP_KERNEL);
drivers/gpu/drm/bridge/nxp-ptn3460.c
169
if (!edid) {
drivers/gpu/drm/bridge/nxp-ptn3460.c
174
ret = ptn3460_read_bytes(ptn_bridge, PTN3460_EDID_ADDR, edid,
drivers/gpu/drm/bridge/nxp-ptn3460.c
177
kfree(edid);
drivers/gpu/drm/bridge/nxp-ptn3460.c
181
drm_edid = drm_edid_alloc(edid, EDID_LENGTH);
drivers/gpu/drm/bridge/sil-sii8620.c
1516
kfree(ctx->edid);
drivers/gpu/drm/bridge/sil-sii8620.c
1517
ctx->edid = NULL;
drivers/gpu/drm/bridge/sil-sii8620.c
1798
if (ctx->edid)
drivers/gpu/drm/bridge/sil-sii8620.c
496
if (!ctx->edid) {
drivers/gpu/drm/bridge/sil-sii8620.c
503
if (drm_detect_hdmi_monitor(ctx->edid))
drivers/gpu/drm/bridge/sil-sii8620.c
508
drm_edid_get_monitor_name(ctx->edid, sink_name, ARRAY_SIZE(sink_name));
drivers/gpu/drm/bridge/sil-sii8620.c
771
u8 *edid;
drivers/gpu/drm/bridge/sil-sii8620.c
796
edid = kmalloc(EDID_LENGTH, GFP_KERNEL);
drivers/gpu/drm/bridge/sil-sii8620.c
797
if (!edid) {
drivers/gpu/drm/bridge/sil-sii8620.c
823
kfree(edid);
drivers/gpu/drm/bridge/sil-sii8620.c
824
edid = NULL;
drivers/gpu/drm/bridge/sil-sii8620.c
837
kfree(edid);
drivers/gpu/drm/bridge/sil-sii8620.c
838
edid = NULL;
drivers/gpu/drm/bridge/sil-sii8620.c
844
sii8620_read_buf(ctx, REG_DDC_DATA, edid + fetched, FETCH_SIZE);
drivers/gpu/drm/bridge/sil-sii8620.c
846
u8 ext = ((struct edid *)edid)->extensions;
drivers/gpu/drm/bridge/sil-sii8620.c
85
struct edid *edid;
drivers/gpu/drm/bridge/sil-sii8620.c
852
new_edid = krealloc(edid, edid_len, GFP_KERNEL);
drivers/gpu/drm/bridge/sil-sii8620.c
854
kfree(edid);
drivers/gpu/drm/bridge/sil-sii8620.c
858
edid = new_edid;
drivers/gpu/drm/bridge/sil-sii8620.c
869
kfree(ctx->edid);
drivers/gpu/drm/bridge/sil-sii8620.c
870
ctx->edid = (struct edid *)edid;
drivers/gpu/drm/bridge/sil-sii8620.c
894
sii8620_write_buf(ctx, REG_EDID_FIFO_WR_DATA, (u8 *)ctx->edid,
drivers/gpu/drm/bridge/sil-sii8620.c
895
(ctx->edid->extensions + 1) * EDID_LENGTH);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
1746
const struct drm_edid *edid;
drivers/gpu/drm/bridge/synopsys/dw-dp.c
1753
edid = drm_edid_read_ddc(connector, &dp->aux.ddc);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
1757
return edid;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
148
u8 edid[HDMI_EDID_LEN];
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2474
const struct edid *edid;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2490
edid = drm_edid_raw(drm_edid);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2493
edid->width_cm, edid->height_cm);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2495
hdmi->sink_is_hdmi = drm_detect_hdmi_monitor(edid);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2496
hdmi->sink_has_audio = drm_detect_monitor_audio(edid);
drivers/gpu/drm/display/drm_dp_cec.c
377
void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid)
drivers/gpu/drm/display/drm_dp_cec.c
381
if (edid && edid->extensions)
drivers/gpu/drm/display/drm_dp_cec.c
382
pa = cec_get_edid_phys_addr((const u8 *)edid,
drivers/gpu/drm/display/drm_dp_cec.c
383
EDID_LENGTH * (edid->extensions + 1), NULL);
drivers/gpu/drm/display/drm_dp_helper.c
1054
const struct edid *edid = drm_edid_raw(drm_edid);
drivers/gpu/drm/display/drm_dp_helper.c
1056
return edid && edid->revision >= 4 &&
drivers/gpu/drm/display/drm_dp_helper.c
1057
edid->input & DRM_EDID_INPUT_DIGITAL &&
drivers/gpu/drm/display/drm_dp_helper.c
1058
(edid->input & DRM_EDID_DIGITAL_TYPE_MASK) == DRM_EDID_DIGITAL_TYPE_DP;
drivers/gpu/drm/display/drm_dp_mst_topology.c
4391
struct edid *drm_dp_mst_get_edid(struct drm_connector *connector,
drivers/gpu/drm/display/drm_dp_mst_topology.c
4396
struct edid *edid;
drivers/gpu/drm/display/drm_dp_mst_topology.c
4400
edid = drm_edid_duplicate(drm_edid_raw(drm_edid));
drivers/gpu/drm/display/drm_dp_mst_topology.c
4404
return edid;
drivers/gpu/drm/display/drm_dp_mst_topology.c
4893
struct edid *mst_edid;
drivers/gpu/drm/drm_crtc_internal.h
299
int drm_edid_override_set(struct drm_connector *connector, const void *edid, size_t size);
drivers/gpu/drm/drm_crtc_internal.h
65
struct edid;
drivers/gpu/drm/drm_edid.c
1609
const struct edid *edid;
drivers/gpu/drm/drm_edid.c
1612
static int edid_hfeeodb_extension_block_count(const struct edid *edid);
drivers/gpu/drm/drm_edid.c
1614
static int edid_hfeeodb_block_count(const struct edid *edid)
drivers/gpu/drm/drm_edid.c
1616
int eeodb = edid_hfeeodb_extension_block_count(edid);
drivers/gpu/drm/drm_edid.c
1621
static int edid_extension_block_count(const struct edid *edid)
drivers/gpu/drm/drm_edid.c
1623
return edid->extensions;
drivers/gpu/drm/drm_edid.c
1626
static int edid_block_count(const struct edid *edid)
drivers/gpu/drm/drm_edid.c
1628
return edid_extension_block_count(edid) + 1;
drivers/gpu/drm/drm_edid.c
1636
static int edid_size(const struct edid *edid)
drivers/gpu/drm/drm_edid.c
1638
return edid_size_by_blocks(edid_block_count(edid));
drivers/gpu/drm/drm_edid.c
1641
static const void *edid_block_data(const struct edid *edid, int index)
drivers/gpu/drm/drm_edid.c
1643
BUILD_BUG_ON(sizeof(*edid) != EDID_LENGTH);
drivers/gpu/drm/drm_edid.c
1645
return edid + index;
drivers/gpu/drm/drm_edid.c
1648
static const void *edid_extension_block_data(const struct edid *edid, int index)
drivers/gpu/drm/drm_edid.c
1650
return edid_block_data(edid, index + 1);
drivers/gpu/drm/drm_edid.c
1659
num_blocks = edid_block_count(drm_edid->edid);
drivers/gpu/drm/drm_edid.c
1669
eeodb = edid_hfeeodb_block_count(drm_edid->edid);
drivers/gpu/drm/drm_edid.c
1693
return edid_block_data(drm_edid->edid, index);
drivers/gpu/drm/drm_edid.c
1699
return edid_extension_block_data(drm_edid->edid, index);
drivers/gpu/drm/drm_edid.c
1707
const struct edid *edid)
drivers/gpu/drm/drm_edid.c
1709
if (!edid)
drivers/gpu/drm/drm_edid.c
1714
drm_edid->edid = edid;
drivers/gpu/drm/drm_edid.c
1715
drm_edid->size = edid_size(edid);
drivers/gpu/drm/drm_edid.c
1772
static void edid_header_fix(void *edid)
drivers/gpu/drm/drm_edid.c
1774
memcpy(edid, edid_header, sizeof(edid_header));
drivers/gpu/drm/drm_edid.c
1787
const struct edid *edid = _edid;
drivers/gpu/drm/drm_edid.c
1791
if (edid->header[i] == edid_header[i])
drivers/gpu/drm/drm_edid.c
1820
const struct edid *block = _block;
drivers/gpu/drm/drm_edid.c
1832
static bool edid_block_is_zero(const void *edid)
drivers/gpu/drm/drm_edid.c
1834
return mem_is_zero(edid, EDID_LENGTH);
drivers/gpu/drm/drm_edid.c
1840
bool edid1_present = drm_edid && drm_edid->edid && drm_edid->size;
drivers/gpu/drm/drm_edid.c
1850
if (memcmp(drm_edid->edid, raw_edid, drm_edid->size))
drivers/gpu/drm/drm_edid.c
1872
const struct edid *block = _block;
drivers/gpu/drm/drm_edid.c
1920
const struct edid *block,
drivers/gpu/drm/drm_edid.c
1990
struct edid *block = _block;
drivers/gpu/drm/drm_edid.c
2042
bool drm_edid_is_valid(struct edid *edid)
drivers/gpu/drm/drm_edid.c
2046
if (!edid)
drivers/gpu/drm/drm_edid.c
2049
for (i = 0; i < edid_block_count(edid); i++) {
drivers/gpu/drm/drm_edid.c
2050
void *block = (void *)edid_block_data(edid, i);
drivers/gpu/drm/drm_edid.c
2090
static struct edid *edid_filter_invalid_blocks(struct edid *edid,
drivers/gpu/drm/drm_edid.c
2093
struct edid *new;
drivers/gpu/drm/drm_edid.c
2101
for (i = 0; i < edid_block_count(edid); i++) {
drivers/gpu/drm/drm_edid.c
2102
const void *src_block = edid_block_data(edid, i);
drivers/gpu/drm/drm_edid.c
2105
void *dst_block = (void *)edid_block_data(edid, valid_blocks);
drivers/gpu/drm/drm_edid.c
2114
kfree(edid);
drivers/gpu/drm/drm_edid.c
2118
edid->extensions = valid_blocks - 1;
drivers/gpu/drm/drm_edid.c
2119
edid->checksum = edid_block_compute_checksum(edid);
drivers/gpu/drm/drm_edid.c
2123
new = krealloc(edid, *alloc_size, GFP_KERNEL);
drivers/gpu/drm/drm_edid.c
2125
kfree(edid);
drivers/gpu/drm/drm_edid.c
2195
const struct edid *edid, int num_blocks)
drivers/gpu/drm/drm_edid.c
2206
last_block = edid->extensions;
drivers/gpu/drm/drm_edid.c
2211
edid_block_compute_checksum(edid + last_block);
drivers/gpu/drm/drm_edid.c
2219
edid_block_dump(KERN_DEBUG, edid + i, i);
drivers/gpu/drm/drm_edid.c
2249
seq_write(m, drm_edid->edid, drm_edid->size);
drivers/gpu/drm/drm_edid.c
2257
int drm_edid_override_set(struct drm_connector *connector, const void *edid,
drivers/gpu/drm/drm_edid.c
2262
drm_edid = drm_edid_alloc(edid, size);
drivers/gpu/drm/drm_edid.c
2366
static struct edid *_drm_do_get_edid(struct drm_connector *connector,
drivers/gpu/drm/drm_edid.c
2373
struct edid *edid, *new;
drivers/gpu/drm/drm_edid.c
2379
edid = kmemdup(override->edid, alloc_size, GFP_KERNEL);
drivers/gpu/drm/drm_edid.c
2381
if (!edid)
drivers/gpu/drm/drm_edid.c
2386
edid = kmalloc(alloc_size, GFP_KERNEL);
drivers/gpu/drm/drm_edid.c
2387
if (!edid)
drivers/gpu/drm/drm_edid.c
2390
status = edid_block_read(edid, 0, read_block, context);
drivers/gpu/drm/drm_edid.c
2392
edid_block_status_print(status, edid, 0);
drivers/gpu/drm/drm_edid.c
2403
if (!edid_block_status_valid(status, edid_block_tag(edid))) {
drivers/gpu/drm/drm_edid.c
2407
connector_bad_edid(connector, edid, 1);
drivers/gpu/drm/drm_edid.c
2411
if (!edid_extension_block_count(edid))
drivers/gpu/drm/drm_edid.c
2414
alloc_size = edid_size(edid);
drivers/gpu/drm/drm_edid.c
2415
new = krealloc(edid, alloc_size, GFP_KERNEL);
drivers/gpu/drm/drm_edid.c
2418
edid = new;
drivers/gpu/drm/drm_edid.c
2420
num_blocks = edid_block_count(edid);
drivers/gpu/drm/drm_edid.c
2422
void *block = (void *)edid_block_data(edid, i);
drivers/gpu/drm/drm_edid.c
2442
int eeodb = edid_hfeeodb_block_count(edid);
drivers/gpu/drm/drm_edid.c
2447
new = krealloc(edid, alloc_size, GFP_KERNEL);
drivers/gpu/drm/drm_edid.c
2450
edid = new;
drivers/gpu/drm/drm_edid.c
2456
connector_bad_edid(connector, edid, num_blocks);
drivers/gpu/drm/drm_edid.c
2458
edid = edid_filter_invalid_blocks(edid, &alloc_size);
drivers/gpu/drm/drm_edid.c
2465
return edid;
drivers/gpu/drm/drm_edid.c
2468
kfree(edid);
drivers/gpu/drm/drm_edid.c
2482
const struct edid *drm_edid_raw(const struct drm_edid *drm_edid)
drivers/gpu/drm/drm_edid.c
2491
if (WARN_ON(edid_size(drm_edid->edid) > drm_edid->size))
drivers/gpu/drm/drm_edid.c
2494
return drm_edid->edid;
drivers/gpu/drm/drm_edid.c
2499
static const struct drm_edid *_drm_edid_alloc(const void *edid, size_t size)
drivers/gpu/drm/drm_edid.c
2503
if (!edid || !size || size < EDID_LENGTH)
drivers/gpu/drm/drm_edid.c
2508
drm_edid->edid = edid;
drivers/gpu/drm/drm_edid.c
2529
const struct drm_edid *drm_edid_alloc(const void *edid, size_t size)
drivers/gpu/drm/drm_edid.c
2533
if (!edid || !size || size < EDID_LENGTH)
drivers/gpu/drm/drm_edid.c
2536
edid = kmemdup(edid, size, GFP_KERNEL);
drivers/gpu/drm/drm_edid.c
2537
if (!edid)
drivers/gpu/drm/drm_edid.c
2540
drm_edid = _drm_edid_alloc(edid, size);
drivers/gpu/drm/drm_edid.c
2542
kfree(edid);
drivers/gpu/drm/drm_edid.c
2561
return drm_edid_alloc(drm_edid->edid, drm_edid->size);
drivers/gpu/drm/drm_edid.c
2574
kfree(drm_edid->edid);
drivers/gpu/drm/drm_edid.c
2604
struct edid *drm_get_edid(struct drm_connector *connector,
drivers/gpu/drm/drm_edid.c
2607
struct edid *edid;
drivers/gpu/drm/drm_edid.c
2615
edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
drivers/gpu/drm/drm_edid.c
2616
drm_connector_update_edid_property(connector, edid);
drivers/gpu/drm/drm_edid.c
2617
return edid;
drivers/gpu/drm/drm_edid.c
2649
struct edid *edid;
drivers/gpu/drm/drm_edid.c
2652
edid = _drm_do_get_edid(connector, read_block, context, &size);
drivers/gpu/drm/drm_edid.c
2653
if (!edid)
drivers/gpu/drm/drm_edid.c
2659
drm_edid = _drm_edid_alloc(edid, size);
drivers/gpu/drm/drm_edid.c
2661
kfree(edid);
drivers/gpu/drm/drm_edid.c
2735
if (drm_edid && drm_edid->edid && drm_edid->size >= EDID_LENGTH)
drivers/gpu/drm/drm_edid.c
2736
memcpy(id, &drm_edid->edid->product_id, sizeof(*id));
drivers/gpu/drm/drm_edid.c
2800
const struct edid *edid = drm_edid->edid;
drivers/gpu/drm/drm_edid.c
2818
return (u32)edid->mfg_id[0] << 24 |
drivers/gpu/drm/drm_edid.c
2819
(u32)edid->mfg_id[1] << 16 |
drivers/gpu/drm/drm_edid.c
2820
(u32)EDID_PRODUCT_ID(edid);
drivers/gpu/drm/drm_edid.c
2882
struct edid *drm_get_edid_switcheroo(struct drm_connector *connector,
drivers/gpu/drm/drm_edid.c
2887
struct edid *edid;
drivers/gpu/drm/drm_edid.c
2893
edid = drm_get_edid(connector, adapter);
drivers/gpu/drm/drm_edid.c
2896
return edid;
drivers/gpu/drm/drm_edid.c
2935
struct edid *drm_edid_duplicate(const struct edid *edid)
drivers/gpu/drm/drm_edid.c
2937
if (!edid)
drivers/gpu/drm/drm_edid.c
2940
return kmemdup(edid, edid_size(edid), GFP_KERNEL);
drivers/gpu/drm/drm_edid.c
3132
cb(&drm_edid->edid->detailed_timings[i], closure);
drivers/gpu/drm/drm_edid.c
3170
if (drm_edid->edid->revision >= 4) {
drivers/gpu/drm/drm_edid.c
3283
const struct edid *edid = drm_edid->edid;
drivers/gpu/drm/drm_edid.c
3285
if (edid->revision >= 4) {
drivers/gpu/drm/drm_edid.c
3295
} else if (edid->revision >= 3 && drm_gtf2_hbreak(drm_edid)) {
drivers/gpu/drm/drm_edid.c
3297
} else if (edid->revision >= 2) {
drivers/gpu/drm/drm_edid.c
3380
if (drm_edid->edid->revision < 3)
drivers/gpu/drm/drm_edid.c
3597
mode->width_mm = drm_edid->edid->width_cm * 10;
drivers/gpu/drm/drm_edid.c
3598
mode->height_mm = drm_edid->edid->height_cm * 10;
drivers/gpu/drm/drm_edid.c
3609
const struct edid *edid, const u8 *t)
drivers/gpu/drm/drm_edid.c
3614
if (edid->revision >= 4)
drivers/gpu/drm/drm_edid.c
3617
if (edid->revision >= 4)
drivers/gpu/drm/drm_edid.c
3626
const struct edid *edid, const u8 *t)
drivers/gpu/drm/drm_edid.c
3631
if (edid->revision >= 4)
drivers/gpu/drm/drm_edid.c
3634
if (edid->revision >= 4)
drivers/gpu/drm/drm_edid.c
3642
range_pixel_clock(const struct edid *edid, const u8 *t)
drivers/gpu/drm/drm_edid.c
3649
if (edid->revision >= 4 && t[10] == DRM_EDID_CVT_SUPPORT_FLAG)
drivers/gpu/drm/drm_edid.c
3660
const struct edid *edid = drm_edid->edid;
drivers/gpu/drm/drm_edid.c
3664
if (!mode_in_hsync_range(mode, edid, t))
drivers/gpu/drm/drm_edid.c
3667
if (!mode_in_vsync_range(mode, edid, t))
drivers/gpu/drm/drm_edid.c
3670
max_clock = range_pixel_clock(edid, t);
drivers/gpu/drm/drm_edid.c
3676
if (edid->revision >= 4 && t[10] == DRM_EDID_CVT_SUPPORT_FLAG)
drivers/gpu/drm/drm_edid.c
3841
if (closure->drm_edid->edid->revision < 2)
drivers/gpu/drm/drm_edid.c
3856
if (closure->drm_edid->edid->revision < 4)
drivers/gpu/drm/drm_edid.c
3877
if (drm_edid->edid->revision >= 1)
drivers/gpu/drm/drm_edid.c
3932
const struct edid *edid = drm_edid->edid;
drivers/gpu/drm/drm_edid.c
3933
unsigned long est_bits = edid->established_timings.t1 |
drivers/gpu/drm/drm_edid.c
3934
(edid->established_timings.t2 << 8) |
drivers/gpu/drm/drm_edid.c
3935
((edid->established_timings.mfg_rsvd & 0x80) << 9);
drivers/gpu/drm/drm_edid.c
3954
if (edid->revision >= 1)
drivers/gpu/drm/drm_edid.c
4002
&drm_edid->edid->standard_timings[i]);
drivers/gpu/drm/drm_edid.c
4009
if (drm_edid->edid->revision >= 1)
drivers/gpu/drm/drm_edid.c
4089
if (drm_edid->edid->revision >= 3)
drivers/gpu/drm/drm_edid.c
4142
if (drm_edid->edid->revision >= 4)
drivers/gpu/drm/drm_edid.c
4146
drm_edid->edid->features & DRM_EDID_FEATURE_PREFERRED_TIMING;
drivers/gpu/drm/drm_edid.c
5249
static int edid_hfeeodb_extension_block_count(const struct edid *edid)
drivers/gpu/drm/drm_edid.c
5254
if (!edid_extension_block_count(edid))
drivers/gpu/drm/drm_edid.c
5258
cta = edid_extension_block_data(edid, 0);
drivers/gpu/drm/drm_edid.c
5609
void drm_edid_get_monitor_name(const struct edid *edid, char *name, int bufsize)
drivers/gpu/drm/drm_edid.c
5616
if (edid) {
drivers/gpu/drm/drm_edid.c
5619
.edid = edid,
drivers/gpu/drm/drm_edid.c
5620
.size = edid_size(edid),
drivers/gpu/drm/drm_edid.c
5699
eld[DRM_ELD_MANUFACTURER_NAME0] = drm_edid->edid->mfg_id[0];
drivers/gpu/drm/drm_edid.c
5700
eld[DRM_ELD_MANUFACTURER_NAME1] = drm_edid->edid->mfg_id[1];
drivers/gpu/drm/drm_edid.c
5701
eld[DRM_ELD_PRODUCT_CODE0] = drm_edid->edid->prod_code[0];
drivers/gpu/drm/drm_edid.c
5702
eld[DRM_ELD_PRODUCT_CODE1] = drm_edid->edid->prod_code[1];
drivers/gpu/drm/drm_edid.c
5794
int drm_edid_to_sad(const struct edid *edid, struct cea_sad **sads)
drivers/gpu/drm/drm_edid.c
5798
return _drm_edid_to_sad(drm_edid_legacy_init(&drm_edid, edid), sads);
drivers/gpu/drm/drm_edid.c
5840
int drm_edid_to_speaker_allocation(const struct edid *edid, u8 **sadb)
drivers/gpu/drm/drm_edid.c
5844
return _drm_edid_to_speaker_allocation(drm_edid_legacy_init(&drm_edid, edid),
drivers/gpu/drm/drm_edid.c
5923
bool drm_detect_hdmi_monitor(const struct edid *edid)
drivers/gpu/drm/drm_edid.c
5927
return _drm_detect_hdmi_monitor(drm_edid_legacy_init(&drm_edid, edid));
drivers/gpu/drm/drm_edid.c
5985
bool drm_detect_monitor_audio(const struct edid *edid)
drivers/gpu/drm/drm_edid.c
5989
return _drm_detect_monitor_audio(drm_edid_legacy_init(&drm_edid, edid));
drivers/gpu/drm/drm_edid.c
6479
const struct edid *edid = closure->drm_edid->edid;
drivers/gpu/drm/drm_edid.c
6499
if (edid->revision >= 4) {
drivers/gpu/drm/drm_edid.c
6516
if (drm_edid->edid->revision < 4)
drivers/gpu/drm/drm_edid.c
6519
if (!(drm_edid->edid->features & DRM_EDID_FEATURE_CONTINUOUS_FREQ))
drivers/gpu/drm/drm_edid.c
6678
const struct edid *edid;
drivers/gpu/drm/drm_edid.c
6686
edid = drm_edid->edid;
drivers/gpu/drm/drm_edid.c
6690
info->width_mm = edid->width_cm * 10;
drivers/gpu/drm/drm_edid.c
6691
info->height_mm = edid->height_cm * 10;
drivers/gpu/drm/drm_edid.c
6695
if (edid->revision < 3)
drivers/gpu/drm/drm_edid.c
6713
if (info->bpc == 0 && edid->revision == 3 &&
drivers/gpu/drm/drm_edid.c
6714
edid->input & DRM_EDID_DIGITAL_DFP_1_X) {
drivers/gpu/drm/drm_edid.c
6722
if (edid->revision < 4)
drivers/gpu/drm/drm_edid.c
6725
switch (edid->input & DRM_EDID_DIGITAL_DEPTH_MASK) {
drivers/gpu/drm/drm_edid.c
6754
if (edid->features & DRM_EDID_FEATURE_RGB_YCRCB444)
drivers/gpu/drm/drm_edid.c
6756
if (edid->features & DRM_EDID_FEATURE_RGB_YCRCB422)
drivers/gpu/drm/drm_edid.c
6972
if (drm_edid->edid->features & DRM_EDID_FEATURE_CONTINUOUS_FREQ)
drivers/gpu/drm/drm_edid.c
7006
drm_edid ? drm_edid->edid : NULL,
drivers/gpu/drm/drm_edid.c
7039
const void *edid;
drivers/gpu/drm/drm_edid.c
7048
edid = connector->edid_blob_ptr->data;
drivers/gpu/drm/drm_edid.c
7050
if (!edid)
drivers/gpu/drm/drm_edid.c
7059
memcpy(buf, edid + off, count);
drivers/gpu/drm/drm_edid.c
7139
const struct edid *edid)
drivers/gpu/drm/drm_edid.c
7143
return drm_edid_connector_update(connector, drm_edid_legacy_init(&drm_edid, edid));
drivers/gpu/drm/drm_edid.c
7160
int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
drivers/gpu/drm/drm_edid.c
7165
if (edid && !drm_edid_is_valid(edid)) {
drivers/gpu/drm/drm_edid.c
7168
edid = NULL;
drivers/gpu/drm/drm_edid.c
7171
drm_edid = drm_edid_legacy_init(&_drm_edid, edid);
drivers/gpu/drm/drm_edid.c
7590
return drm_edid && drm_edid->edid &&
drivers/gpu/drm/drm_edid.c
7591
drm_edid->edid->input & DRM_EDID_INPUT_DIGITAL;
drivers/gpu/drm/drm_panel_backlight_quirks.c
103
const struct drm_edid *edid)
drivers/gpu/drm/drm_panel_backlight_quirks.c
114
if (quirk->ident.panel_id && !drm_edid_match(edid, &quirk->ident))
drivers/gpu/drm/drm_panel_backlight_quirks.c
133
drm_get_panel_backlight_quirk(const struct drm_edid *edid)
drivers/gpu/drm/drm_panel_backlight_quirks.c
141
if (!edid)
drivers/gpu/drm/drm_panel_backlight_quirks.c
147
if (drm_panel_min_backlight_quirk_matches(quirk, edid))
drivers/gpu/drm/exynos/exynos_drm_vidi.c
266
const void __user *edid_userptr = u64_to_user_ptr(vidi->edid);
drivers/gpu/drm/exynos/exynos_drm_vidi.c
268
struct edid hdr;
drivers/gpu/drm/gma500/cdv_intel_dp.c
1695
struct edid *edid = NULL;
drivers/gpu/drm/gma500/cdv_intel_dp.c
1712
edid = drm_get_edid(connector, &intel_dp->adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1713
if (edid) {
drivers/gpu/drm/gma500/cdv_intel_dp.c
1714
intel_dp->has_audio = drm_detect_monitor_audio(edid);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1715
kfree(edid);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1728
struct edid *edid = NULL;
drivers/gpu/drm/gma500/cdv_intel_dp.c
1733
edid = drm_get_edid(connector, &intel_dp->adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1734
if (edid) {
drivers/gpu/drm/gma500/cdv_intel_dp.c
1735
drm_connector_update_edid_property(connector, edid);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1736
ret = drm_add_edid_modes(connector, edid);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1737
kfree(edid);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1784
struct edid *edid;
drivers/gpu/drm/gma500/cdv_intel_dp.c
1791
edid = drm_get_edid(connector, &intel_dp->adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1792
if (edid) {
drivers/gpu/drm/gma500/cdv_intel_dp.c
1793
has_audio = drm_detect_monitor_audio(edid);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1794
kfree(edid);
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
132
struct edid *edid = NULL;
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
135
edid = drm_get_edid(connector, connector->ddc);
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
139
if (edid) {
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
140
if (edid->input & DRM_EDID_INPUT_DIGITAL) {
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
143
drm_detect_hdmi_monitor(edid);
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
145
drm_detect_monitor_audio(edid);
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
147
kfree(edid);
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
213
struct edid *edid = NULL;
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
216
edid = drm_get_edid(connector, connector->ddc);
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
217
if (edid) {
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
218
drm_connector_update_edid_property(connector, edid);
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
219
ret = drm_add_edid_modes(connector, edid);
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
220
kfree(edid);
drivers/gpu/drm/gma500/oaktrail_hdmi.c
568
struct edid *edid;
drivers/gpu/drm/gma500/oaktrail_hdmi.c
579
edid = (struct edid *)raw_edid;
drivers/gpu/drm/gma500/oaktrail_hdmi.c
581
edid = (struct edid *)raw_edid;
drivers/gpu/drm/gma500/oaktrail_hdmi.c
585
if (edid) {
drivers/gpu/drm/gma500/oaktrail_hdmi.c
586
drm_connector_update_edid_property(connector, edid);
drivers/gpu/drm/gma500/oaktrail_hdmi.c
587
ret = drm_add_edid_modes(connector, edid);
drivers/gpu/drm/gma500/oaktrail_lvds.c
300
struct edid *edid;
drivers/gpu/drm/gma500/oaktrail_lvds.c
360
edid = NULL;
drivers/gpu/drm/gma500/oaktrail_lvds.c
365
edid = drm_get_edid(connector, i2c_adap);
drivers/gpu/drm/gma500/oaktrail_lvds.c
367
if (edid == NULL && dev_priv->lpc_gpio_base) {
drivers/gpu/drm/gma500/oaktrail_lvds.c
371
edid = drm_get_edid(connector, i2c_adap);
drivers/gpu/drm/gma500/oaktrail_lvds.c
386
if (edid) {
drivers/gpu/drm/gma500/oaktrail_lvds.c
387
drm_connector_update_edid_property(connector, edid);
drivers/gpu/drm/gma500/oaktrail_lvds.c
388
drm_add_edid_modes(connector, edid);
drivers/gpu/drm/gma500/oaktrail_lvds.c
389
kfree(edid);
drivers/gpu/drm/gma500/psb_intel_modes.c
24
struct edid *edid;
drivers/gpu/drm/gma500/psb_intel_modes.c
27
edid = drm_get_edid(connector, adapter);
drivers/gpu/drm/gma500/psb_intel_modes.c
28
if (edid) {
drivers/gpu/drm/gma500/psb_intel_modes.c
29
drm_connector_update_edid_property(connector, edid);
drivers/gpu/drm/gma500/psb_intel_modes.c
30
ret = drm_add_edid_modes(connector, edid);
drivers/gpu/drm/gma500/psb_intel_modes.c
31
kfree(edid);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1232
static struct edid *
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1240
static struct edid *
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1254
struct edid *edid;
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1256
edid = psb_intel_sdvo_get_edid(connector);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1258
if (edid == NULL && psb_intel_sdvo_multifunc_encoder(psb_intel_sdvo)) {
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1267
edid = psb_intel_sdvo_get_edid(connector);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1268
if (edid)
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1275
if (edid == NULL)
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1283
if (edid == NULL)
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1284
edid = psb_intel_sdvo_get_analog_edid(connector);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1287
if (edid != NULL) {
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1289
if (edid->input & DRM_EDID_INPUT_DIGITAL) {
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1292
psb_intel_sdvo->has_hdmi_monitor = drm_detect_hdmi_monitor(edid);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1293
psb_intel_sdvo->has_hdmi_audio = drm_detect_monitor_audio(edid);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1297
kfree(edid);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1346
struct edid *edid;
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1349
edid = psb_intel_sdvo_get_edid(connector);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1350
if (edid == NULL)
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1351
edid = psb_intel_sdvo_get_analog_edid(connector);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1352
if (edid != NULL) {
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1353
if (edid->input & DRM_EDID_INPUT_DIGITAL)
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1357
kfree(edid);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1381
struct edid *edid;
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1384
edid = psb_intel_sdvo_get_edid(connector);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1392
if (edid == NULL)
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1393
edid = psb_intel_sdvo_get_analog_edid(connector);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1395
if (edid != NULL) {
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1397
bool monitor_is_digital = !!(edid->input & DRM_EDID_INPUT_DIGITAL);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1401
drm_connector_update_edid_property(connector, edid);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1402
drm_add_edid_modes(connector, edid);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1405
kfree(edid);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1577
struct edid *edid;
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1583
edid = psb_intel_sdvo_get_edid(connector);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1584
if (edid != NULL && edid->input & DRM_EDID_INPUT_DIGITAL)
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1585
has_audio = drm_detect_monitor_audio(edid);
drivers/gpu/drm/i915/display/intel_display_types.h
1672
unsigned long edid;
drivers/gpu/drm/i915/display/intel_dp_test.c
197
intel_dp->compliance.test_data.edid = INTEL_DP_RESOLUTION_FAILSAFE;
drivers/gpu/drm/i915/display/intel_dp_test.c
200
const struct edid *block = drm_edid_raw(intel_connector->detect_edid);
drivers/gpu/drm/i915/display/intel_dp_test.c
211
intel_dp->compliance.test_data.edid = INTEL_DP_RESOLUTION_PREFERRED;
drivers/gpu/drm/i915/display/intel_dp_test.c
682
intel_dp->compliance.test_data.edid);
drivers/gpu/drm/i915/display/intel_opregion.c
1115
const void *edid;
drivers/gpu/drm/i915/display/intel_opregion.c
1121
edid = opregion->asle_ext->bddc;
drivers/gpu/drm/i915/display/intel_opregion.c
1125
if (!len || mem_is_zero(edid, len))
drivers/gpu/drm/i915/display/intel_opregion.c
1128
drm_edid = drm_edid_alloc(edid, len);
drivers/gpu/drm/i915/gvt/display.c
533
kfree(port->edid);
drivers/gpu/drm/i915/gvt/display.c
534
port->edid = NULL;
drivers/gpu/drm/i915/gvt/display.c
565
port->edid = kzalloc_obj(*(port->edid));
drivers/gpu/drm/i915/gvt/display.c
566
if (!port->edid)
drivers/gpu/drm/i915/gvt/display.c
571
kfree(port->edid);
drivers/gpu/drm/i915/gvt/display.c
575
memcpy(port->edid->edid_block, virtual_dp_monitor_edid[resolution],
drivers/gpu/drm/i915/gvt/display.c
577
port->edid->data_valid = true;
drivers/gpu/drm/i915/gvt/display.h
109
struct intel_vgpu_edid_data *edid;
drivers/gpu/drm/i915/gvt/display.h
51
(intel_vgpu_port(vgpu, port)->edid && \
drivers/gpu/drm/i915/gvt/display.h
52
intel_vgpu_port(vgpu, port)->edid->data_valid)
drivers/gpu/drm/i915/gvt/edid.c
574
struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid;
drivers/gpu/drm/i915/gvt/edid.c
576
edid->state = I2C_NOT_SPECIFIED;
drivers/gpu/drm/i915/gvt/edid.c
578
edid->port = -1;
drivers/gpu/drm/i915/gvt/edid.c
579
edid->target_selected = false;
drivers/gpu/drm/i915/gvt/edid.c
580
edid->edid_available = false;
drivers/gpu/drm/i915/gvt/edid.c
581
edid->current_edid_read = 0;
drivers/gpu/drm/i915/gvt/edid.c
583
memset(&edid->gmbus, 0, sizeof(struct intel_vgpu_i2c_gmbus));
drivers/gpu/drm/i915/gvt/edid.c
585
edid->aux_ch.i2c_over_aux_ch = false;
drivers/gpu/drm/i915/gvt/edid.c
586
edid->aux_ch.aux_ch_mot = false;
drivers/gpu/drm/i915/gvt/edid.c
59
struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid;
drivers/gpu/drm/i915/gvt/edid.c
62
if (edid->state == I2C_NOT_SPECIFIED || !edid->target_selected) {
drivers/gpu/drm/i915/gvt/edid.c
66
if (edid->current_edid_read >= EDID_SIZE) {
drivers/gpu/drm/i915/gvt/edid.c
71
if (!edid->edid_available) {
drivers/gpu/drm/i915/gvt/edid.c
76
if (intel_vgpu_has_monitor_on_port(vgpu, edid->port)) {
drivers/gpu/drm/i915/gvt/edid.c
78
intel_vgpu_port(vgpu, edid->port)->edid;
drivers/gpu/drm/i915/gvt/edid.c
80
chr = edid_data->edid_block[edid->current_edid_read];
drivers/gpu/drm/i915/gvt/edid.c
81
edid->current_edid_read++;
drivers/gpu/drm/i915/gvt/gvt.h
311
enum intel_vgpu_edid edid;
drivers/gpu/drm/i915/gvt/kvmgt.c
125
type->conf->fence, vgpu_edid_str(type->conf->edid),
drivers/gpu/drm/i915/gvt/kvmgt.c
429
static bool edid_valid(const void *edid, size_t size)
drivers/gpu/drm/i915/gvt/kvmgt.c
434
drm_edid = drm_edid_alloc(edid, size);
drivers/gpu/drm/i915/gvt/kvmgt.c
608
base->edid_blob = port->edid->edid_block;
drivers/gpu/drm/i915/gvt/vgpu.c
141
conf->weight, vgpu_edid_str(conf->edid));
drivers/gpu/drm/i915/gvt/vgpu.c
359
ret = intel_vgpu_init_display(vgpu, conf->edid);
drivers/gpu/drm/mediatek/mtk_dp.c
2202
const struct edid *edid = drm_edid_raw(drm_edid);
drivers/gpu/drm/mediatek/mtk_dp.c
2206
ret = drm_edid_to_sad(edid, &sads);
drivers/gpu/drm/mediatek/mtk_dp.c
2219
audio_caps->detect_monitor = drm_detect_monitor_audio(edid);
drivers/gpu/drm/mediatek/mtk_hdmi.c
968
const struct edid *edid = drm_edid_raw(drm_edid);
drivers/gpu/drm/mediatek/mtk_hdmi.c
970
hdmi->dvi_mode = !drm_detect_monitor_audio(edid);
drivers/gpu/drm/meson/meson_encoder_hdmi.c
335
const struct edid *edid;
drivers/gpu/drm/meson/meson_encoder_hdmi.c
349
edid = drm_edid_raw(drm_edid);
drivers/gpu/drm/meson/meson_encoder_hdmi.c
351
cec_notifier_set_phys_addr_from_edid(encoder_hdmi->cec_notifier, edid);
drivers/gpu/drm/msm/dp/dp_panel.c
333
static u8 msm_dp_panel_get_edid_checksum(const struct edid *edid)
drivers/gpu/drm/msm/dp/dp_panel.c
335
edid += edid->extensions;
drivers/gpu/drm/msm/dp/dp_panel.c
337
return edid->checksum;
drivers/gpu/drm/msm/dp/dp_panel.c
353
const struct edid *edid = drm_edid_raw(msm_dp_panel->drm_edid);
drivers/gpu/drm/msm/dp/dp_panel.c
356
if (edid)
drivers/gpu/drm/msm/dp/dp_panel.c
357
checksum = msm_dp_panel_get_edid_checksum(edid);
drivers/gpu/drm/msm/dp/dp_panel.h
15
struct edid;
drivers/gpu/drm/nouveau/dispnv04/dfp.c
347
if (nv_connector->edid &&
drivers/gpu/drm/nouveau/dispnv04/dfp.c
349
duallink = (((u8 *)nv_connector->edid)[121] == 2);
drivers/gpu/drm/nouveau/dispnv50/disp.c
1170
mstc->edid = drm_dp_mst_get_edid(&mstc->connector, mstc->port->mgr, mstc->port);
drivers/gpu/drm/nouveau/dispnv50/disp.c
1171
drm_connector_update_edid_property(&mstc->connector, mstc->edid);
drivers/gpu/drm/nouveau/dispnv50/disp.c
1172
if (mstc->edid)
drivers/gpu/drm/nouveau/dispnv50/disp.c
1173
ret = drm_add_edid_modes(&mstc->connector, mstc->edid);
drivers/gpu/drm/nouveau/dispnv50/disp.c
1807
if (((u8 *)nv_connector->edid)[121] == 2)
drivers/gpu/drm/nouveau/dispnv50/disp.c
866
struct edid *edid;
drivers/gpu/drm/nouveau/nouveau_acpi.c
368
void *edid;
drivers/gpu/drm/nouveau/nouveau_acpi.c
383
ret = acpi_video_get_edid(acpidev, type, -1, &edid);
drivers/gpu/drm/nouveau/nouveau_acpi.c
387
return edid;
drivers/gpu/drm/nouveau/nouveau_bios.c
1994
if (bios->fp.edid)
drivers/gpu/drm/nouveau/nouveau_bios.c
1995
return bios->fp.edid;
drivers/gpu/drm/nouveau/nouveau_bios.c
2012
return bios->fp.edid = &bios->data[offset];
drivers/gpu/drm/nouveau/nouveau_bios.h
132
uint8_t *edid;
drivers/gpu/drm/nouveau/nouveau_connector.c
400
kfree(nv_connector->edid);
drivers/gpu/drm/nouveau/nouveau_connector.c
489
const void *edid = of_get_property(cn, "EDID", NULL);
drivers/gpu/drm/nouveau/nouveau_connector.c
492
if (nv_encoder->dcb->i2c_index == idx && edid) {
drivers/gpu/drm/nouveau/nouveau_connector.c
493
nv_connector->edid =
drivers/gpu/drm/nouveau/nouveau_connector.c
494
kmemdup(edid, EDID_LENGTH, GFP_KERNEL);
drivers/gpu/drm/nouveau/nouveau_connector.c
551
struct edid *edid)
drivers/gpu/drm/nouveau/nouveau_connector.c
553
if (nv_connector->edid != edid) {
drivers/gpu/drm/nouveau/nouveau_connector.c
554
struct edid *old_edid = nv_connector->edid;
drivers/gpu/drm/nouveau/nouveau_connector.c
556
drm_connector_update_edid_property(&nv_connector->base, edid);
drivers/gpu/drm/nouveau/nouveau_connector.c
558
nv_connector->edid = edid;
drivers/gpu/drm/nouveau/nouveau_connector.c
593
struct edid *new_edid = NULL;
drivers/gpu/drm/nouveau/nouveau_connector.c
608
if (!nv_connector->edid) {
drivers/gpu/drm/nouveau/nouveau_connector.c
629
if (nv_connector->edid->input & DRM_EDID_INPUT_DIGITAL)
drivers/gpu/drm/nouveau/nouveau_connector.c
641
drm_dp_cec_set_edid(&nv_connector->aux, nv_connector->edid);
drivers/gpu/drm/nouveau/nouveau_connector.c
673
if (!nv_connector->edid)
drivers/gpu/drm/nouveau/nouveau_connector.c
689
struct edid *edid = NULL;
drivers/gpu/drm/nouveau/nouveau_connector.c
700
edid = nv_connector->edid;
drivers/gpu/drm/nouveau/nouveau_connector.c
715
edid = nouveau_acpi_edid(dev, connector);
drivers/gpu/drm/nouveau/nouveau_connector.c
716
if (edid) {
drivers/gpu/drm/nouveau/nouveau_connector.c
736
edid = (struct edid *)nouveau_bios_embedded_edid(dev);
drivers/gpu/drm/nouveau/nouveau_connector.c
737
if (edid) {
drivers/gpu/drm/nouveau/nouveau_connector.c
738
edid = kmemdup(edid, EDID_LENGTH, GFP_KERNEL);
drivers/gpu/drm/nouveau/nouveau_connector.c
739
if (edid)
drivers/gpu/drm/nouveau/nouveau_connector.c
752
nouveau_connector_set_edid(nv_connector, edid);
drivers/gpu/drm/nouveau/nouveau_connector.c
889
if (nv_connector->edid && connector->display_info.bpc)
drivers/gpu/drm/nouveau/nouveau_connector.c
916
if (nv_connector->edid &&
drivers/gpu/drm/nouveau/nouveau_connector.c
918
duallink = ((u8 *)nv_connector->edid)[121] == 2;
drivers/gpu/drm/nouveau/nouveau_connector.c
976
if (nv_connector->edid)
drivers/gpu/drm/nouveau/nouveau_connector.c
977
ret = drm_add_edid_modes(connector, nv_connector->edid);
drivers/gpu/drm/nouveau/nouveau_connector.h
140
struct edid *edid;
drivers/gpu/drm/nouveau/nouveau_connector.h
46
struct edid;
drivers/gpu/drm/omapdrm/dss/hdmi4.c
479
const struct edid *edid = drm_edid_raw(drm_edid);
drivers/gpu/drm/omapdrm/dss/hdmi4.c
480
unsigned int len = (edid->extensions + 1) * EDID_LENGTH;
drivers/gpu/drm/omapdrm/dss/hdmi4.c
482
cec_addr = cec_get_edid_phys_addr((u8 *)edid, len, NULL);
drivers/gpu/drm/panel/panel-edp.c
2102
static const struct edp_panel_entry *find_edp_panel(u32 panel_id, const struct drm_edid *edid)
drivers/gpu/drm/panel/panel-edp.c
2116
if (drm_edid_match(edid, &panel->ident))
drivers/gpu/drm/panel/panel-edp.c
738
static const struct edp_panel_entry *find_edp_panel(u32 panel_id, const struct drm_edid *edid);
drivers/gpu/drm/radeon/radeon_atombios.c
1719
const struct drm_edid *edid;
drivers/gpu/drm/radeon/radeon_atombios.c
1726
edid = drm_edid_alloc(fake_edid_record->ucFakeEDIDString, edid_size);
drivers/gpu/drm/radeon/radeon_atombios.c
1727
if (drm_edid_valid(edid))
drivers/gpu/drm/radeon/radeon_atombios.c
1728
rdev->mode_info.bios_hardcoded_edid = edid;
drivers/gpu/drm/radeon/radeon_atombios.c
1730
drm_edid_free(edid);
drivers/gpu/drm/radeon/radeon_audio.c
314
sad_count = drm_edid_to_sad(radeon_connector->edid, &sads);
drivers/gpu/drm/radeon/radeon_audio.c
338
sad_count = drm_edid_to_speaker_allocation(radeon_connector->edid, &sadb);
drivers/gpu/drm/radeon/radeon_combios.c
373
const struct drm_edid *edid;
drivers/gpu/drm/radeon/radeon_combios.c
381
edid = drm_edid_alloc(raw, size);
drivers/gpu/drm/radeon/radeon_combios.c
383
if (!drm_edid_valid(edid)) {
drivers/gpu/drm/radeon/radeon_combios.c
384
drm_edid_free(edid);
drivers/gpu/drm/radeon/radeon_combios.c
388
rdev->mode_info.bios_hardcoded_edid = edid;
drivers/gpu/drm/radeon/radeon_combios.c
393
struct edid *
drivers/gpu/drm/radeon/radeon_connectors.c
1013
if (!radeon_connector->edid) {
drivers/gpu/drm/radeon/radeon_connectors.c
1019
!!(radeon_connector->edid->input & DRM_EDID_INPUT_DIGITAL);
drivers/gpu/drm/radeon/radeon_connectors.c
1257
if (!radeon_connector->edid) {
drivers/gpu/drm/radeon/radeon_connectors.c
1274
!!(radeon_connector->edid->input & DRM_EDID_INPUT_DIGITAL);
drivers/gpu/drm/radeon/radeon_connectors.c
264
if (radeon_connector->edid)
drivers/gpu/drm/radeon/radeon_connectors.c
274
radeon_connector->edid = drm_get_edid(connector,
drivers/gpu/drm/radeon/radeon_connectors.c
283
radeon_connector->edid = drm_get_edid(&radeon_connector->base,
drivers/gpu/drm/radeon/radeon_connectors.c
286
radeon_connector->edid = drm_get_edid(&radeon_connector->base,
drivers/gpu/drm/radeon/radeon_connectors.c
291
radeon_connector->edid = drm_get_edid_switcheroo(&radeon_connector->base,
drivers/gpu/drm/radeon/radeon_connectors.c
294
radeon_connector->edid = drm_get_edid(&radeon_connector->base,
drivers/gpu/drm/radeon/radeon_connectors.c
298
if (!radeon_connector->edid) {
drivers/gpu/drm/radeon/radeon_connectors.c
309
radeon_connector->edid = radeon_bios_get_hardcoded_edid(rdev);
drivers/gpu/drm/radeon/radeon_connectors.c
312
radeon_connector->edid = radeon_bios_get_hardcoded_edid(rdev);
drivers/gpu/drm/radeon/radeon_connectors.c
321
kfree(radeon_connector->edid);
drivers/gpu/drm/radeon/radeon_connectors.c
322
radeon_connector->edid = NULL;
drivers/gpu/drm/radeon/radeon_connectors.c
330
if (radeon_connector->edid) {
drivers/gpu/drm/radeon/radeon_connectors.c
331
drm_connector_update_edid_property(connector, radeon_connector->edid);
drivers/gpu/drm/radeon/radeon_connectors.c
332
ret = drm_add_edid_modes(connector, radeon_connector->edid);
drivers/gpu/drm/radeon/radeon_connectors.c
872
if (radeon_connector->edid)
drivers/gpu/drm/radeon/radeon_mode.h
45
struct edid;
drivers/gpu/drm/radeon/radeon_mode.h
528
struct edid *edid;
drivers/gpu/drm/radeon/radeon_mode.h
842
extern struct edid *
drivers/gpu/drm/rockchip/cdn-dp-reg.c
436
int cdn_dp_get_edid_block(void *data, u8 *edid,
drivers/gpu/drm/rockchip/cdn-dp-reg.c
462
ret = cdn_dp_mailbox_read_receive(dp, edid, length);
drivers/gpu/drm/rockchip/cdn-dp-reg.h
466
int cdn_dp_get_edid_block(void *dp, u8 *edid,
drivers/gpu/drm/sysfb/drm_sysfb_helper.h
73
const u8 *edid; /* can be NULL */
drivers/gpu/drm/sysfb/drm_sysfb_modeset.c
572
const u8 *edid = sysfb->edid;
drivers/gpu/drm/sysfb/drm_sysfb_modeset.c
576
if (!edid)
drivers/gpu/drm/sysfb/drm_sysfb_modeset.c
580
memcpy(buf, &edid[off], len);
drivers/gpu/drm/sysfb/drm_sysfb_modeset.c
599
if (sysfb->edid) {
drivers/gpu/drm/sysfb/efidrm.c
208
if (drm_edid_header_is_valid(dpy->edid.dummy) == 8)
drivers/gpu/drm/sysfb/efidrm.c
209
sysfb->edid = dpy->edid.dummy;
drivers/gpu/drm/sysfb/efidrm.c
335
if (sysfb->edid)
drivers/gpu/drm/sysfb/ofdrm.c
1065
if (edid)
drivers/gpu/drm/sysfb/ofdrm.c
305
u8 edid[EDID_LENGTH];
drivers/gpu/drm/sysfb/ofdrm.c
828
const u8 *edid;
drivers/gpu/drm/sysfb/ofdrm.c
979
edid = display_get_edid_of(dev, of_node, odev->edid);
drivers/gpu/drm/sysfb/ofdrm.c
991
sysfb->edid = edid;
drivers/gpu/drm/sysfb/vesadrm.c
476
if (drm_edid_header_is_valid(dpy->edid.dummy) == 8)
drivers/gpu/drm/sysfb/vesadrm.c
477
sysfb->edid = dpy->edid.dummy;
drivers/gpu/drm/sysfb/vesadrm.c
581
if (sysfb->edid)
drivers/gpu/drm/tegra/drm.h
31
struct edid;
drivers/gpu/drm/tegra/output.c
100
const void *edid;
drivers/gpu/drm/tegra/output.c
138
edid = of_get_property(output->of_node, "nvidia,edid", &size);
drivers/gpu/drm/tegra/output.c
139
output->drm_edid = drm_edid_alloc(edid, size);
drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c
147
const struct drm_edid *edid;
drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c
150
edid = drm_edid_alloc(priv->current_edid, priv->current_edid_len);
drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c
151
if (!edid)
drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c
154
drm_edid_connector_update(connector, edid);
drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c
157
drm_edid_free(edid);
drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c
267
#define drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test, formats, max_bpc, funcs, edid) \
drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c
268
__connector_hdmi_init(test, formats, max_bpc, funcs, edid, ARRAY_SIZE(edid))
drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c
64
const void *edid, size_t edid_len)
drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c
71
priv->current_edid = edid;
drivers/gpu/drm/tiny/bochs.c
568
const struct drm_edid *edid;
drivers/gpu/drm/tiny/bochs.c
571
edid = bochs_hw_read_edid(connector);
drivers/gpu/drm/tiny/bochs.c
573
if (edid) {
drivers/gpu/drm/tiny/bochs.c
574
drm_edid_connector_update(connector, edid);
drivers/gpu/drm/tiny/bochs.c
576
drm_edid_free(edid);
drivers/gpu/drm/tiny/gm12u320.c
467
static const struct edid gm12u320_edid = {
drivers/gpu/drm/vboxvideo/vbox_mode.c
646
unsigned char edid[EDID_SIZE] = {
drivers/gpu/drm/vboxvideo/vbox_mode.c
691
edid[12] = width & 0xff;
drivers/gpu/drm/vboxvideo/vbox_mode.c
692
edid[13] = width >> 8;
drivers/gpu/drm/vboxvideo/vbox_mode.c
693
edid[14] = height & 0xff;
drivers/gpu/drm/vboxvideo/vbox_mode.c
694
edid[15] = height >> 8;
drivers/gpu/drm/vboxvideo/vbox_mode.c
695
edid[54] = clock & 0xff;
drivers/gpu/drm/vboxvideo/vbox_mode.c
696
edid[55] = clock >> 8;
drivers/gpu/drm/vboxvideo/vbox_mode.c
697
edid[56] = width & 0xff;
drivers/gpu/drm/vboxvideo/vbox_mode.c
698
edid[58] = (width >> 4) & 0xf0;
drivers/gpu/drm/vboxvideo/vbox_mode.c
699
edid[59] = height & 0xff;
drivers/gpu/drm/vboxvideo/vbox_mode.c
700
edid[61] = (height >> 4) & 0xf0;
drivers/gpu/drm/vboxvideo/vbox_mode.c
702
sum += edid[i];
drivers/gpu/drm/vboxvideo/vbox_mode.c
703
edid[EDID_SIZE - 1] = (0x100 - (sum & 0xFF)) & 0xFF;
drivers/gpu/drm/vboxvideo/vbox_mode.c
704
drm_connector_update_edid_property(connector, (struct edid *)edid);
drivers/gpu/drm/virtio/virtgpu_vq.c
902
memcpy(buf, resp->edid + start, len);
drivers/media/cec/core/cec-adap.c
1749
const struct edid *edid)
drivers/media/cec/core/cec-adap.c
1753
if (edid && edid->extensions)
drivers/media/cec/core/cec-adap.c
1754
pa = cec_get_edid_phys_addr((const u8 *)edid,
drivers/media/cec/core/cec-adap.c
1755
EDID_LENGTH * (edid->extensions + 1), NULL);
drivers/media/cec/core/cec-adap.c
48
u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size,
drivers/media/cec/core/cec-adap.c
51
unsigned int loc = cec_get_edid_spa_location(edid, size);
drivers/media/cec/core/cec-adap.c
57
return (edid[loc] << 8) | edid[loc + 1];
drivers/media/cec/core/cec-notifier.c
205
const struct edid *edid)
drivers/media/cec/core/cec-notifier.c
212
if (edid && edid->extensions)
drivers/media/cec/core/cec-notifier.c
213
pa = cec_get_edid_phys_addr((const u8 *)edid,
drivers/media/cec/core/cec-notifier.c
214
EDID_LENGTH * (edid->extensions + 1), NULL);
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1184
log_printf(adap, file, "EDID: %*ph\n", 16, port->edid + i);
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1257
struct v4l2_edid *edid)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1261
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1264
if (edid->pad)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1272
if (edid->start_block == 0 && edid->blocks == 0) {
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1273
edid->blocks = port->edid_blocks;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1276
if (edid->start_block >= port->edid_blocks)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1278
if (edid->blocks > port->edid_blocks - edid->start_block)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1279
edid->blocks = port->edid_blocks - edid->start_block;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1280
memcpy(edid->edid, port->edid + edid->start_block * 128, edid->blocks * 128);
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1284
static int extron_s_edid(struct file *file, void *priv, struct v4l2_edid *edid)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1288
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1291
if (edid->pad)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1295
if (edid->blocks == 0)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1298
if (edid->blocks > MAX_EDID_BLOCKS) {
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1299
edid->blocks = MAX_EDID_BLOCKS;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1303
if (cec_get_edid_spa_location(edid->edid, edid->blocks * 128))
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1304
v4l2_set_edid_phys_addr(edid->edid, edid->blocks * 128, 0);
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
1306
return extron_write_edid(port, edid->edid, edid->blocks);
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
253
const u8 *edid = port->edid;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
262
port->est_i = edid[0x23];
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
263
port->est_ii = edid[0x24];
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
267
const u8 *dtd = edid + 0x36 + i * 18;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
293
edid += 128;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
296
if (edid[0] != 0x02 || edid[1] != 0x03)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
300
d = edid[2] & 0x7f;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
309
u8 tag = edid[i] >> 5;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
310
u8 len = edid[i] & 0x1f;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
319
if (memchr(edid + i + 1, 97, len))
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
322
if (memchr(edid + i + 1, 95, len))
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
327
switch (edid[i + 1]) {
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
329
if (edid[i + 2] & 0x80)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
331
if (edid[i + 2] & 0x40)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
341
static int get_edid_tag_location(const u8 *edid, unsigned int size,
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
348
edid += offset;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
351
if (size < 256 || edid[0] != 0x02 || edid[1] != 0x03)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
355
d = edid[0x02] & 0x7f;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
363
unsigned char tag = edid[i] >> 5;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
364
unsigned char len = edid[i] & 0x1f;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
371
if (tag < 7 || (len >= 1 && edid[i + 1] == ext_tag))
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
378
static void extron_edid_crc(u8 *edid)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
385
sum += edid[offset];
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
386
edid[127] = 256 - sum;
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
445
const u8 *edid, unsigned int blocks)
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
451
if (cec_get_edid_spa_location(edid, blocks * 128))
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
457
memcpy(port->edid_tmp, edid, blocks * 128);
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
473
memcpy(port->edid, port->edid_tmp, blocks * 128);
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
810
while (extron->edid_bytes_read < sizeof(port->edid) && *hex) {
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
811
int err = hex2bin(&port->edid[extron->edid_bytes_read], hex, 1);
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
822
port->edid[126] == 0) {
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c
828
if (extron->edid_bytes_read < sizeof(port->edid))
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.h
48
unsigned char edid[MAX_EDID_BLOCKS * 128];
drivers/media/i2c/adv748x/adv748x-hdmi.c
460
static int adv748x_hdmi_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid)
drivers/media/i2c/adv748x/adv748x-hdmi.c
464
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/i2c/adv748x/adv748x-hdmi.c
466
if (!hdmi->edid.present)
drivers/media/i2c/adv748x/adv748x-hdmi.c
469
if (edid->start_block == 0 && edid->blocks == 0) {
drivers/media/i2c/adv748x/adv748x-hdmi.c
470
edid->blocks = hdmi->edid.blocks;
drivers/media/i2c/adv748x/adv748x-hdmi.c
474
if (edid->start_block >= hdmi->edid.blocks)
drivers/media/i2c/adv748x/adv748x-hdmi.c
477
if (edid->start_block + edid->blocks > hdmi->edid.blocks)
drivers/media/i2c/adv748x/adv748x-hdmi.c
478
edid->blocks = hdmi->edid.blocks - edid->start_block;
drivers/media/i2c/adv748x/adv748x-hdmi.c
480
memcpy(edid->edid, hdmi->edid.edid + edid->start_block * 128,
drivers/media/i2c/adv748x/adv748x-hdmi.c
481
edid->blocks * 128);
drivers/media/i2c/adv748x/adv748x-hdmi.c
510
static int adv748x_hdmi_set_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid)
drivers/media/i2c/adv748x/adv748x-hdmi.c
516
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/i2c/adv748x/adv748x-hdmi.c
518
if (edid->start_block != 0)
drivers/media/i2c/adv748x/adv748x-hdmi.c
521
if (edid->blocks == 0) {
drivers/media/i2c/adv748x/adv748x-hdmi.c
522
hdmi->edid.blocks = 0;
drivers/media/i2c/adv748x/adv748x-hdmi.c
523
hdmi->edid.present = 0;
drivers/media/i2c/adv748x/adv748x-hdmi.c
531
edid->blocks << ADV748X_REPEATER_EDID_SZ_SHIFT);
drivers/media/i2c/adv748x/adv748x-hdmi.c
538
if (edid->blocks > 4) {
drivers/media/i2c/adv748x/adv748x-hdmi.c
539
edid->blocks = 4;
drivers/media/i2c/adv748x/adv748x-hdmi.c
543
memcpy(hdmi->edid.edid, edid->edid, 128 * edid->blocks);
drivers/media/i2c/adv748x/adv748x-hdmi.c
544
hdmi->edid.blocks = edid->blocks;
drivers/media/i2c/adv748x/adv748x-hdmi.c
545
hdmi->edid.present = true;
drivers/media/i2c/adv748x/adv748x-hdmi.c
547
hdmi->aspect_ratio = v4l2_calc_aspect_ratio(edid->edid[0x15],
drivers/media/i2c/adv748x/adv748x-hdmi.c
548
edid->edid[0x16]);
drivers/media/i2c/adv748x/adv748x-hdmi.c
550
err = adv748x_hdmi_edid_write_block(hdmi, 128 * edid->blocks,
drivers/media/i2c/adv748x/adv748x-hdmi.c
551
hdmi->edid.edid);
drivers/media/i2c/adv748x/adv748x-hdmi.c
553
v4l2_err(sd, "error %d writing edid pad %d\n", err, edid->pad);
drivers/media/i2c/adv748x/adv748x-hdmi.c
558
edid->blocks << ADV748X_REPEATER_EDID_SZ_SHIFT);
drivers/media/i2c/adv748x/adv748x.h
127
u8 edid[512];
drivers/media/i2c/adv748x/adv748x.h
130
} edid;
drivers/media/i2c/adv7511-v4l2.c
114
struct adv7511_state_edid edid;
drivers/media/i2c/adv7511-v4l2.c
1183
static int adv7511_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid)
drivers/media/i2c/adv7511-v4l2.c
1187
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/i2c/adv7511-v4l2.c
1189
if (edid->pad != 0)
drivers/media/i2c/adv7511-v4l2.c
1192
if (edid->start_block == 0 && edid->blocks == 0) {
drivers/media/i2c/adv7511-v4l2.c
1193
edid->blocks = state->edid.blocks;
drivers/media/i2c/adv7511-v4l2.c
1197
if (state->edid.blocks == 0)
drivers/media/i2c/adv7511-v4l2.c
1200
if (edid->start_block >= state->edid.blocks)
drivers/media/i2c/adv7511-v4l2.c
1203
if (edid->start_block + edid->blocks > state->edid.blocks)
drivers/media/i2c/adv7511-v4l2.c
1204
edid->blocks = state->edid.blocks - edid->start_block;
drivers/media/i2c/adv7511-v4l2.c
1206
memcpy(edid->edid, &state->edid.data[edid->start_block * 128],
drivers/media/i2c/adv7511-v4l2.c
1207
128 * edid->blocks);
drivers/media/i2c/adv7511-v4l2.c
1490
if (state->edid.read_retries) {
drivers/media/i2c/adv7511-v4l2.c
1491
state->edid.read_retries--;
drivers/media/i2c/adv7511-v4l2.c
1574
if ((status & MASK_ADV7511_HPD_DETECT) && ((status & MASK_ADV7511_MSEN_DETECT) || state->edid.segments)) {
drivers/media/i2c/adv7511-v4l2.c
1586
state->edid.read_retries = EDID_MAX_RETRIES;
drivers/media/i2c/adv7511-v4l2.c
1591
state->edid.read_retries = EDID_MAX_RETRIES;
drivers/media/i2c/adv7511-v4l2.c
1601
memset(&state->edid, 0, sizeof(struct adv7511_state_edid));
drivers/media/i2c/adv7511-v4l2.c
1619
u32 blocks = state->edid.blocks;
drivers/media/i2c/adv7511-v4l2.c
1620
u8 *data = state->edid.data;
drivers/media/i2c/adv7511-v4l2.c
1635
u8 *data = state->edid.data;
drivers/media/i2c/adv7511-v4l2.c
1648
__func__, EDID_MAX_RETRIES - state->edid.read_retries);
drivers/media/i2c/adv7511-v4l2.c
1650
if (state->edid.complete)
drivers/media/i2c/adv7511-v4l2.c
1663
err = adv7511_edid_rd(sd, 256, &state->edid.data[segment * 256]);
drivers/media/i2c/adv7511-v4l2.c
1665
adv7511_dbg_dump_edid(2, debug, sd, segment, &state->edid.data[segment * 256]);
drivers/media/i2c/adv7511-v4l2.c
1667
state->edid.blocks =
drivers/media/i2c/adv7511-v4l2.c
1668
v4l2_num_edid_blocks(state->edid.data,
drivers/media/i2c/adv7511-v4l2.c
1671
__func__, state->edid.blocks);
drivers/media/i2c/adv7511-v4l2.c
1685
state->edid.segments = segment + 1;
drivers/media/i2c/adv7511-v4l2.c
1687
if (state->edid.blocks > state->edid.segments * 2) {
drivers/media/i2c/adv7511-v4l2.c
1689
v4l2_dbg(1, debug, sd, "%s: request segment %d\n", __func__, state->edid.segments);
drivers/media/i2c/adv7511-v4l2.c
1691
adv7511_wr(sd, 0xc4, state->edid.segments);
drivers/media/i2c/adv7511-v4l2.c
1692
state->edid.read_retries = EDID_MAX_RETRIES;
drivers/media/i2c/adv7511-v4l2.c
1697
v4l2_dbg(1, debug, sd, "%s: edid complete with %d segment(s)\n", __func__, state->edid.segments);
drivers/media/i2c/adv7511-v4l2.c
1698
state->edid.complete = true;
drivers/media/i2c/adv7511-v4l2.c
1699
ed.phys_addr = cec_get_edid_phys_addr(state->edid.data,
drivers/media/i2c/adv7511-v4l2.c
1700
state->edid.segments * 256,
drivers/media/i2c/adv7511-v4l2.c
1784
struct adv7511_state_edid *edid = &state->edid;
drivers/media/i2c/adv7511-v4l2.c
1799
memset(edid, 0, sizeof(struct adv7511_state_edid));
drivers/media/i2c/adv7511-v4l2.c
561
struct adv7511_state_edid *edid = &state->edid;
drivers/media/i2c/adv7511-v4l2.c
590
edid->segments ? "found" : "no",
drivers/media/i2c/adv7511-v4l2.c
591
edid->blocks);
drivers/media/i2c/adv7604.c
186
u8 edid[ADV76XX_MAX_EDID_BLOCKS * 128];
drivers/media/i2c/adv7604.c
189
} edid;
drivers/media/i2c/adv7604.c
2279
static int adv76xx_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid)
drivers/media/i2c/adv7604.c
2284
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/i2c/adv7604.c
2286
switch (edid->pad) {
drivers/media/i2c/adv7604.c
2291
if (state->edid.present & (1 << edid->pad))
drivers/media/i2c/adv7604.c
2292
data = state->edid.edid;
drivers/media/i2c/adv7604.c
2298
if (edid->start_block == 0 && edid->blocks == 0) {
drivers/media/i2c/adv7604.c
2299
edid->blocks = data ? state->edid.blocks : 0;
drivers/media/i2c/adv7604.c
2306
if (edid->start_block >= state->edid.blocks)
drivers/media/i2c/adv7604.c
2309
if (edid->start_block + edid->blocks > state->edid.blocks)
drivers/media/i2c/adv7604.c
2310
edid->blocks = state->edid.blocks - edid->start_block;
drivers/media/i2c/adv7604.c
2312
memcpy(edid->edid, data + edid->start_block * 128, edid->blocks * 128);
drivers/media/i2c/adv7604.c
2317
static int adv76xx_set_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid)
drivers/media/i2c/adv7604.c
2326
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/i2c/adv7604.c
2328
if (edid->pad > ADV7604_PAD_HDMI_PORT_D)
drivers/media/i2c/adv7604.c
2330
if (edid->start_block != 0)
drivers/media/i2c/adv7604.c
2332
if (edid->blocks == 0) {
drivers/media/i2c/adv7604.c
2334
state->edid.present &= ~(1 << edid->pad);
drivers/media/i2c/adv7604.c
2335
adv76xx_set_hpd(state, state->edid.present);
drivers/media/i2c/adv7604.c
2336
rep_write_clr_set(sd, info->edid_enable_reg, 0x0f, state->edid.present);
drivers/media/i2c/adv7604.c
2342
if (!state->edid.present) {
drivers/media/i2c/adv7604.c
2343
state->edid.blocks = 0;
drivers/media/i2c/adv7604.c
2348
__func__, edid->pad, state->edid.present);
drivers/media/i2c/adv7604.c
2351
if (edid->blocks > ADV76XX_MAX_EDID_BLOCKS) {
drivers/media/i2c/adv7604.c
2352
edid->blocks = ADV76XX_MAX_EDID_BLOCKS;
drivers/media/i2c/adv7604.c
2356
pa = v4l2_get_edid_phys_addr(edid->edid, edid->blocks * 128, &spa_loc);
drivers/media/i2c/adv7604.c
2367
pa = (edid->edid[spa_loc] << 8) | edid->edid[spa_loc + 1];
drivers/media/i2c/adv7604.c
2371
__func__, edid->pad, state->edid.present);
drivers/media/i2c/adv7604.c
2378
switch (edid->pad) {
drivers/media/i2c/adv7604.c
2407
edid->edid[spa_loc] = state->spa_port_a[0];
drivers/media/i2c/adv7604.c
2408
edid->edid[spa_loc + 1] = state->spa_port_a[1];
drivers/media/i2c/adv7604.c
2410
memcpy(state->edid.edid, edid->edid, 128 * edid->blocks);
drivers/media/i2c/adv7604.c
2411
state->edid.blocks = edid->blocks;
drivers/media/i2c/adv7604.c
2412
state->aspect_ratio = v4l2_calc_aspect_ratio(edid->edid[0x15],
drivers/media/i2c/adv7604.c
2413
edid->edid[0x16]);
drivers/media/i2c/adv7604.c
2414
state->edid.present |= 1 << edid->pad;
drivers/media/i2c/adv7604.c
2418
err = edid_write_block(sd, 128 * min(edid->blocks, 2U), state->edid.edid);
drivers/media/i2c/adv7604.c
2420
v4l2_err(sd, "error %d writing edid pad %d\n", err, edid->pad);
drivers/media/i2c/adv7604.c
2423
if (edid->blocks > 2) {
drivers/media/i2c/adv7604.c
2427
err = edid_write_block(sd, 128 * (edid->blocks - 2),
drivers/media/i2c/adv7604.c
2428
state->edid.edid + 256);
drivers/media/i2c/adv7604.c
2431
err, edid->pad);
drivers/media/i2c/adv7604.c
2438
rep_write_clr_set(sd, info->edid_enable_reg, 0x0f, state->edid.present);
drivers/media/i2c/adv7604.c
2441
if (rep_read(sd, info->edid_status_reg) & state->edid.present)
drivers/media/i2c/adv7604.c
2446
v4l2_err(sd, "error enabling edid (0x%x)\n", state->edid.present);
drivers/media/i2c/adv7604.c
549
adv76xx_set_hpd(state, state->edid.present);
drivers/media/i2c/adv7842.c
101
u8 edid[512];
drivers/media/i2c/adv7842.c
106
u8 edid[128];
drivers/media/i2c/adv7842.c
2457
static int adv7842_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid)
drivers/media/i2c/adv7842.c
2463
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/i2c/adv7842.c
2465
switch (edid->pad) {
drivers/media/i2c/adv7842.c
2468
if (state->hdmi_edid.present & (0x04 << edid->pad)) {
drivers/media/i2c/adv7842.c
2469
data = state->hdmi_edid.edid;
drivers/media/i2c/adv7842.c
2475
data = state->vga_edid.edid;
drivers/media/i2c/adv7842.c
2483
if (edid->start_block == 0 && edid->blocks == 0) {
drivers/media/i2c/adv7842.c
2484
edid->blocks = blocks;
drivers/media/i2c/adv7842.c
2491
if (edid->start_block >= blocks)
drivers/media/i2c/adv7842.c
2494
if (edid->start_block + edid->blocks > blocks)
drivers/media/i2c/adv7842.c
2495
edid->blocks = blocks - edid->start_block;
drivers/media/i2c/adv7842.c
2497
memcpy(edid->edid, data + edid->start_block * 128, edid->blocks * 128);
drivers/media/i2c/adv7842.c
2532
state->aspect_ratio = v4l2_calc_aspect_ratio(e->edid[0x15],
drivers/media/i2c/adv7842.c
2533
e->edid[0x16]);
drivers/media/i2c/adv7842.c
2537
memset(state->vga_edid.edid, 0, sizeof(state->vga_edid.edid));
drivers/media/i2c/adv7842.c
2541
memcpy(state->vga_edid.edid, e->edid, 128);
drivers/media/i2c/adv7842.c
2546
memset(state->hdmi_edid.edid, 0, sizeof(state->hdmi_edid.edid));
drivers/media/i2c/adv7842.c
2550
memcpy(state->hdmi_edid.edid, e->edid, 128 * e->blocks);
drivers/media/i2c/adv7842.c
709
const u8 *edid = state->vga_edid.edid;
drivers/media/i2c/adv7842.c
731
edid + i);
drivers/media/i2c/adv7842.c
760
const u8 *edid = state->hdmi_edid.edid;
drivers/media/i2c/adv7842.c
781
pa = v4l2_get_edid_phys_addr(edid, blocks * 128, &spa_loc);
drivers/media/i2c/adv7842.c
792
pa = (edid[spa_loc] << 8) | edid[spa_loc + 1];
drivers/media/i2c/adv7842.c
801
I2C_SMBUS_BLOCK_MAX, edid + i);
drivers/media/i2c/tc358743.c
1849
struct v4l2_subdev_edid *edid)
drivers/media/i2c/tc358743.c
1853
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/i2c/tc358743.c
1855
if (edid->pad != 0)
drivers/media/i2c/tc358743.c
1858
if (edid->start_block == 0 && edid->blocks == 0) {
drivers/media/i2c/tc358743.c
1859
edid->blocks = state->edid_blocks_written;
drivers/media/i2c/tc358743.c
1866
if (edid->start_block >= state->edid_blocks_written ||
drivers/media/i2c/tc358743.c
1867
edid->blocks == 0)
drivers/media/i2c/tc358743.c
1870
if (edid->start_block + edid->blocks > state->edid_blocks_written)
drivers/media/i2c/tc358743.c
1871
edid->blocks = state->edid_blocks_written - edid->start_block;
drivers/media/i2c/tc358743.c
1873
i2c_rd(sd, EDID_RAM + (edid->start_block * EDID_BLOCK_SIZE), edid->edid,
drivers/media/i2c/tc358743.c
1874
edid->blocks * EDID_BLOCK_SIZE);
drivers/media/i2c/tc358743.c
1880
struct v4l2_subdev_edid *edid)
drivers/media/i2c/tc358743.c
1883
u16 edid_len = edid->blocks * EDID_BLOCK_SIZE;
drivers/media/i2c/tc358743.c
1889
__func__, edid->pad, edid->start_block, edid->blocks);
drivers/media/i2c/tc358743.c
1891
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/i2c/tc358743.c
1893
if (edid->pad != 0)
drivers/media/i2c/tc358743.c
1896
if (edid->start_block != 0)
drivers/media/i2c/tc358743.c
1899
if (edid->blocks > EDID_NUM_BLOCKS_MAX) {
drivers/media/i2c/tc358743.c
1900
edid->blocks = EDID_NUM_BLOCKS_MAX;
drivers/media/i2c/tc358743.c
1903
pa = cec_get_edid_phys_addr(edid->edid, edid->blocks * 128, NULL);
drivers/media/i2c/tc358743.c
1915
if (edid->blocks == 0) {
drivers/media/i2c/tc358743.c
1921
i2c_wr(sd, EDID_RAM + i, edid->edid + i, EDID_BLOCK_SIZE);
drivers/media/i2c/tc358743.c
1923
state->edid_blocks_written = edid->blocks;
drivers/media/i2c/tda1997x.c
1841
static int tda1997x_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid)
drivers/media/i2c/tda1997x.c
1845
v4l_dbg(1, debug, state->client, "%s pad=%d\n", __func__, edid->pad);
drivers/media/i2c/tda1997x.c
1846
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/i2c/tda1997x.c
1848
if (edid->start_block == 0 && edid->blocks == 0) {
drivers/media/i2c/tda1997x.c
1849
edid->blocks = state->edid.blocks;
drivers/media/i2c/tda1997x.c
1853
if (!state->edid.present)
drivers/media/i2c/tda1997x.c
1856
if (edid->start_block >= state->edid.blocks)
drivers/media/i2c/tda1997x.c
1859
if (edid->start_block + edid->blocks > state->edid.blocks)
drivers/media/i2c/tda1997x.c
1860
edid->blocks = state->edid.blocks - edid->start_block;
drivers/media/i2c/tda1997x.c
1862
memcpy(edid->edid, state->edid.edid + edid->start_block * 128,
drivers/media/i2c/tda1997x.c
1863
edid->blocks * 128);
drivers/media/i2c/tda1997x.c
1868
static int tda1997x_set_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid)
drivers/media/i2c/tda1997x.c
1873
v4l_dbg(1, debug, state->client, "%s pad=%d\n", __func__, edid->pad);
drivers/media/i2c/tda1997x.c
1874
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/i2c/tda1997x.c
1876
if (edid->start_block != 0)
drivers/media/i2c/tda1997x.c
1879
if (edid->blocks == 0) {
drivers/media/i2c/tda1997x.c
1880
state->edid.blocks = 0;
drivers/media/i2c/tda1997x.c
1881
state->edid.present = 0;
drivers/media/i2c/tda1997x.c
1886
if (edid->blocks > 2) {
drivers/media/i2c/tda1997x.c
1887
edid->blocks = 2;
drivers/media/i2c/tda1997x.c
1895
io_write(sd, REG_EDID_IN_BYTE0 + i, edid->edid[i]);
drivers/media/i2c/tda1997x.c
1899
io_write(sd, REG_EDID_IN_BYTE128 + i, edid->edid[i+128]);
drivers/media/i2c/tda1997x.c
1902
memcpy(state->edid.edid, edid->edid, 256);
drivers/media/i2c/tda1997x.c
1903
state->edid.blocks = edid->blocks;
drivers/media/i2c/tda1997x.c
1972
v4l2_info(sd, "EDID Enabled: %s\n", state->edid.present ? "yes" : "no");
drivers/media/i2c/tda1997x.c
273
u8 edid[256];
drivers/media/i2c/tda1997x.c
276
} edid;
drivers/media/i2c/tda1997x.c
572
state->edid.present = 1;
drivers/media/pci/cobalt/cobalt-driver.c
503
.edid = edid,
drivers/media/pci/cobalt/cobalt-driver.c
51
static u8 edid[256] = {
drivers/media/pci/cobalt/cobalt-driver.c
596
.edid = edid,
drivers/media/pci/cobalt/cobalt-v4l2.c
1015
static int cobalt_g_edid(struct file *file, void *priv, struct v4l2_edid *edid)
drivers/media/pci/cobalt/cobalt-v4l2.c
1018
u32 pad = edid->pad;
drivers/media/pci/cobalt/cobalt-v4l2.c
1021
if (edid->pad >= (s->is_output ? 1 : 2))
drivers/media/pci/cobalt/cobalt-v4l2.c
1023
edid->pad = 0;
drivers/media/pci/cobalt/cobalt-v4l2.c
1024
ret = v4l2_subdev_call(s->sd, pad, get_edid, edid);
drivers/media/pci/cobalt/cobalt-v4l2.c
1025
edid->pad = pad;
drivers/media/pci/cobalt/cobalt-v4l2.c
1029
static int cobalt_s_edid(struct file *file, void *priv, struct v4l2_edid *edid)
drivers/media/pci/cobalt/cobalt-v4l2.c
1032
u32 pad = edid->pad;
drivers/media/pci/cobalt/cobalt-v4l2.c
1035
if (edid->pad >= 2)
drivers/media/pci/cobalt/cobalt-v4l2.c
1037
edid->pad = 0;
drivers/media/pci/cobalt/cobalt-v4l2.c
1038
ret = v4l2_subdev_call(s->sd, pad, set_edid, edid);
drivers/media/pci/cobalt/cobalt-v4l2.c
1039
edid->pad = pad;
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
161
u8 edid[EDID_NUM_BLOCKS_MAX * EDID_BLOCK_SIZE];
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
2459
def_edid.edid = edid_default;
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
2551
hdmirx_write_edid_data(hdmirx_dev, hdmirx_dev->edid,
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
515
u8 *edid, unsigned int num_blocks)
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
522
(const struct edid *)edid);
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
532
hdmirx_writel(hdmirx_dev, DMA_CONFIG10, edid[i]);
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
560
struct v4l2_edid *edid)
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
562
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
563
memset(hdmirx_dev->edid, 0, sizeof(hdmirx_dev->edid));
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
565
hdmirx_write_edid_data(hdmirx_dev, edid->edid, edid->blocks);
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
567
hdmirx_dev->edid_blocks_written = edid->blocks;
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
568
memcpy(hdmirx_dev->edid, edid->edid, edid->blocks * EDID_BLOCK_SIZE);
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
651
static int hdmirx_set_edid(struct file *file, void *fh, struct v4l2_edid *edid)
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
658
if (edid->pad)
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
661
if (edid->start_block)
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
664
if (edid->blocks > EDID_NUM_BLOCKS_MAX) {
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
665
edid->blocks = EDID_NUM_BLOCKS_MAX;
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
669
if (edid->blocks) {
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
670
phys_addr = cec_get_edid_phys_addr(edid->edid,
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
671
edid->blocks * EDID_BLOCK_SIZE,
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
687
if (edid->blocks) {
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
688
hdmirx_write_edid(hdmirx_dev, edid);
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
700
static int hdmirx_get_edid(struct file *file, void *fh, struct v4l2_edid *edid)
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
706
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
708
if (edid->pad)
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
711
if (!edid->start_block && !edid->blocks) {
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
712
edid->blocks = hdmirx_dev->edid_blocks_written;
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
719
if (edid->start_block >= hdmirx_dev->edid_blocks_written || !edid->blocks)
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
722
if (edid->start_block + edid->blocks > hdmirx_dev->edid_blocks_written)
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
723
edid->blocks = hdmirx_dev->edid_blocks_written - edid->start_block;
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
725
memcpy(edid->edid, hdmirx_dev->edid, edid->blocks * EDID_BLOCK_SIZE);
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
730
edid->edid, edid->blocks * EDID_BLOCK_SIZE, false);
drivers/media/test-drivers/vivid/vivid-core.c
1867
dev->edid = vmalloc_array(256, 128);
drivers/media/test-drivers/vivid/vivid-core.c
1868
if (!dev->edid)
drivers/media/test-drivers/vivid/vivid-core.c
1913
memcpy(dev->edid, vivid_hdmi_edid, sizeof(vivid_hdmi_edid));
drivers/media/test-drivers/vivid/vivid-core.c
864
vfree(dev->edid);
drivers/media/test-drivers/vivid/vivid-core.h
443
u8 *edid;
drivers/media/test-drivers/vivid/vivid-vid-cap.c
1574
u16 phys_addr = cec_get_edid_phys_addr(dev->edid, dev->edid_blocks * 128, NULL);
drivers/media/test-drivers/vivid/vivid-vid-cap.c
1606
struct v4l2_edid *edid)
drivers/media/test-drivers/vivid/vivid-vid-cap.c
1612
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/test-drivers/vivid/vivid-vid-cap.c
1613
if (edid->pad >= dev->num_inputs)
drivers/media/test-drivers/vivid/vivid-vid-cap.c
1615
if (dev->input_type[edid->pad] != HDMI || edid->start_block)
drivers/media/test-drivers/vivid/vivid-vid-cap.c
1617
if (edid->blocks == 0) {
drivers/media/test-drivers/vivid/vivid-vid-cap.c
1624
if (edid->blocks > dev->edid_max_blocks) {
drivers/media/test-drivers/vivid/vivid-vid-cap.c
1625
edid->blocks = dev->edid_max_blocks;
drivers/media/test-drivers/vivid/vivid-vid-cap.c
1628
phys_addr = cec_get_edid_phys_addr(edid->edid, edid->blocks * 128, NULL);
drivers/media/test-drivers/vivid/vivid-vid-cap.c
1636
dev->edid_blocks = edid->blocks;
drivers/media/test-drivers/vivid/vivid-vid-cap.c
1637
memcpy(dev->edid, edid->edid, edid->blocks * 128);
drivers/media/test-drivers/vivid/vivid-vid-cap.h
52
int vidioc_s_edid(struct file *file, void *priv, struct v4l2_edid *edid);
drivers/media/test-drivers/vivid/vivid-vid-common.c
1077
struct v4l2_edid *edid)
drivers/media/test-drivers/vivid/vivid-vid-common.c
1085
memset(edid->reserved, 0, sizeof(edid->reserved));
drivers/media/test-drivers/vivid/vivid-vid-common.c
1087
if (edid->pad >= dev->num_inputs)
drivers/media/test-drivers/vivid/vivid-vid-common.c
1089
if (dev->input_type[edid->pad] != HDMI)
drivers/media/test-drivers/vivid/vivid-vid-common.c
1093
if (edid->pad >= dev->num_outputs)
drivers/media/test-drivers/vivid/vivid-vid-common.c
1095
if (dev->output_type[edid->pad] != HDMI)
drivers/media/test-drivers/vivid/vivid-vid-common.c
1097
dev_rx = dev->output_to_input_instance[edid->pad];
drivers/media/test-drivers/vivid/vivid-vid-common.c
1101
unsigned int hdmi_output = dev->output_to_iface_index[edid->pad];
drivers/media/test-drivers/vivid/vivid-vid-common.c
1105
if (edid->start_block == 0 && edid->blocks == 0) {
drivers/media/test-drivers/vivid/vivid-vid-common.c
1106
edid->blocks = dev_rx->edid_blocks;
drivers/media/test-drivers/vivid/vivid-vid-common.c
1111
if (edid->start_block >= dev_rx->edid_blocks)
drivers/media/test-drivers/vivid/vivid-vid-common.c
1113
if (edid->blocks > dev_rx->edid_blocks - edid->start_block)
drivers/media/test-drivers/vivid/vivid-vid-common.c
1114
edid->blocks = dev_rx->edid_blocks - edid->start_block;
drivers/media/test-drivers/vivid/vivid-vid-common.c
1116
memcpy(edid->edid, dev_rx->edid + edid->start_block * 128, edid->blocks * 128);
drivers/media/test-drivers/vivid/vivid-vid-common.c
1118
loc = cec_get_edid_spa_location(dev_rx->edid,
drivers/media/test-drivers/vivid/vivid-vid-common.c
1121
loc >= edid->start_block * 128 &&
drivers/media/test-drivers/vivid/vivid-vid-common.c
1122
loc < (edid->start_block + edid->blocks) * 128) {
drivers/media/test-drivers/vivid/vivid-vid-common.c
1126
loc -= edid->start_block * 128;
drivers/media/test-drivers/vivid/vivid-vid-common.c
1127
edid->edid[loc] = adap->phys_addr >> 8;
drivers/media/test-drivers/vivid/vivid-vid-common.c
1128
edid->edid[loc + 1] = adap->phys_addr & 0xff;
drivers/media/test-drivers/vivid/vivid-vid-common.c
1133
sum += edid->edid[i];
drivers/media/test-drivers/vivid/vivid-vid-common.c
1134
edid->edid[i] = 256 - sum;
drivers/media/test-drivers/vivid/vivid-vid-common.h
38
int vidioc_g_edid(struct file *file, void *priv, struct v4l2_edid *edid);
drivers/media/v4l2-core/v4l2-compat-ioctl32.c
812
compat_caddr_t edid;
drivers/media/v4l2-core/v4l2-compat-ioctl32.c
818
compat_uptr_t edid;
drivers/media/v4l2-core/v4l2-compat-ioctl32.c
820
if (copy_from_user(p64, p32, offsetof(struct v4l2_edid32, edid)) ||
drivers/media/v4l2-core/v4l2-compat-ioctl32.c
821
get_user(edid, &p32->edid))
drivers/media/v4l2-core/v4l2-compat-ioctl32.c
824
p64->edid = (void __force *)compat_ptr(edid);
drivers/media/v4l2-core/v4l2-compat-ioctl32.c
831
if (copy_to_user(p32, p64, offsetof(struct v4l2_edid32, edid)))
drivers/media/v4l2-core/v4l2-dv-timings.c
1029
unsigned int v4l2_num_edid_blocks(const u8 *edid, unsigned int max_blocks)
drivers/media/v4l2-core/v4l2-dv-timings.c
1033
if (!edid || !max_blocks)
drivers/media/v4l2-core/v4l2-dv-timings.c
1042
blocks = edid[126] + 1;
drivers/media/v4l2-core/v4l2-dv-timings.c
1046
edid[128] == 2 && // The first extension block is type CTA-861
drivers/media/v4l2-core/v4l2-dv-timings.c
1047
edid[133] == 0x78 && // Identifier for the EEODB
drivers/media/v4l2-core/v4l2-dv-timings.c
1048
(edid[132] & 0xe0) == 0xe0 && // Tag Code == 7
drivers/media/v4l2-core/v4l2-dv-timings.c
1049
(edid[132] & 0x1f) >= 2 && // Length >= 2
drivers/media/v4l2-core/v4l2-dv-timings.c
1050
edid[134] > 1) // Number of extension blocks is sane
drivers/media/v4l2-core/v4l2-dv-timings.c
1051
blocks = edid[134] + 1;
drivers/media/v4l2-core/v4l2-dv-timings.c
1067
u16 v4l2_get_edid_phys_addr(const u8 *edid, unsigned int size,
drivers/media/v4l2-core/v4l2-dv-timings.c
1070
unsigned int loc = cec_get_edid_spa_location(edid, size);
drivers/media/v4l2-core/v4l2-dv-timings.c
1076
return (edid[loc] << 8) | edid[loc + 1];
drivers/media/v4l2-core/v4l2-dv-timings.c
1092
void v4l2_set_edid_phys_addr(u8 *edid, unsigned int size, u16 phys_addr)
drivers/media/v4l2-core/v4l2-dv-timings.c
1094
unsigned int loc = cec_get_edid_spa_location(edid, size);
drivers/media/v4l2-core/v4l2-dv-timings.c
1100
edid[loc] = phys_addr >> 8;
drivers/media/v4l2-core/v4l2-dv-timings.c
1101
edid[loc + 1] = phys_addr & 0xff;
drivers/media/v4l2-core/v4l2-dv-timings.c
1106
sum += edid[i];
drivers/media/v4l2-core/v4l2-dv-timings.c
1107
edid[i] = 256 - sum;
drivers/media/v4l2-core/v4l2-ioctl.c
3196
struct v4l2_edid *edid = parg;
drivers/media/v4l2-core/v4l2-ioctl.c
3198
if (edid->blocks) {
drivers/media/v4l2-core/v4l2-ioctl.c
3199
if (edid->blocks > 256) {
drivers/media/v4l2-core/v4l2-ioctl.c
3203
*user_ptr = (void __user *)edid->edid;
drivers/media/v4l2-core/v4l2-ioctl.c
3204
*kernel_ptr = (void **)&edid->edid;
drivers/media/v4l2-core/v4l2-ioctl.c
3205
*array_size = edid->blocks * 128;
drivers/media/v4l2-core/v4l2-subdev.c
395
struct v4l2_subdev_edid *edid)
drivers/media/v4l2-core/v4l2-subdev.c
397
if (!edid)
drivers/media/v4l2-core/v4l2-subdev.c
400
if (edid->blocks && edid->edid == NULL)
drivers/media/v4l2-core/v4l2-subdev.c
403
return check_pad(sd, edid->pad);
drivers/media/v4l2-core/v4l2-subdev.c
406
static int call_get_edid(struct v4l2_subdev *sd, struct v4l2_subdev_edid *edid)
drivers/media/v4l2-core/v4l2-subdev.c
408
return check_edid(sd, edid) ? : sd->ops->pad->get_edid(sd, edid);
drivers/media/v4l2-core/v4l2-subdev.c
411
static int call_set_edid(struct v4l2_subdev *sd, struct v4l2_subdev_edid *edid)
drivers/media/v4l2-core/v4l2-subdev.c
413
return check_edid(sd, edid) ? : sd->ops->pad->set_edid(sd, edid);
drivers/media/v4l2-core/v4l2-subdev.c
941
struct v4l2_subdev_edid *edid = arg;
drivers/media/v4l2-core/v4l2-subdev.c
943
return v4l2_subdev_call(sd, pad, get_edid, edid);
drivers/media/v4l2-core/v4l2-subdev.c
947
struct v4l2_subdev_edid *edid = arg;
drivers/media/v4l2-core/v4l2-subdev.c
949
return v4l2_subdev_call(sd, pad, set_edid, edid);
drivers/staging/media/tegra-video/vi.c
691
struct v4l2_edid *edid)
drivers/staging/media/tegra-video/vi.c
700
return v4l2_subdev_call(subdev, pad, get_edid, edid);
drivers/staging/media/tegra-video/vi.c
704
struct v4l2_edid *edid)
drivers/staging/media/tegra-video/vi.c
713
return v4l2_subdev_call(subdev, pad, set_edid, edid);
drivers/video/fbdev/aty/radeon_base.c
2195
static ssize_t radeon_show_one_edid(char *buf, loff_t off, size_t count, const u8 *edid)
drivers/video/fbdev/aty/radeon_base.c
2197
return memory_read_from_buffer(buf, count, &off, edid, EDID_LENGTH);
drivers/video/fbdev/aty/radeon_i2c.c
144
u8 *edid;
drivers/video/fbdev/aty/radeon_i2c.c
146
edid = fb_ddc_read(&rinfo->i2c[conn-1].adapter);
drivers/video/fbdev/aty/radeon_i2c.c
149
*out_edid = edid;
drivers/video/fbdev/aty/radeon_i2c.c
150
if (!edid) {
drivers/video/fbdev/aty/radeon_i2c.c
154
if (edid[0x14] & 0x80) {
drivers/video/fbdev/core/fb_ddc.c
111
if (edid)
drivers/video/fbdev/core/fb_ddc.c
120
return edid;
drivers/video/fbdev/core/fb_ddc.c
58
unsigned char *edid = NULL;
drivers/video/fbdev/core/fb_ddc.c
91
edid = fb_do_probe_ddc_edid(adapter);
drivers/video/fbdev/core/fbmon.c
1410
int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var)
drivers/video/fbdev/core/fbmon.c
1414
void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs)
drivers/video/fbdev/core/fbmon.c
150
static int check_edid(unsigned char *edid)
drivers/video/fbdev/core/fbmon.c
1500
unsigned char *edid = NULL;
drivers/video/fbdev/core/fbmon.c
1509
edid = sysfb_primary_display.edid.dummy;
drivers/video/fbdev/core/fbmon.c
1511
return edid;
drivers/video/fbdev/core/fbmon.c
152
unsigned char *block = edid + ID_MANUFACTURER_NAME, manufacturer[4];
drivers/video/fbdev/core/fbmon.c
175
if (edid[i] != edid_v1_header[i]) {
drivers/video/fbdev/core/fbmon.c
182
b = edid + EDID_STRUCT_DISPLAY;
drivers/video/fbdev/core/fbmon.c
189
b = edid + DETAILED_TIMING_DESCRIPTIONS_START;
drivers/video/fbdev/core/fbmon.c
212
static void fix_edid(unsigned char *edid, int fix)
drivers/video/fbdev/core/fbmon.c
220
memcpy(edid, edid_v1_header, 8);
drivers/video/fbdev/core/fbmon.c
224
b = edid + EDID_STRUCT_DISPLAY;
drivers/video/fbdev/core/fbmon.c
226
edid[127] += 0x80;
drivers/video/fbdev/core/fbmon.c
230
b = edid + DETAILED_TIMING_DESCRIPTIONS_START;
drivers/video/fbdev/core/fbmon.c
254
csum += edid[i];
drivers/video/fbdev/core/fbmon.c
256
edid[127] = 256 - csum;
drivers/video/fbdev/core/fbmon.c
261
static int edid_checksum(unsigned char *edid)
drivers/video/fbdev/core/fbmon.c
264
int i, err = 0, fix = check_edid(edid);
drivers/video/fbdev/core/fbmon.c
267
fix_edid(edid, fix);
drivers/video/fbdev/core/fbmon.c
270
csum += edid[i];
drivers/video/fbdev/core/fbmon.c
271
all_null |= edid[i];
drivers/video/fbdev/core/fbmon.c
282
static int edid_check_header(unsigned char *edid)
drivers/video/fbdev/core/fbmon.c
284
int i, err = 1, fix = check_edid(edid);
drivers/video/fbdev/core/fbmon.c
287
fix_edid(edid, fix);
drivers/video/fbdev/core/fbmon.c
290
if (edid[i] != edid_v1_header[i])
drivers/video/fbdev/core/fbmon.c
621
static struct fb_videomode *fb_create_modedb(unsigned char *edid, int *dbsize,
drivers/video/fbdev/core/fbmon.c
633
if (edid == NULL || !edid_checksum(edid) ||
drivers/video/fbdev/core/fbmon.c
634
!edid_check_header(edid)) {
drivers/video/fbdev/core/fbmon.c
639
ver = edid[EDID_STRUCT_VERSION];
drivers/video/fbdev/core/fbmon.c
640
rev = edid[EDID_STRUCT_REVISION];
drivers/video/fbdev/core/fbmon.c
645
block = edid + DETAILED_TIMING_DESCRIPTIONS_START;
drivers/video/fbdev/core/fbmon.c
658
block = edid + ESTABLISHED_TIMING_1;
drivers/video/fbdev/core/fbmon.c
662
block = edid + STD_TIMING_DESCRIPTIONS_START;
drivers/video/fbdev/core/fbmon.c
666
block = edid + DETAILED_TIMING_DESCRIPTIONS_START;
drivers/video/fbdev/core/fbmon.c
700
static int fb_get_monitor_limits(unsigned char *edid, struct fb_monspecs *specs)
drivers/video/fbdev/core/fbmon.c
705
block = edid + DETAILED_TIMING_DESCRIPTIONS_START;
drivers/video/fbdev/core/fbmon.c
729
modes = fb_create_modedb(edid, &num_modes, specs);
drivers/video/fbdev/core/fbmon.c
781
static void get_monspecs(unsigned char *edid, struct fb_monspecs *specs)
drivers/video/fbdev/core/fbmon.c
785
block = edid + EDID_STRUCT_DISPLAY;
drivers/video/fbdev/core/fbmon.c
787
fb_get_monitor_limits(edid, specs);
drivers/video/fbdev/core/fbmon.c
899
int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var)
drivers/video/fbdev/core/fbmon.c
904
if (edid == NULL || var == NULL)
drivers/video/fbdev/core/fbmon.c
907
if (!(edid_checksum(edid)))
drivers/video/fbdev/core/fbmon.c
910
if (!(edid_check_header(edid)))
drivers/video/fbdev/core/fbmon.c
913
block = edid + DETAILED_TIMING_DESCRIPTIONS_START;
drivers/video/fbdev/core/fbmon.c
942
void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs)
drivers/video/fbdev/core/fbmon.c
947
if (edid == NULL)
drivers/video/fbdev/core/fbmon.c
950
if (!(edid_checksum(edid)))
drivers/video/fbdev/core/fbmon.c
953
if (!(edid_check_header(edid)))
drivers/video/fbdev/core/fbmon.c
958
specs->version = edid[EDID_STRUCT_VERSION];
drivers/video/fbdev/core/fbmon.c
959
specs->revision = edid[EDID_STRUCT_REVISION];
drivers/video/fbdev/core/fbmon.c
967
parse_vendor_block(edid + ID_MANUFACTURER_NAME, specs);
drivers/video/fbdev/core/fbmon.c
969
block = edid + DETAILED_TIMING_DESCRIPTIONS_START;
drivers/video/fbdev/core/fbmon.c
984
get_monspecs(edid, specs);
drivers/video/fbdev/core/fbmon.c
986
specs->modedb = fb_create_modedb(edid, &specs->modedb_len, specs);
drivers/video/fbdev/i740fb.c
1012
u8 *edid;
drivers/video/fbdev/i740fb.c
1081
edid = fb_ddc_read(&par->ddc_adapter);
drivers/video/fbdev/i740fb.c
1082
if (edid) {
drivers/video/fbdev/i740fb.c
1083
fb_edid_to_monspecs(edid, &info->monspecs);
drivers/video/fbdev/i740fb.c
1084
kfree(edid);
drivers/video/fbdev/i810/i810-i2c.c
158
u8 *edid = NULL;
drivers/video/fbdev/i810/i810-i2c.c
162
edid = fb_ddc_read(&par->chan[conn].adapter);
drivers/video/fbdev/i810/i810-i2c.c
168
edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL);
drivers/video/fbdev/i810/i810-i2c.c
172
*out_edid = edid;
drivers/video/fbdev/i810/i810-i2c.c
174
return (edid) ? 0 : 1;
drivers/video/fbdev/i810/i810.h
270
u8 *edid;
drivers/video/fbdev/i810/i810_main.c
1918
err = i810_probe_i2c_connector(info, &par->edid, i);
drivers/video/fbdev/i810/i810_main.c
1926
fb_edid_to_monspecs(par->edid, specs);
drivers/video/fbdev/i810/i810_main.c
2122
kfree(par->edid);
drivers/video/fbdev/nvidia/nv_i2c.c
155
u8 *edid = NULL;
drivers/video/fbdev/nvidia/nv_i2c.c
158
edid = fb_ddc_read(&par->chan[conn - 1].adapter);
drivers/video/fbdev/nvidia/nv_i2c.c
160
if (!edid && conn == 1) {
drivers/video/fbdev/nvidia/nv_i2c.c
165
edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL);
drivers/video/fbdev/nvidia/nv_i2c.c
168
*out_edid = edid;
drivers/video/fbdev/nvidia/nv_i2c.c
170
return (edid) ? 0 : 1;
drivers/video/fbdev/nvidia/nv_proto.h
43
#define nvidia_probe_i2c_connector(p, c, edid) (-1)
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c
169
u8 *edid, int len)
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c
178
r = dvic_ddc_read(ddata->i2c_adapter, edid, l, 0);
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c
185
if (len > EDID_LENGTH && edid[0x7e] > 0) {
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c
188
r = dvic_ddc_read(ddata->i2c_adapter, edid + EDID_LENGTH,
drivers/video/fbdev/omap2/omapfb/displays/connector-hdmi.c
146
u8 *edid, int len)
drivers/video/fbdev/omap2/omapfb/displays/connector-hdmi.c
151
return in->ops.hdmi->read_edid(in, edid, len);
drivers/video/fbdev/omap2/omapfb/displays/encoder-tpd12s015.c
140
u8 *edid, int len)
drivers/video/fbdev/omap2/omapfb/displays/encoder-tpd12s015.c
151
r = in->ops.hdmi->read_edid(in, edid, len);
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
456
u8 *edid, int len)
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
467
r = read_edid(edid, len);
drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c
160
int hdmi4_read_edid(struct hdmi_core_data *core, u8 *edid, int len)
drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c
171
r = hdmi_core_ddc_edid(core, edid, 0);
drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c
177
if (len >= 128 * 2 && edid[0x7e] > 0) {
drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c
178
r = hdmi_core_ddc_edid(core, edid + 0x80, 1);
drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.h
252
int hdmi4_read_edid(struct hdmi_core_data *core, u8 *edid, int len);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
486
u8 *edid, int len)
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
499
r = read_edid(edid, len);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c
186
int hdmi5_read_edid(struct hdmi_core_data *core, u8 *edid, int len)
drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c
196
r = hdmi_core_ddc_edid(core, edid, 0);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c
200
n = edid[0x7e];
drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c
206
r = hdmi_core_ddc_edid(core, edid + i * EDID_LENGTH, i);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.h
284
int hdmi5_read_edid(struct hdmi_core_data *core, u8 *edid, int len);
drivers/video/fbdev/omap2/omapfb/omapfb-main.c
2232
u8 *edid;
drivers/video/fbdev/omap2/omapfb/omapfb-main.c
2239
edid = kmalloc(len, GFP_KERNEL);
drivers/video/fbdev/omap2/omapfb/omapfb-main.c
2240
if (edid == NULL)
drivers/video/fbdev/omap2/omapfb/omapfb-main.c
2243
r = display->driver->read_edid(display, edid, len);
drivers/video/fbdev/omap2/omapfb/omapfb-main.c
2253
fb_edid_to_monspecs(edid, specs);
drivers/video/fbdev/omap2/omapfb/omapfb-main.c
2297
kfree(edid);
drivers/video/fbdev/riva/rivafb-i2c.c
154
u8 *edid = NULL;
drivers/video/fbdev/riva/rivafb-i2c.c
157
edid = fb_ddc_read(&par->chan[conn].adapter);
drivers/video/fbdev/riva/rivafb-i2c.c
160
*out_edid = edid;
drivers/video/fbdev/riva/rivafb-i2c.c
161
if (!edid)
drivers/video/fbdev/s3fb.c
1358
u8 *edid = fb_ddc_read(&par->ddc_adapter);
drivers/video/fbdev/s3fb.c
1360
if (edid) {
drivers/video/fbdev/s3fb.c
1361
fb_edid_to_monspecs(edid, &info->monspecs);
drivers/video/fbdev/s3fb.c
1362
kfree(edid);
drivers/video/fbdev/savage/savagefb-i2c.c
221
u8 *edid;
drivers/video/fbdev/savage/savagefb-i2c.c
224
edid = fb_ddc_read(&par->chan.adapter);
drivers/video/fbdev/savage/savagefb-i2c.c
226
edid = NULL;
drivers/video/fbdev/savage/savagefb-i2c.c
228
if (!edid) {
drivers/video/fbdev/savage/savagefb-i2c.c
233
edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL);
drivers/video/fbdev/savage/savagefb-i2c.c
236
*out_edid = edid;
drivers/video/fbdev/savage/savagefb-i2c.c
238
return (edid) ? 0 : 1;
drivers/video/fbdev/savage/savagefb_driver.c
2176
unsigned char __maybe_unused *edid;
drivers/video/fbdev/savage/savagefb_driver.c
2223
savagefb_probe_i2c_connector(info, &edid);
drivers/video/fbdev/savage/savagefb_driver.c
2224
fb_edid_to_monspecs(edid, &info->monspecs);
drivers/video/fbdev/savage/savagefb_driver.c
2225
kfree(edid);
drivers/video/fbdev/smscufx.c
102
u8 *edid; /* null until we read edid from hw or get from sysfs */
drivers/video/fbdev/smscufx.c
1398
static int ufx_read_edid(struct ufx_data *dev, u8 *edid, int edid_len)
drivers/video/fbdev/smscufx.c
1401
u32 *edid_u32 = (u32 *)edid;
drivers/video/fbdev/smscufx.c
1411
memset(edid, 0xff, EDID_LENGTH);
drivers/video/fbdev/smscufx.c
1435
if (edid[i] != 0xFF) {
drivers/video/fbdev/smscufx.c
1461
u8 *edid;
drivers/video/fbdev/smscufx.c
1467
edid = kmalloc(EDID_LENGTH, GFP_KERNEL);
drivers/video/fbdev/smscufx.c
1468
if (!edid) {
drivers/video/fbdev/smscufx.c
1480
i = ufx_read_edid(dev, edid, EDID_LENGTH);
drivers/video/fbdev/smscufx.c
1483
fb_edid_to_monspecs(edid, &info->monspecs);
drivers/video/fbdev/smscufx.c
1486
dev->edid = edid;
drivers/video/fbdev/smscufx.c
1496
if (dev->edid) {
drivers/video/fbdev/smscufx.c
1497
fb_edid_to_monspecs(dev->edid, &info->monspecs);
drivers/video/fbdev/smscufx.c
1508
memcpy(edid, default_edid, default_edid_size);
drivers/video/fbdev/smscufx.c
1509
dev->edid = edid;
drivers/video/fbdev/smscufx.c
1575
if (edid && (dev->edid != edid))
drivers/video/fbdev/smscufx.c
1576
kfree(edid);
drivers/video/fbdev/smscufx.c
941
u8 __user *edid = (u8 __user *)arg;
drivers/video/fbdev/smscufx.c
942
if (copy_to_user(edid, dev->edid, dev->edid_size))
drivers/video/fbdev/tdfxfb.c
1347
u8 *edid = NULL;
drivers/video/fbdev/tdfxfb.c
1351
edid = fb_ddc_read(&par->chan[0].adapter);
drivers/video/fbdev/tdfxfb.c
1353
if (edid) {
drivers/video/fbdev/tdfxfb.c
1354
fb_edid_to_monspecs(edid, specs);
drivers/video/fbdev/tdfxfb.c
1355
kfree(edid);
drivers/video/fbdev/tridentfb.c
1640
u8 *edid = fb_ddc_read(&default_par->ddc_adapter);
drivers/video/fbdev/tridentfb.c
1643
if (edid) {
drivers/video/fbdev/tridentfb.c
1644
fb_edid_to_monspecs(edid, &info->monspecs);
drivers/video/fbdev/tridentfb.c
1645
kfree(edid);
drivers/video/fbdev/udlfb.c
1245
char *edid;
drivers/video/fbdev/udlfb.c
1258
edid = kmalloc(EDID_LENGTH, GFP_KERNEL);
drivers/video/fbdev/udlfb.c
1259
if (!edid) {
drivers/video/fbdev/udlfb.c
1274
i = dlfb_get_edid(dlfb, edid, EDID_LENGTH);
drivers/video/fbdev/udlfb.c
1277
fb_edid_to_monspecs(edid, &info->monspecs);
drivers/video/fbdev/udlfb.c
1280
dlfb->edid = edid;
drivers/video/fbdev/udlfb.c
1290
if (dlfb->edid) {
drivers/video/fbdev/udlfb.c
1291
fb_edid_to_monspecs(dlfb->edid, &info->monspecs);
drivers/video/fbdev/udlfb.c
1302
memcpy(edid, default_edid, default_edid_size);
drivers/video/fbdev/udlfb.c
1303
dlfb->edid = edid;
drivers/video/fbdev/udlfb.c
1376
if (edid && (dlfb->edid != edid))
drivers/video/fbdev/udlfb.c
1377
kfree(edid);
drivers/video/fbdev/udlfb.c
1425
if (dlfb->edid == NULL)
drivers/video/fbdev/udlfb.c
1434
memcpy(buf, dlfb->edid, count);
drivers/video/fbdev/udlfb.c
1456
if (!dlfb->edid || memcmp(src, dlfb->edid, src_size))
drivers/video/fbdev/udlfb.c
785
static int dlfb_get_edid(struct dlfb_data *dlfb, char *edid, int len)
drivers/video/fbdev/udlfb.c
805
edid[i] = rbuf[1];
drivers/video/fbdev/udlfb.c
824
void __user *edid = (void __user *)arg;
drivers/video/fbdev/udlfb.c
825
if (copy_to_user(edid, dlfb->edid, dlfb->edid_size))
drivers/video/fbdev/udlfb.c
962
kfree(dlfb->edid);
drivers/video/fbdev/via/via_aux_edid.c
21
unsigned char edid[EDID_LENGTH];
drivers/video/fbdev/via/via_aux_edid.c
33
if (via_aux_read(drv, 0x00, edid, EDID_LENGTH)) {
drivers/video/fbdev/via/via_aux_edid.c
34
fb_edid_to_monspecs(edid, spec);
include/acpi/video.h
61
int device_id, void **edid);
include/acpi/video.h
97
int device_id, void **edid)
include/drm/display/drm_dp_helper.h
936
void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid);
include/drm/display/drm_dp_helper.h
959
const struct edid *edid)
include/drm/display/drm_dp_mst_helper.h
873
struct edid *drm_dp_mst_get_edid(struct drm_connector *connector,
include/drm/drm_bridge.h
45
struct edid;
include/drm/drm_connector.h
2513
const struct edid *edid);
include/drm/drm_connector.h
49
struct edid;
include/drm/drm_crtc.h
46
struct edid;
include/drm/drm_edid.h
359
int drm_edid_to_sad(const struct edid *edid, struct cea_sad **sads);
include/drm/drm_edid.h
360
int drm_edid_to_speaker_allocation(const struct edid *edid, u8 **sadb);
include/drm/drm_edid.h
439
struct edid *drm_get_edid(struct drm_connector *connector,
include/drm/drm_edid.h
441
struct edid *drm_get_edid_switcheroo(struct drm_connector *connector,
include/drm/drm_edid.h
443
struct edid *drm_edid_duplicate(const struct edid *edid);
include/drm/drm_edid.h
444
int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid);
include/drm/drm_edid.h
448
bool drm_detect_hdmi_monitor(const struct edid *edid);
include/drm/drm_edid.h
449
bool drm_detect_monitor_audio(const struct edid *edid);
include/drm/drm_edid.h
455
int drm_edid_header_is_valid(const void *edid);
include/drm/drm_edid.h
456
bool drm_edid_is_valid(struct edid *edid);
include/drm/drm_edid.h
457
void drm_edid_get_monitor_name(const struct edid *edid, char *name,
include/drm/drm_edid.h
467
const struct drm_edid *drm_edid_alloc(const void *edid, size_t size);
include/drm/drm_edid.h
471
const struct edid *drm_edid_raw(const struct drm_edid *drm_edid);
include/drm/drm_edid.h
482
const struct drm_edid *edid);
include/drm/drm_utils.h
25
drm_get_panel_backlight_quirk(const struct drm_edid *edid);
include/linux/fb.h
796
extern int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var);
include/linux/fb.h
798
extern void fb_edid_to_monspecs(unsigned char *edid,
include/linux/sysfb.h
69
struct edid_info edid;
include/media/cec-notifier.h
142
const struct edid *edid)
include/media/cec-notifier.h
16
struct edid;
include/media/cec-notifier.h
97
const struct edid *edid);
include/media/cec.h
361
struct edid;
include/media/cec.h
376
const struct edid *edid);
include/media/cec.h
460
u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size,
include/media/cec.h
488
const struct edid *edid)
include/media/cec.h
492
static inline u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size,
include/media/cec.h
543
static inline unsigned int cec_get_edid_spa_location(const u8 *edid,
include/media/cec.h
561
if (edid[0x7e] + 1 < blocks)
include/media/cec.h
562
blocks = edid[0x7e] + 1;
include/media/cec.h
568
if (edid[offset] != 0x02 || edid[offset + 1] != 0x03)
include/media/cec.h
572
d = edid[offset + 2] & 0x7f;
include/media/cec.h
582
u8 tag = edid[i] >> 5;
include/media/cec.h
583
u8 len = edid[i] & 0x1f;
include/media/cec.h
586
edid[i + 1] == 0x03 &&
include/media/cec.h
587
edid[i + 2] == 0x0c &&
include/media/cec.h
588
edid[i + 3] == 0x00)
include/media/v4l2-dv-timings.h
255
unsigned int v4l2_num_edid_blocks(const u8 *edid, unsigned int max_blocks);
include/media/v4l2-dv-timings.h
256
u16 v4l2_get_edid_phys_addr(const u8 *edid, unsigned int size,
include/media/v4l2-dv-timings.h
258
void v4l2_set_edid_phys_addr(u8 *edid, unsigned int size, u16 phys_addr);
include/media/v4l2-ioctl.h
568
struct v4l2_edid *edid);
include/media/v4l2-ioctl.h
570
struct v4l2_edid *edid);
include/media/v4l2-subdev.h
855
int (*get_edid)(struct v4l2_subdev *sd, struct v4l2_edid *edid);
include/media/v4l2-subdev.h
856
int (*set_edid)(struct v4l2_subdev *sd, struct v4l2_edid *edid);
include/uapi/drm/exynos_drm.h
79
__u64 edid;
include/uapi/linux/v4l2-common.h
53
__u8 *edid;
include/uapi/linux/virtio_gpu.h
358
__u8 edid[1024];
include/video/udlfb.h
44
char *edid; /* null until we read edid from hw or get from sysfs */
include/xen/interface/platform.h
238
GUEST_HANDLE(uchar) edid;
samples/vfio-mdev/mbochs.c
365
struct vfio_region_gfx_edid *edid;
samples/vfio-mdev/mbochs.c
371
edid = &mdev_state->edid_regs;
samples/vfio-mdev/mbochs.c
372
if (edid->link_state != VFIO_DEVICE_GFX_LINK_STATE_UP ||
samples/vfio-mdev/mbochs.c
373
offset >= edid->edid_size) {