| /linux/drivers/gpu/drm/ |
| H A D | drm_edid.c | 1609 const struct edid *edid; member 1612 static int edid_hfeeodb_extension_block_count(const struct edid *edid); 1614 static int edid_hfeeodb_block_count(const struct edid *edid) in edid_hfeeodb_block_count() argument 1616 int eeodb = edid_hfeeodb_extension_block_count(edid); in edid_hfeeodb_block_count() 1621 static int edid_extension_block_count(const struct edid *edid) in edid_extension_block_count() argument 1623 return edid->extensions; in edid_extension_block_count() 1626 static int edid_block_count(const struct edid *edid) in edid_block_count() argument 1628 return edid_extension_block_count(edid) + 1; in edid_block_count() 1636 static int edid_size(const struct edid *edid) in edid_size() argument 1638 return edid_size_by_blocks(edid_block_count(edid)); in edid_size() [all …]
|
| /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() 371 edid = drm_get_edid(connector, i2c_adap); in oaktrail_lvds_init() 386 if (edid) { in oaktrail_lvds_init() 387 drm_connector_update_edid_property(connector, edid); in oaktrail_lvds_init() 388 drm_add_edid_modes(connector, edid); in oaktrail_lvds_init() 389 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 …]
|
| /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 …]
|
| /linux/drivers/gpu/drm/amd/display/amdgpu_dm/ |
| H A D | amdgpu_dm_helpers.c | 52 static u32 edid_extract_panel_id(struct edid *edid) in edid_extract_panel_id() argument 54 return (u32)edid->mfg_id[0] << 24 | in edid_extract_panel_id() 55 (u32)edid->mfg_id[1] << 16 | in edid_extract_panel_id() 56 (u32)EDID_PRODUCT_ID(edid); in edid_extract_panel_id() 59 static void apply_edid_quirks(struct drm_device *dev, struct edid *edid, struct dc_edid_caps *edid_… in apply_edid_quirks() argument 61 uint32_t panel_id = edid_extract_panel_id(edid); in apply_edid_quirks() 106 const struct dc_edid *edid, in dm_helpers_parse_edid_caps() argument 112 struct edid *edid_buf = edid ? (struct edid *) edid->raw_edid : NULL; in dm_helpers_parse_edid_caps() 121 if (!edid_caps || !edid) in dm_helpers_parse_edid_caps() 147 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/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/video/fbdev/ |
| H A D | udlfb.c | 785 static int dlfb_get_edid(struct dlfb_data *dlfb, char *edid, int len) in dlfb_get_edid() argument 805 edid[i] = rbuf[1]; in dlfb_get_edid() 824 void __user *edid = (void __user *)arg; in dlfb_ops_ioctl() local 825 if (copy_to_user(edid, dlfb->edid, dlfb->edid_size)) in dlfb_ops_ioctl() 962 kfree(dlfb->edid); in dlfb_ops_destroy() 1245 char *edid; in dlfb_setup_modes() local 1258 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in dlfb_setup_modes() 1259 if (!edid) { in dlfb_setup_modes() 1274 i = dlfb_get_edid(dlfb, edid, EDID_LENGTH); in dlfb_setup_modes() 1277 fb_edid_to_monspecs(edid, &info->monspecs); in dlfb_setup_modes() [all …]
|
| 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/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/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()
|
| /linux/drivers/gpu/drm/bridge/ |
| H A D | sil-sii8620.c | 85 struct edid *edid; member 496 if (!ctx->edid) { in sii8620_identify_sink() 503 if (drm_detect_hdmi_monitor(ctx->edid)) in sii8620_identify_sink() 508 drm_edid_get_monitor_name(ctx->edid, sink_name, ARRAY_SIZE(sink_name)); in sii8620_identify_sink() 771 u8 *edid; in sii8620_fetch_edid() local 796 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in sii8620_fetch_edid() 797 if (!edid) { in sii8620_fetch_edid() 823 kfree(edid); in sii8620_fetch_edid() 824 edid = NULL; in sii8620_fetch_edid() 837 kfree(edid); in sii8620_fetch_edid() [all …]
|