| /linux/drivers/media/i2c/adv748x/ |
| A D | adv748x-hdmi.c | 474 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv748x_hdmi_get_edid() 479 if (edid->start_block == 0 && edid->blocks == 0) { in adv748x_hdmi_get_edid() 480 edid->blocks = hdmi->edid.blocks; in adv748x_hdmi_get_edid() 484 if (edid->start_block >= hdmi->edid.blocks) in adv748x_hdmi_get_edid() 487 if (edid->start_block + edid->blocks > hdmi->edid.blocks) in adv748x_hdmi_get_edid() 488 edid->blocks = hdmi->edid.blocks - edid->start_block; in adv748x_hdmi_get_edid() 490 memcpy(edid->edid, hdmi->edid.edid + edid->start_block * 128, in adv748x_hdmi_get_edid() 553 memcpy(hdmi->edid.edid, edid->edid, 128 * edid->blocks); in adv748x_hdmi_set_edid() 554 hdmi->edid.blocks = edid->blocks; in adv748x_hdmi_set_edid() 558 edid->edid[0x16]); in adv748x_hdmi_set_edid() [all …]
|
| /linux/include/drm/ |
| A D | drm_edid.h | 284 struct edid { struct 346 int drm_edid_to_sad(const struct edid *edid, struct cea_sad **sads); argument 347 int drm_edid_to_speaker_allocation(const struct edid *edid, u8 **sadb); 430 struct edid *drm_edid_duplicate(const struct edid *edid); 431 int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid); 435 bool drm_detect_hdmi_monitor(const struct edid *edid); 436 bool drm_detect_monitor_audio(const struct edid *edid); 442 int drm_edid_header_is_valid(const void *edid); 443 bool drm_edid_is_valid(struct edid *edid); 444 void drm_edid_get_monitor_name(const struct edid *edid, char *name, [all …]
|
| /linux/drivers/gpu/drm/ |
| A D | drm_edid.c | 1700 drm_edid->edid = edid; in drm_edid_legacy_init() 2494 drm_edid->edid = edid; in _drm_edid_alloc() 2593 struct edid *edid; in drm_get_edid() local 2635 struct edid *edid; in drm_edid_read_custom() local 2786 const struct edid *edid = drm_edid->edid; in drm_edid_get_panel_id() local 2873 struct edid *edid; in drm_get_edid_switcheroo() local 3258 const struct edid *edid = drm_edid->edid; in standard_timing_level() local 3636 const struct edid *edid = drm_edid->edid; in mode_in_range() local 3908 const struct edid *edid = drm_edid->edid; in add_established_modes() local 5594 .edid = edid, in drm_edid_get_monitor_name() [all …]
|
| /linux/drivers/gpu/drm/gma500/ |
| A D | psb_intel_modes.c | 55 struct edid *edid; in psb_intel_ddc_get_modes() local 58 edid = drm_get_edid(connector, adapter); in psb_intel_ddc_get_modes() 59 if (edid) { in psb_intel_ddc_get_modes() 60 drm_connector_update_edid_property(connector, edid); in psb_intel_ddc_get_modes() 61 ret = drm_add_edid_modes(connector, edid); in psb_intel_ddc_get_modes() 62 kfree(edid); in psb_intel_ddc_get_modes()
|
| A D | cdv_intel_hdmi.c | 131 struct edid *edid = NULL; in cdv_hdmi_detect() local 134 edid = drm_get_edid(connector, connector->ddc); in cdv_hdmi_detect() 138 if (edid) { in cdv_hdmi_detect() 139 if (edid->input & DRM_EDID_INPUT_DIGITAL) { in cdv_hdmi_detect() 142 drm_detect_hdmi_monitor(edid); in cdv_hdmi_detect() 144 drm_detect_monitor_audio(edid); in cdv_hdmi_detect() 146 kfree(edid); in cdv_hdmi_detect() 212 struct edid *edid = NULL; in cdv_hdmi_get_modes() local 216 if (edid) { in cdv_hdmi_get_modes() 218 ret = drm_add_edid_modes(connector, edid); in cdv_hdmi_get_modes() [all …]
|
| A D | oaktrail_lvds.c | 299 struct edid *edid; in oaktrail_lvds_init() local 359 edid = NULL; in oaktrail_lvds_init() 364 edid = drm_get_edid(connector, i2c_adap); in oaktrail_lvds_init() 366 if (edid == NULL && dev_priv->lpc_gpio_base) { in oaktrail_lvds_init() 370 edid = drm_get_edid(connector, i2c_adap); in oaktrail_lvds_init() 385 if (edid) { in oaktrail_lvds_init() 386 drm_connector_update_edid_property(connector, edid); in oaktrail_lvds_init() 387 drm_add_edid_modes(connector, edid); in oaktrail_lvds_init() 388 kfree(edid); in oaktrail_lvds_init()
|
| A D | psb_intel_sdvo.c | 1253 struct edid *edid; in psb_intel_sdvo_hdmi_sink_detect() local 1267 if (edid) in psb_intel_sdvo_hdmi_sink_detect() 1282 if (edid == NULL) in psb_intel_sdvo_hdmi_sink_detect() 1296 kfree(edid); in psb_intel_sdvo_hdmi_sink_detect() 1345 struct edid *edid; in psb_intel_sdvo_detect() local 1356 kfree(edid); in psb_intel_sdvo_detect() 1380 struct edid *edid; in psb_intel_sdvo_get_ddc_modes() local 1391 if (edid == NULL) in psb_intel_sdvo_get_ddc_modes() 1404 kfree(edid); in psb_intel_sdvo_get_ddc_modes() 1576 struct edid *edid; in psb_intel_sdvo_detect_hdmi_audio() local [all …]
|
| /linux/drivers/video/fbdev/core/ |
| A D | fbmon.c | 221 edid[127] += 0x80; in fix_edid() 249 csum += edid[i]; in fix_edid() 251 edid[127] = 256 - csum; in fix_edid() 262 fix_edid(edid, fix); in edid_checksum() 265 csum += edid[i]; in edid_checksum() 266 all_null |= edid[i]; in edid_checksum() 282 fix_edid(edid, fix); in edid_check_header() 628 if (edid == NULL || !edid_checksum(edid) || in fb_create_modedb() 942 if (edid == NULL) in fb_edid_to_monspecs() 1505 edid = edid_info.dummy; in fb_firmware_edid() [all …]
|
| A D | fb_ddc.c | 57 unsigned char *edid = NULL; in fb_ddc_read() local 90 edid = fb_do_probe_ddc_edid(adapter); in fb_ddc_read() 110 if (edid) in fb_ddc_read() 119 return edid; in fb_ddc_read()
|
| /linux/include/media/ |
| A D | cec.h | 362 struct edid; 377 const struct edid *edid); 489 const struct edid *edid) in cec_s_phys_addr_from_edid() argument 562 if (edid[0x7e] + 1 < blocks) in cec_get_edid_spa_location() 563 blocks = edid[0x7e] + 1; in cec_get_edid_spa_location() 569 if (edid[offset] != 0x02 || edid[offset + 1] != 0x03) in cec_get_edid_spa_location() 573 d = edid[offset + 2] & 0x7f; in cec_get_edid_spa_location() 583 u8 tag = edid[i] >> 5; in cec_get_edid_spa_location() 584 u8 len = edid[i] & 0x1f; in cec_get_edid_spa_location() 587 edid[i + 1] == 0x03 && in cec_get_edid_spa_location() [all …]
|
| 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/media/test-drivers/vivid/ |
| A D | vivid-vid-common.c | 1077 struct v4l2_edid *edid) in vidioc_g_edid() argument 1085 memset(edid->reserved, 0, sizeof(edid->reserved)); in vidioc_g_edid() 1105 if (edid->start_block == 0 && edid->blocks == 0) { in vidioc_g_edid() 1113 if (edid->blocks > dev_rx->edid_blocks - edid->start_block) in vidioc_g_edid() 1114 edid->blocks = dev_rx->edid_blocks - edid->start_block; in vidioc_g_edid() 1116 memcpy(edid->edid, dev_rx->edid + edid->start_block * 128, edid->blocks * 128); in vidioc_g_edid() 1122 loc < (edid->start_block + edid->blocks) * 128) { in vidioc_g_edid() 1127 edid->edid[loc] = adap->phys_addr >> 8; in vidioc_g_edid() 1128 edid->edid[loc + 1] = adap->phys_addr & 0xff; in vidioc_g_edid() 1133 sum += edid->edid[i]; in vidioc_g_edid() [all …]
|
| /linux/drivers/media/cec/usb/extron-da-hd-4k-plus/ |
| A D | extron-da-hd-4k-plus.c | 252 const u8 *edid = port->edid; in extron_parse_edid() local 292 edid += 128; in extron_parse_edid() 295 if (edid[0] != 0x02 || edid[1] != 0x03) in extron_parse_edid() 350 if (size < 256 || edid[0] != 0x02 || edid[1] != 0x03) in get_edid_tag_location() 1260 memset(edid->reserved, 0, sizeof(edid->reserved)); in extron_g_edid() 1271 if (edid->start_block == 0 && edid->blocks == 0) { in extron_g_edid() 1279 memcpy(edid->edid, port->edid + edid->start_block * 128, edid->blocks * 128); in extron_g_edid() 1287 memset(edid->reserved, 0, sizeof(edid->reserved)); in extron_s_edid() 1302 if (cec_get_edid_spa_location(edid->edid, edid->blocks * 128)) in extron_s_edid() 1303 v4l2_set_edid_phys_addr(edid->edid, edid->blocks * 128, 0); in extron_s_edid() [all …]
|
| /linux/Documentation/devicetree/bindings/media/i2c/ |
| A D | adv7604.yaml | 36 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 37 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 38 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 39 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 40 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 41 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 42 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 43 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 44 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 132 * The edid page will be accessible @ 0x66 on the I2C bus. All [all …]
|
| A D | adv748x.yaml | 38 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 39 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 40 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 41 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 42 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 43 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 44 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 45 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 46 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 47 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] [all …]
|
| /linux/drivers/gpu/drm/i915/gvt/ |
| A D | edid.c | 57 if (edid->state == I2C_NOT_SPECIFIED || !edid->target_selected) { in edid_get_byte() 66 if (!edid->edid_available) { in edid_get_byte() 73 intel_vgpu_port(vgpu, edid->port)->edid; in edid_get_byte() 76 edid->current_edid_read++; in edid_get_byte() 571 edid->state = I2C_NOT_SPECIFIED; in intel_vgpu_init_i2c_edid() 573 edid->port = -1; in intel_vgpu_init_i2c_edid() 574 edid->target_selected = false; in intel_vgpu_init_i2c_edid() 575 edid->edid_available = false; in intel_vgpu_init_i2c_edid() 576 edid->current_edid_read = 0; in intel_vgpu_init_i2c_edid() 580 edid->aux_ch.i2c_over_aux_ch = false; in intel_vgpu_init_i2c_edid() [all …]
|
| /linux/drivers/media/i2c/ |
| A D | adv7511-v4l2.c | 543 struct adv7511_state_edid *edid = &state->edid; in adv7511_log_status() local 573 edid->blocks); in adv7511_log_status() 1169 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv7511_get_edid() 1174 if (edid->start_block == 0 && edid->blocks == 0) { in adv7511_get_edid() 1175 edid->blocks = state->edid.blocks; in adv7511_get_edid() 1182 if (edid->start_block >= state->edid.blocks) in adv7511_get_edid() 1185 if (edid->start_block + edid->blocks > state->edid.blocks) in adv7511_get_edid() 1186 edid->blocks = state->edid.blocks - edid->start_block; in adv7511_get_edid() 1188 memcpy(edid->edid, &state->edid.data[edid->start_block * 128], in adv7511_get_edid() 1649 state->edid.blocks = state->edid.data[0x7e] + 1; in adv7511_check_edid_status() [all …]
|
| A D | adv7604.c | 2288 data = state->edid.edid; in adv76xx_get_edid() 2305 if (edid->start_block + edid->blocks > state->edid.blocks) in adv76xx_get_edid() 2306 edid->blocks = state->edid.blocks - edid->start_block; in adv76xx_get_edid() 2308 memcpy(edid->edid, data + edid->start_block * 128, edid->blocks * 128); in adv76xx_get_edid() 2352 pa = v4l2_get_edid_phys_addr(edid->edid, edid->blocks * 128, &spa_loc); in adv76xx_set_edid() 2363 pa = (edid->edid[spa_loc] << 8) | edid->edid[spa_loc + 1]; in adv76xx_set_edid() 2406 memcpy(state->edid.edid, edid->edid, 128 * edid->blocks); in adv76xx_set_edid() 2407 state->edid.blocks = edid->blocks; in adv76xx_set_edid() 2409 edid->edid[0x16]); in adv76xx_set_edid() 2410 state->edid.present |= 1 << edid->pad; in adv76xx_set_edid() [all …]
|
| A D | tda1997x.c | 276 } edid; member 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() 1856 if (edid->start_block >= state->edid.blocks) in tda1997x_get_edid() 1859 if (edid->start_block + edid->blocks > state->edid.blocks) in tda1997x_get_edid() 1860 edid->blocks = state->edid.blocks - edid->start_block; in tda1997x_get_edid() 1862 memcpy(edid->edid, state->edid.edid + edid->start_block * 128, in tda1997x_get_edid() 1874 memset(edid->reserved, 0, sizeof(edid->reserved)); in tda1997x_set_edid() 1902 memcpy(state->edid.edid, edid->edid, 256); in tda1997x_set_edid() [all …]
|
| /linux/drivers/gpu/drm/nouveau/ |
| A D | nouveau_connector.c | 552 struct edid *edid) in nouveau_connector_set_edid() argument 554 if (nv_connector->edid != edid) { in nouveau_connector_set_edid() 555 struct edid *old_edid = nv_connector->edid; in nouveau_connector_set_edid() 559 nv_connector->edid = edid; in nouveau_connector_set_edid() 690 struct edid *edid = NULL; in nouveau_connector_detect_lvds() local 701 edid = nv_connector->edid; in nouveau_connector_detect_lvds() 717 if (edid) { in nouveau_connector_detect_lvds() 737 edid = (struct edid *)nouveau_bios_embedded_edid(dev); in nouveau_connector_detect_lvds() 738 if (edid) { in nouveau_connector_detect_lvds() 739 edid = kmemdup(edid, EDID_LENGTH, GFP_KERNEL); in nouveau_connector_detect_lvds() [all …]
|
| /linux/drivers/gpu/drm/amd/display/amdgpu_dm/ |
| A D | amdgpu_dm_helpers.c | 49 static u32 edid_extract_panel_id(struct edid *edid) in edid_extract_panel_id() argument 53 (u32)EDID_PRODUCT_ID(edid); in edid_extract_panel_id() 56 static void apply_edid_quirks(struct edid *edid, struct dc_edid_caps *edid_caps) in apply_edid_quirks() argument 97 const struct dc_edid *edid, in dm_helpers_parse_edid_caps() argument 102 struct edid *edid_buf = edid ? (struct edid *) edid->raw_edid : NULL; in dm_helpers_parse_edid_caps() 111 if (!edid_caps || !edid) in dm_helpers_parse_edid_caps() 133 sad_count = drm_edid_to_sad((struct edid *) edid->raw_edid, &sads); in dm_helpers_parse_edid_caps() 147 sadb_count = drm_edid_to_speaker_allocation((struct edid *) edid->raw_edid, &sadb); in dm_helpers_parse_edid_caps() 905 struct edid *edid; in dm_helpers_read_local_edid() local 928 if (!edid) in dm_helpers_read_local_edid() [all …]
|
| /linux/drivers/video/fbdev/nvidia/ |
| 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/video/fbdev/savage/ |
| 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/ |
| 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/ |
| 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()
|