Home
last modified time | relevance | path

Searched refs:edid (Results 1 – 25 of 181) sorted by relevance

12345678

/linux-6.15/drivers/media/i2c/adv748x/
H A Dadv748x-hdmi.c474 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-6.15/include/drm/
H A Ddrm_edid.h284 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-6.15/drivers/gpu/drm/
H A Ddrm_edid.c1700 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 …]
H A Ddrm_panel_backlight_quirks.c47 const struct drm_edid *edid) in drm_panel_min_backlight_quirk_matches() argument
52 if (!drm_edid_match(edid, &quirk->ident)) in drm_panel_min_backlight_quirk_matches()
71 int drm_get_panel_min_brightness_quirk(const struct drm_edid *edid) in drm_get_panel_min_brightness_quirk() argument
79 if (!edid) in drm_get_panel_min_brightness_quirk()
85 if (drm_panel_min_backlight_quirk_matches(quirk, edid)) in drm_get_panel_min_brightness_quirk()
/linux-6.15/drivers/gpu/drm/gma500/
H A Dpsb_intel_modes.c55 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()
H A Dcdv_intel_hdmi.c131 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 …]
H A Doaktrail_lvds.c299 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()
/linux-6.15/drivers/video/fbdev/core/
H A Dfbmon.c221 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 …]
H A Dfb_ddc.c57 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-6.15/include/media/
H A Dcec.h361 struct edid;
376 const struct edid *edid);
488 const struct edid *edid) in cec_s_phys_addr_from_edid() argument
561 if (edid[0x7e] + 1 < blocks) in cec_get_edid_spa_location()
562 blocks = edid[0x7e] + 1; in cec_get_edid_spa_location()
568 if (edid[offset] != 0x02 || edid[offset + 1] != 0x03) in cec_get_edid_spa_location()
572 d = edid[offset + 2] & 0x7f; in cec_get_edid_spa_location()
582 u8 tag = edid[i] >> 5; in cec_get_edid_spa_location()
583 u8 len = edid[i] & 0x1f; in cec_get_edid_spa_location()
586 edid[i + 1] == 0x03 && in cec_get_edid_spa_location()
[all …]
H A Dcec-notifier.h16 struct edid;
97 const struct edid *edid);
142 const struct edid *edid) in cec_notifier_set_phys_addr_from_edid() argument
/linux-6.15/drivers/media/test-drivers/vivid/
H A Dvivid-vid-common.c1077 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-6.15/drivers/media/cec/usb/extron-da-hd-4k-plus/
H A Dextron-da-hd-4k-plus.c252 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-6.15/Documentation/devicetree/bindings/media/i2c/
H A Dadv7604.yaml36 - 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 …]
H A Dadv748x.yaml38 - 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-6.15/drivers/gpu/drm/i915/gvt/
H A Dedid.c59 if (edid->state == I2C_NOT_SPECIFIED || !edid->target_selected) { in edid_get_byte()
68 if (!edid->edid_available) { in edid_get_byte()
75 intel_vgpu_port(vgpu, edid->port)->edid; in edid_get_byte()
78 edid->current_edid_read++; in edid_get_byte()
573 edid->state = I2C_NOT_SPECIFIED; in intel_vgpu_init_i2c_edid()
575 edid->port = -1; in intel_vgpu_init_i2c_edid()
576 edid->target_selected = false; in intel_vgpu_init_i2c_edid()
577 edid->edid_available = false; in intel_vgpu_init_i2c_edid()
578 edid->current_edid_read = 0; in intel_vgpu_init_i2c_edid()
582 edid->aux_ch.i2c_over_aux_ch = false; in intel_vgpu_init_i2c_edid()
[all …]
/linux-6.15/drivers/media/i2c/
H A Dadv7511-v4l2.c561 struct adv7511_state_edid *edid = &state->edid; in adv7511_log_status() local
591 edid->blocks); in adv7511_log_status()
1187 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv7511_get_edid()
1192 if (edid->start_block == 0 && edid->blocks == 0) { in adv7511_get_edid()
1193 edid->blocks = state->edid.blocks; in adv7511_get_edid()
1200 if (edid->start_block >= state->edid.blocks) in adv7511_get_edid()
1203 if (edid->start_block + edid->blocks > state->edid.blocks) in adv7511_get_edid()
1204 edid->blocks = state->edid.blocks - edid->start_block; in adv7511_get_edid()
1206 memcpy(edid->edid, &state->edid.data[edid->start_block * 128], in adv7511_get_edid()
1687 if (state->edid.blocks > state->edid.segments * 2) { in adv7511_check_edid_status()
[all …]
H A Dadv7604.c2292 data = state->edid.edid; in adv76xx_get_edid()
2309 if (edid->start_block + edid->blocks > state->edid.blocks) in adv76xx_get_edid()
2310 edid->blocks = state->edid.blocks - edid->start_block; in adv76xx_get_edid()
2312 memcpy(edid->edid, data + edid->start_block * 128, edid->blocks * 128); in adv76xx_get_edid()
2356 pa = v4l2_get_edid_phys_addr(edid->edid, edid->blocks * 128, &spa_loc); in adv76xx_set_edid()
2367 pa = (edid->edid[spa_loc] << 8) | edid->edid[spa_loc + 1]; in adv76xx_set_edid()
2410 memcpy(state->edid.edid, edid->edid, 128 * edid->blocks); in adv76xx_set_edid()
2411 state->edid.blocks = edid->blocks; in adv76xx_set_edid()
2413 edid->edid[0x16]); in adv76xx_set_edid()
2414 state->edid.present |= 1 << edid->pad; in adv76xx_set_edid()
[all …]
H A Dtda1997x.c276 } 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-6.15/drivers/gpu/drm/nouveau/
H A Dnouveau_connector.c551 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()
558 nv_connector->edid = edid; in nouveau_connector_set_edid()
689 struct edid *edid = NULL; in nouveau_connector_detect_lvds() local
700 edid = nv_connector->edid; in nouveau_connector_detect_lvds()
716 if (edid) { in nouveau_connector_detect_lvds()
736 edid = (struct edid *)nouveau_bios_embedded_edid(dev); in nouveau_connector_detect_lvds()
737 if (edid) { in nouveau_connector_detect_lvds()
738 edid = kmemdup(edid, EDID_LENGTH, GFP_KERNEL); in nouveau_connector_detect_lvds()
[all …]
/linux-6.15/drivers/gpu/drm/amd/display/amdgpu_dm/
H A Damdgpu_dm_helpers.c51 static u32 edid_extract_panel_id(struct edid *edid) in edid_extract_panel_id() argument
55 (u32)EDID_PRODUCT_ID(edid); in edid_extract_panel_id()
104 const struct dc_edid *edid, in dm_helpers_parse_edid_caps() argument
110 struct edid *edid_buf = edid ? (struct edid *) edid->raw_edid : NULL; in dm_helpers_parse_edid_caps()
119 if (!edid_caps || !edid) in dm_helpers_parse_edid_caps()
141 sad_count = drm_edid_to_sad((struct edid *) edid->raw_edid, &sads); in dm_helpers_parse_edid_caps()
155 sadb_count = drm_edid_to_speaker_allocation((struct edid *) edid->raw_edid, &sadb); in dm_helpers_parse_edid_caps()
922 struct edid *edid; in dm_helpers_probe_acpi_edid() local
940 if (edid->revision < 4 || !(edid->input & DRM_EDID_INPUT_DIGITAL) || in dm_helpers_probe_acpi_edid()
950 kfree(edid); in dm_helpers_probe_acpi_edid()
[all …]
/linux-6.15/drivers/video/fbdev/nvidia/
H A Dnv_i2c.c155 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-6.15/drivers/media/platform/synopsys/hdmirx/
H A Dsnps_hdmirx.c520 (const struct edid *)edid); in hdmirx_write_edid_data()
560 memset(edid->reserved, 0, sizeof(edid->reserved)); in hdmirx_write_edid()
561 memset(hdmirx_dev->edid, 0, sizeof(hdmirx_dev->edid)); in hdmirx_write_edid()
563 hdmirx_write_edid_data(hdmirx_dev, edid->edid, edid->blocks); in hdmirx_write_edid()
566 memcpy(hdmirx_dev->edid, edid->edid, edid->blocks * EDID_BLOCK_SIZE); in hdmirx_write_edid()
656 if (edid->pad) in hdmirx_set_edid()
668 phys_addr = cec_get_edid_phys_addr(edid->edid, in hdmirx_set_edid()
704 memset(edid->reserved, 0, sizeof(edid->reserved)); in hdmirx_get_edid()
709 if (!edid->start_block && !edid->blocks) { in hdmirx_get_edid()
723 memcpy(edid->edid, hdmirx_dev->edid, edid->blocks * EDID_BLOCK_SIZE); in hdmirx_get_edid()
[all …]
/linux-6.15/drivers/video/fbdev/savage/
H A Dsavagefb-i2c.c221 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-6.15/drivers/media/cec/core/
H A Dcec-notifier.c205 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()

12345678