| /linux/drivers/video/fbdev/core/ |
| H A D | fbmon.c | 150 static int check_edid(unsigned char *edid) in check_edid() argument 152 unsigned char *block = edid + ID_MANUFACTURER_NAME, manufacturer[4]; in check_edid() 175 if (edid[i] != edid_v1_header[i]) { in check_edid() 182 b = edid + EDID_STRUCT_DISPLAY; in check_edid() 189 b = edid + DETAILED_TIMING_DESCRIPTIONS_START; in check_edid() 212 static void fix_edid(unsigned char *edid, int fix) in fix_edid() argument 220 memcpy(edid, edid_v1_header, 8); in fix_edid() 224 b = edid + EDID_STRUCT_DISPLAY; in fix_edid() 226 edid[127] += 0x80; in fix_edid() 230 b = edid + DETAILED_TIMING_DESCRIPTIONS_START; in fix_edid() [all …]
|
| /linux/drivers/media/cec/usb/extron-da-hd-4k-plus/ |
| H A D | extron-da-hd-4k-plus.c | 253 const u8 *edid = port->edid; in extron_parse_edid() local 262 port->est_i = edid[0x23]; in extron_parse_edid() 263 port->est_ii = edid[0x24]; in extron_parse_edid() 267 const u8 *dtd = edid + 0x36 + i * 18; in extron_parse_edid() 293 edid += 128; in extron_parse_edid() 296 if (edid[0] != 0x02 || edid[1] != 0x03) in extron_parse_edid() 300 d = edid[2] & 0x7f; in extron_parse_edid() 309 u8 tag = edid[i] >> 5; in extron_parse_edid() 310 u8 len = edid[i] & 0x1f; in extron_parse_edid() 319 if (memchr(edid + i + 1, 97, len)) in extron_parse_edid() [all …]
|
| /linux/drivers/gpu/drm/gma500/ |
| H A D | cdv_intel_hdmi.c | 132 struct edid *edid = NULL; in cdv_hdmi_detect() local 135 edid = drm_get_edid(connector, connector->ddc); in cdv_hdmi_detect() 139 if (edid) { in cdv_hdmi_detect() 140 if (edid->input & DRM_EDID_INPUT_DIGITAL) { in cdv_hdmi_detect() 143 drm_detect_hdmi_monitor(edid); in cdv_hdmi_detect() 145 drm_detect_monitor_audio(edid); in cdv_hdmi_detect() 147 kfree(edid); in cdv_hdmi_detect() 213 struct edid *edid = NULL; in cdv_hdmi_get_modes() local 216 edid = drm_get_edid(connector, connector->ddc); in cdv_hdmi_get_modes() 217 if (edid) { in cdv_hdmi_get_modes() [all …]
|
| H A D | oaktrail_lvds.c | 300 struct edid *edid; in oaktrail_lvds_init() local 360 edid = NULL; in oaktrail_lvds_init() 365 edid = drm_get_edid(connector, i2c_adap); in oaktrail_lvds_init() 367 if (edid == NULL && dev_priv->lpc_gpio_base) { in oaktrail_lvds_init() 373 edid = drm_get_edid(connector, i2c_adap); in oaktrail_lvds_init() 388 if (edid) { in oaktrail_lvds_init() 389 drm_connector_update_edid_property(connector, edid); in oaktrail_lvds_init() 390 drm_add_edid_modes(connector, edid); in oaktrail_lvds_init() 391 kfree(edid); in oaktrail_lvds_init()
|
| H A D | psb_intel_sdvo.c | 1232 static struct edid * 1240 static struct edid * 1254 struct edid *edid; in psb_intel_sdvo_hdmi_sink_detect() local 1256 edid = psb_intel_sdvo_get_edid(connector); in psb_intel_sdvo_hdmi_sink_detect() 1258 if (edid == NULL && psb_intel_sdvo_multifunc_encoder(psb_intel_sdvo)) { in psb_intel_sdvo_hdmi_sink_detect() 1267 edid = psb_intel_sdvo_get_edid(connector); in psb_intel_sdvo_hdmi_sink_detect() 1268 if (edid) in psb_intel_sdvo_hdmi_sink_detect() 1275 if (edid == NULL) in psb_intel_sdvo_hdmi_sink_detect() 1283 if (edid == NULL) in psb_intel_sdvo_hdmi_sink_detect() 1284 edid = psb_intel_sdvo_get_analog_edid(connector); in psb_intel_sdvo_hdmi_sink_detect() [all …]
|
| H A D | cdv_intel_dp.c | 1695 struct edid *edid = NULL; in cdv_intel_dp_detect() local 1712 edid = drm_get_edid(connector, &intel_dp->adapter); in cdv_intel_dp_detect() 1713 if (edid) { in cdv_intel_dp_detect() 1714 intel_dp->has_audio = drm_detect_monitor_audio(edid); in cdv_intel_dp_detect() 1715 kfree(edid); in cdv_intel_dp_detect() 1728 struct edid *edid = NULL; in cdv_intel_dp_get_modes() local 1733 edid = drm_get_edid(connector, &intel_dp->adapter); in cdv_intel_dp_get_modes() 1734 if (edid) { in cdv_intel_dp_get_modes() 1735 drm_connector_update_edid_property(connector, edid); in cdv_intel_dp_get_modes() 1736 ret = drm_add_edid_modes(connector, edid); in cdv_intel_dp_get_modes() [all …]
|
| /linux/drivers/gpu/drm/amd/display/amdgpu_dm/ |
| H A D | amdgpu_dm_helpers.c | 91 static u32 edid_extract_panel_id(struct edid *edid) in edid_extract_panel_id() argument 93 return (u32)edid->mfg_id[0] << 24 | in edid_extract_panel_id() 94 (u32)edid->mfg_id[1] << 16 | in edid_extract_panel_id() 95 (u32)EDID_PRODUCT_ID(edid); in edid_extract_panel_id() 98 static void apply_edid_quirks(struct drm_device *dev, struct edid *edid, struct dc_edid_caps *edid_… in apply_edid_quirks() argument 100 uint32_t panel_id = edid_extract_panel_id(edid); in apply_edid_quirks() 145 const struct dc_edid *edid, in dm_helpers_parse_edid_caps() argument 151 struct edid *edid_buf = edid ? (struct edid *) edid->raw_edid : NULL; in dm_helpers_parse_edid_caps() 160 if (!edid_caps || !edid) in dm_helpers_parse_edid_caps() 186 sad_count = drm_edid_to_sad((struct edid *) edid->raw_edid, &sads); in dm_helpers_parse_edid_caps() [all …]
|
| /linux/include/media/ |
| H A D | cec-notifier.h | 16 struct edid; 97 const struct edid *edid); 142 const struct edid *edid) in cec_notifier_set_phys_addr_from_edid() argument
|
| /linux/drivers/gpu/drm/nouveau/ |
| H A D | nouveau_connector.c | 400 kfree(nv_connector->edid); in nouveau_connector_destroy() 489 const void *edid = of_get_property(cn, "EDID", NULL); in nouveau_connector_of_detect() local 492 if (nv_encoder->dcb->i2c_index == idx && edid) { in nouveau_connector_of_detect() 493 nv_connector->edid = in nouveau_connector_of_detect() 494 kmemdup(edid, EDID_LENGTH, GFP_KERNEL); in nouveau_connector_of_detect() 551 struct edid *edid) in nouveau_connector_set_edid() argument 553 if (nv_connector->edid != edid) { in nouveau_connector_set_edid() 554 struct edid *old_edid = nv_connector->edid; in nouveau_connector_set_edid() 556 drm_connector_update_edid_property(&nv_connector->base, edid); in nouveau_connector_set_edid() 558 nv_connector->edid = edid; in nouveau_connector_set_edid() [all …]
|
| H A D | nouveau_connector.h | 46 struct edid; 140 struct edid *edid; member
|
| /linux/drivers/video/fbdev/nvidia/ |
| H A D | nv_i2c.c | 155 u8 *edid = NULL; in nvidia_probe_i2c_connector() local 158 edid = fb_ddc_read(&par->chan[conn - 1].adapter); in nvidia_probe_i2c_connector() 160 if (!edid && conn == 1) { in nvidia_probe_i2c_connector() 165 edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL); in nvidia_probe_i2c_connector() 168 *out_edid = edid; in nvidia_probe_i2c_connector() 170 return (edid) ? 0 : 1; in nvidia_probe_i2c_connector()
|
| /linux/drivers/media/i2c/ |
| H A D | tda1997x.c | 273 u8 edid[256]; member 276 } edid; member 572 state->edid.present = 1; in tda1997x_delayed_work_enable_hpd() 1841 static int tda1997x_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in tda1997x_get_edid() argument 1845 v4l_dbg(1, debug, state->client, "%s pad=%d\n", __func__, edid->pad); in tda1997x_get_edid() 1846 memset(edid->reserved, 0, sizeof(edid->reserved)); in tda1997x_get_edid() 1848 if (edid->start_block == 0 && edid->blocks == 0) { in tda1997x_get_edid() 1849 edid->blocks = state->edid.blocks; in tda1997x_get_edid() 1853 if (!state->edid.present) in tda1997x_get_edid() 1856 if (edid->start_block >= state->edid.blocks) in tda1997x_get_edid() [all …]
|
| /linux/drivers/video/fbdev/savage/ |
| H A D | savagefb-i2c.c | 221 u8 *edid; in savagefb_probe_i2c_connector() local 224 edid = fb_ddc_read(&par->chan.adapter); in savagefb_probe_i2c_connector() 226 edid = NULL; in savagefb_probe_i2c_connector() 228 if (!edid) { in savagefb_probe_i2c_connector() 233 edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL); in savagefb_probe_i2c_connector() 236 *out_edid = edid; in savagefb_probe_i2c_connector() 238 return (edid) ? 0 : 1; in savagefb_probe_i2c_connector()
|
| /linux/drivers/media/cec/core/ |
| H A D | cec-notifier.c | 205 const struct edid *edid) in cec_notifier_set_phys_addr_from_edid() argument 212 if (edid && edid->extensions) in cec_notifier_set_phys_addr_from_edid() 213 pa = cec_get_edid_phys_addr((const u8 *)edid, in cec_notifier_set_phys_addr_from_edid() 214 EDID_LENGTH * (edid->extensions + 1), NULL); in cec_notifier_set_phys_addr_from_edid()
|
| /linux/drivers/video/fbdev/aty/ |
| H A D | radeon_i2c.c | 144 u8 *edid; in radeon_probe_i2c_connector() local 146 edid = fb_ddc_read(&rinfo->i2c[conn-1].adapter); in radeon_probe_i2c_connector() 149 *out_edid = edid; in radeon_probe_i2c_connector() 150 if (!edid) { in radeon_probe_i2c_connector() 154 if (edid[0x14] & 0x80) { in radeon_probe_i2c_connector()
|
| /linux/drivers/media/v4l2-core/ |
| H A D | v4l2-dv-timings.c | 1029 unsigned int v4l2_num_edid_blocks(const u8 *edid, unsigned int max_blocks) in v4l2_num_edid_blocks() argument 1033 if (!edid || !max_blocks) in v4l2_num_edid_blocks() 1042 blocks = edid[126] + 1; in v4l2_num_edid_blocks() 1046 edid[128] == 2 && // The first extension block is type CTA-861 in v4l2_num_edid_blocks() 1047 edid[133] == 0x78 && // Identifier for the EEODB in v4l2_num_edid_blocks() 1048 (edid[132] & 0xe0) == 0xe0 && // Tag Code == 7 in v4l2_num_edid_blocks() 1049 (edid[132] & 0x1f) >= 2 && // Length >= 2 in v4l2_num_edid_blocks() 1050 edid[134] > 1) // Number of extension blocks is sane in v4l2_num_edid_blocks() 1051 blocks = edid[134] + 1; in v4l2_num_edid_blocks() 1067 u16 v4l2_get_edid_phys_addr(const u8 *edid, unsigned int size, in v4l2_get_edid_phys_addr() argument [all …]
|
| /linux/drivers/firmware/efi/libstub/ |
| H A D | gop.c | 417 static void setup_edid_info(struct edid_info *edid, u32 gop_size_of_edid, u8 *gop_edid) in setup_edid_info() argument 420 memset(edid->dummy, 0, sizeof(edid->dummy)); in setup_edid_info() 422 memcpy(edid->dummy, gop_edid, min(gop_size_of_edid, sizeof(edid->dummy))); in setup_edid_info() 481 efi_status_t efi_setup_graphics(struct screen_info *si, struct edid_info *edid) in efi_setup_graphics() argument 507 if (edid) { in efi_setup_graphics() 517 gop_edid = efi_table_attr(active_edid, edid); in efi_setup_graphics() 524 gop_edid = efi_table_attr(discovered_edid, edid); in efi_setup_graphics() 528 setup_edid_info(edid, gop_size_of_edid, gop_edid); in efi_setup_graphics()
|
| /linux/drivers/gpu/drm/vboxvideo/ |
| H A D | vbox_mode.c | 646 unsigned char edid[EDID_SIZE] = { in vbox_set_edid() local 691 edid[12] = width & 0xff; in vbox_set_edid() 692 edid[13] = width >> 8; in vbox_set_edid() 693 edid[14] = height & 0xff; in vbox_set_edid() 694 edid[15] = height >> 8; in vbox_set_edid() 695 edid[54] = clock & 0xff; in vbox_set_edid() 696 edid[55] = clock >> 8; in vbox_set_edid() 697 edid[56] = width & 0xff; in vbox_set_edid() 698 edid[58] = (width >> 4) & 0xf0; in vbox_set_edid() 699 edid[59] = height & 0xff; in vbox_set_edid() [all …]
|
| /linux/drivers/video/fbdev/i810/ |
| H A D | i810-i2c.c | 158 u8 *edid = NULL; in i810_probe_i2c_connector() local 162 edid = fb_ddc_read(&par->chan[conn].adapter); in i810_probe_i2c_connector() 168 edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL); in i810_probe_i2c_connector() 172 *out_edid = edid; in i810_probe_i2c_connector() 174 return (edid) ? 0 : 1; in i810_probe_i2c_connector()
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_connectors.c | 261 if (amdgpu_connector->edid) in amdgpu_connector_get_edid() 271 amdgpu_connector->edid = drm_edid_read_ddc(connector, in amdgpu_connector_get_edid() 280 amdgpu_connector->edid = drm_edid_read_ddc(connector, in amdgpu_connector_get_edid() 283 amdgpu_connector->edid = drm_edid_read_ddc(connector, in amdgpu_connector_get_edid() 286 amdgpu_connector->edid = drm_edid_read_ddc(connector, in amdgpu_connector_get_edid() 290 if (!amdgpu_connector->edid) { in amdgpu_connector_get_edid() 294 amdgpu_connector->edid = amdgpu_connector_get_hardcoded_edid(adev); in amdgpu_connector_get_edid() 295 drm_edid_connector_update(connector, amdgpu_connector->edid); in amdgpu_connector_get_edid() 305 if (amdgpu_connector->edid) { in amdgpu_connector_ddc_get_modes() 306 drm_edid_connector_update(connector, amdgpu_connector->edid); in amdgpu_connector_ddc_get_modes() [all …]
|
| /linux/Documentation/devicetree/bindings/powerpc/fsl/ |
| H A D | diu.txt | 13 - edid : verbatim EDID data block describing attached display. 31 edid = [edid-data];
|
| /linux/drivers/video/fbdev/via/ |
| H A D | via_aux_edid.c | 21 unsigned char edid[EDID_LENGTH]; in query_edid() local 33 if (via_aux_read(drv, 0x00, edid, EDID_LENGTH)) { in query_edid() 34 fb_edid_to_monspecs(edid, spec); in query_edid()
|
| /linux/Documentation/devicetree/bindings/display/ |
| H A D | sm501fb.txt | 16 - edid : verbatim EDID data block describing attached display. 31 edid = [edid-data];
|
| /linux/drivers/video/fbdev/ |
| H A D | smscufx.c | 102 u8 *edid; /* null until we read edid from hw or get from sysfs */ member 941 u8 __user *edid = (u8 __user *)arg; in ufx_ops_ioctl() local 942 if (copy_to_user(edid, dev->edid, dev->edid_size)) in ufx_ops_ioctl() 1398 static int ufx_read_edid(struct ufx_data *dev, u8 *edid, int edid_len) in ufx_read_edid() argument 1401 u32 *edid_u32 = (u32 *)edid; in ufx_read_edid() 1411 memset(edid, 0xff, EDID_LENGTH); in ufx_read_edid() 1435 if (edid[i] != 0xFF) { in ufx_read_edid() 1461 u8 *edid; in ufx_setup_modes() local 1467 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in ufx_setup_modes() 1468 if (!edid) { in ufx_setup_modes() [all …]
|
| /linux/drivers/video/fbdev/riva/ |
| H A D | rivafb-i2c.c | 154 u8 *edid = NULL; in riva_probe_i2c_connector() local 157 edid = fb_ddc_read(&par->chan[conn].adapter); in riva_probe_i2c_connector() 160 *out_edid = edid; in riva_probe_i2c_connector() 161 if (!edid) in riva_probe_i2c_connector()
|