Home
last modified time | relevance | path

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

/linux-4.4.14/drivers/gpu/drm/
Ddrm_edid_load.c155 static int edid_size(const u8 *edid, int data_size) in edid_size() argument
160 return (edid[0x7e] + 1) * EDID_LENGTH; in edid_size()
168 u8 *edid; in edid_load() local
209 edid = ERR_PTR(-EINVAL); in edid_load()
213 edid = kmemdup(fwdata, fwsize, GFP_KERNEL); in edid_load()
214 if (edid == NULL) { in edid_load()
215 edid = ERR_PTR(-ENOMEM); in edid_load()
219 if (!drm_edid_block_valid(edid, 0, print_bad_edid, in edid_load()
224 kfree(edid); in edid_load()
225 edid = ERR_PTR(-EINVAL); in edid_load()
[all …]
Ddrm_edid.c39 #define version_greater(edid, maj, min) \ argument
40 (((edid)->version > (maj)) || \
41 ((edid)->version == (maj) && (edid)->revision > (min)))
79 struct edid *edid; member
1051 struct edid *edid);
1087 struct edid *edid = (struct edid *)raw_edid; in drm_edid_block_valid() local
1134 if (edid->version != 1) { in drm_edid_block_valid()
1135 DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); in drm_edid_block_valid()
1139 if (edid->revision > 4) in drm_edid_block_valid()
1171 bool drm_edid_is_valid(struct edid *edid) in drm_edid_is_valid() argument
[all …]
Ddrm_debugfs.c310 struct drm_property_blob *edid = connector->edid_blob_ptr; in edid_show() local
312 if (connector->override_edid && edid) in edid_show()
313 seq_write(m, edid->data, edid->length); in edid_show()
331 struct edid *edid; in edid_write() local
338 edid = (struct edid *) buf; in edid_write()
344 EDID_LENGTH * (1 + edid->extensions) > len) in edid_write()
348 ret = drm_mode_connector_update_edid_property(connector, edid); in edid_write()
Ddrm_probe_helper.c208 struct edid *edid = (struct edid *) connector->edid_blob_ptr->data; in drm_helper_probe_single_connector_modes_merge_bits() local
210 count = drm_add_edid_modes(connector, edid); in drm_helper_probe_single_connector_modes_merge_bits()
211 drm_edid_to_eld(connector, edid); in drm_helper_probe_single_connector_modes_merge_bits()
Ddrm_sysfs.c257 unsigned char *edid; in edid_show() local
263 edid = connector->edid_blob_ptr->data; in edid_show()
265 if (!edid) in edid_show()
273 memcpy(buf, edid + off, count); in edid_show()
Ddrm_dp_mst_topology.c2415 struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *m… in drm_dp_mst_get_edid()
2417 struct edid *edid = NULL; in drm_dp_mst_get_edid() local
2425 edid = drm_edid_duplicate(port->cached_edid); in drm_dp_mst_get_edid()
2427 edid = drm_get_edid(connector, &port->aux.ddc); in drm_dp_mst_get_edid()
2431 return edid; in drm_dp_mst_get_edid()
Ddrm_crtc.c4690 const struct edid *edid) in drm_mode_connector_update_edid_property() argument
4700 if (edid) in drm_mode_connector_update_edid_property()
4701 size = EDID_LENGTH * (1 + edid->extensions); in drm_mode_connector_update_edid_property()
4706 edid, in drm_mode_connector_update_edid_property()
/linux-4.4.14/drivers/gpu/drm/i915/
Dintel_modes.c40 struct edid *edid) in intel_connector_update_modes() argument
44 drm_mode_connector_update_edid_property(connector, edid); in intel_connector_update_modes()
45 ret = drm_add_edid_modes(connector, edid); in intel_connector_update_modes()
46 drm_edid_to_eld(connector, edid); in intel_connector_update_modes()
61 struct edid *edid; in intel_ddc_get_modes() local
64 edid = drm_get_edid(connector, adapter); in intel_ddc_get_modes()
65 if (!edid) in intel_ddc_get_modes()
68 ret = intel_connector_update_modes(connector, edid); in intel_ddc_get_modes()
69 kfree(edid); in intel_ddc_get_modes()
Dintel_crt.c408 static struct edid *intel_crt_get_edid(struct drm_connector *connector, in intel_crt_get_edid()
411 struct edid *edid; in intel_crt_get_edid() local
413 edid = drm_get_edid(connector, i2c); in intel_crt_get_edid()
415 if (!edid && !intel_gmbus_is_forced_bit(i2c)) { in intel_crt_get_edid()
418 edid = drm_get_edid(connector, i2c); in intel_crt_get_edid()
422 return edid; in intel_crt_get_edid()
429 struct edid *edid; in intel_crt_ddc_get_modes() local
432 edid = intel_crt_get_edid(connector, adapter); in intel_crt_ddc_get_modes()
433 if (!edid) in intel_crt_ddc_get_modes()
436 ret = intel_connector_update_modes(connector, edid); in intel_crt_ddc_get_modes()
[all …]
Dintel_sdvo.c1617 static struct edid *
1625 static struct edid *
1640 struct edid *edid; in intel_sdvo_tmds_sink_detect() local
1642 edid = intel_sdvo_get_edid(connector); in intel_sdvo_tmds_sink_detect()
1644 if (edid == NULL && intel_sdvo_multifunc_encoder(intel_sdvo)) { in intel_sdvo_tmds_sink_detect()
1653 edid = intel_sdvo_get_edid(connector); in intel_sdvo_tmds_sink_detect()
1654 if (edid) in intel_sdvo_tmds_sink_detect()
1661 if (edid == NULL) in intel_sdvo_tmds_sink_detect()
1669 if (edid == NULL) in intel_sdvo_tmds_sink_detect()
1670 edid = intel_sdvo_get_analog_edid(connector); in intel_sdvo_tmds_sink_detect()
[all …]
Dintel_lvds.c390 if (!IS_ERR_OR_NULL(lvds_connector->base.edid)) in intel_lvds_get_modes()
391 return drm_add_edid_modes(connector, lvds_connector->base.edid); in intel_lvds_get_modes()
500 if (!IS_ERR_OR_NULL(lvds_connector->base.edid)) in intel_lvds_destroy()
501 kfree(lvds_connector->base.edid); in intel_lvds_destroy()
940 struct edid *edid; in intel_lvds_init() local
1083 edid = drm_get_edid(connector, intel_gmbus_get_adapter(dev_priv, pin)); in intel_lvds_init()
1084 if (edid) { in intel_lvds_init()
1085 if (drm_add_edid_modes(connector, edid)) { in intel_lvds_init()
1087 edid); in intel_lvds_init()
1089 kfree(edid); in intel_lvds_init()
[all …]
Dintel_dp_mst.c294 struct edid *edid; in intel_dp_mst_get_ddc_modes() local
297 edid = drm_dp_mst_get_edid(connector, &intel_dp->mst_mgr, intel_connector->port); in intel_dp_mst_get_ddc_modes()
298 if (!edid) in intel_dp_mst_get_ddc_modes()
301 ret = intel_connector_update_modes(connector, edid); in intel_dp_mst_get_ddc_modes()
302 kfree(edid); in intel_dp_mst_get_ddc_modes()
329 if (!IS_ERR_OR_NULL(intel_connector->edid)) in intel_dp_mst_connector_destroy()
330 kfree(intel_connector->edid); in intel_dp_mst_connector_destroy()
Dintel_hdmi.c1338 struct edid *edid = NULL; in intel_hdmi_set_edid() local
1344 edid = drm_get_edid(connector, in intel_hdmi_set_edid()
1350 to_intel_connector(connector)->detect_edid = edid; in intel_hdmi_set_edid()
1351 if (edid && edid->input & DRM_EDID_INPUT_DIGITAL) { in intel_hdmi_set_edid()
1353 drm_rgb_quant_range_selectable(edid); in intel_hdmi_set_edid()
1355 intel_hdmi->has_audio = drm_detect_monitor_audio(edid); in intel_hdmi_set_edid()
1362 drm_detect_hdmi_monitor(edid); in intel_hdmi_set_edid()
1436 struct edid *edid; in intel_hdmi_get_modes() local
1438 edid = to_intel_connector(connector)->detect_edid; in intel_hdmi_get_modes()
1439 if (edid == NULL) in intel_hdmi_get_modes()
[all …]
Dintel_dp.c4282 struct edid *block = intel_connector->detect_edid; in intel_dp_autotest_edid()
4722 static struct edid *
4728 if (intel_connector->edid) { in intel_dp_get_edid()
4730 if (IS_ERR(intel_connector->edid)) in intel_dp_get_edid()
4733 return drm_edid_duplicate(intel_connector->edid); in intel_dp_get_edid()
4743 struct edid *edid; in intel_dp_set_edid() local
4745 edid = intel_dp_get_edid(intel_dp); in intel_dp_set_edid()
4746 intel_connector->detect_edid = edid; in intel_dp_set_edid()
4751 intel_dp->has_audio = drm_detect_monitor_audio(edid); in intel_dp_set_edid()
4867 struct edid *edid; in intel_dp_get_modes() local
[all …]
Dintel_drv.h223 struct edid *edid; member
224 struct edid *detect_edid;
1311 struct edid *edid);
/linux-4.4.14/drivers/video/fbdev/core/
Dfbmon.c145 static int check_edid(unsigned char *edid) in check_edid() argument
147 unsigned char *block = edid + ID_MANUFACTURER_NAME, manufacturer[4]; in check_edid()
170 if (edid[i] != edid_v1_header[i]) { in check_edid()
177 b = edid + EDID_STRUCT_DISPLAY; in check_edid()
184 b = edid + DETAILED_TIMING_DESCRIPTIONS_START; in check_edid()
207 static void fix_edid(unsigned char *edid, int fix) in fix_edid() argument
215 memcpy(edid, edid_v1_header, 8); in fix_edid()
219 b = edid + EDID_STRUCT_DISPLAY; in fix_edid()
221 edid[127] += 0x80; in fix_edid()
225 b = edid + DETAILED_TIMING_DESCRIPTIONS_START; in fix_edid()
[all …]
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()
120 return edid; in fb_ddc_read()
/linux-4.4.14/drivers/gpu/drm/udl/
Dudl_connector.c60 struct edid *edid; in udl_get_modes() local
63 edid = (struct edid *)udl_get_edid(udl); in udl_get_modes()
64 if (!edid) { in udl_get_modes()
74 edid->checksum += edid->extensions; in udl_get_modes()
75 edid->extensions = 0; in udl_get_modes()
77 drm_mode_connector_update_edid_property(connector, edid); in udl_get_modes()
78 ret = drm_add_edid_modes(connector, edid); in udl_get_modes()
79 kfree(edid); in udl_get_modes()
/linux-4.4.14/drivers/gpu/drm/gma500/
Dpsb_intel_modes.c65 struct edid *edid; in psb_intel_ddc_get_modes() local
68 edid = drm_get_edid(connector, adapter); in psb_intel_ddc_get_modes()
69 if (edid) { in psb_intel_ddc_get_modes()
70 drm_mode_connector_update_edid_property(connector, edid); in psb_intel_ddc_get_modes()
71 ret = drm_add_edid_modes(connector, edid); in psb_intel_ddc_get_modes()
72 kfree(edid); in psb_intel_ddc_get_modes()
Dcdv_intel_hdmi.c132 struct edid *edid = NULL; in cdv_hdmi_detect() local
135 edid = drm_get_edid(connector, &gma_encoder->i2c_bus->adapter); 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()
214 struct edid *edid = NULL; in cdv_hdmi_get_modes() local
217 edid = drm_get_edid(connector, &gma_encoder->i2c_bus->adapter); in cdv_hdmi_get_modes()
218 if (edid) { in cdv_hdmi_get_modes()
[all …]
Doaktrail_lvds.c306 struct edid *edid; in oaktrail_lvds_init() local
362 edid = NULL; in oaktrail_lvds_init()
366 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()
378 if (edid) { in oaktrail_lvds_init()
379 drm_mode_connector_update_edid_property(connector, edid); in oaktrail_lvds_init()
380 drm_add_edid_modes(connector, edid); in oaktrail_lvds_init()
381 kfree(edid); in oaktrail_lvds_init()
Dpsb_intel_sdvo.c1300 static struct edid *
1308 static struct edid *
1322 struct edid *edid; in psb_intel_sdvo_hdmi_sink_detect() local
1324 edid = psb_intel_sdvo_get_edid(connector); in psb_intel_sdvo_hdmi_sink_detect()
1326 if (edid == NULL && psb_intel_sdvo_multifunc_encoder(psb_intel_sdvo)) { in psb_intel_sdvo_hdmi_sink_detect()
1335 edid = psb_intel_sdvo_get_edid(connector); in psb_intel_sdvo_hdmi_sink_detect()
1336 if (edid) in psb_intel_sdvo_hdmi_sink_detect()
1343 if (edid == NULL) in psb_intel_sdvo_hdmi_sink_detect()
1351 if (edid == NULL) in psb_intel_sdvo_hdmi_sink_detect()
1352 edid = psb_intel_sdvo_get_analog_edid(connector); in psb_intel_sdvo_hdmi_sink_detect()
[all …]
Dcdv_intel_dp.c1733 struct edid *edid = NULL; in cdv_intel_dp_detect() local
1750 edid = drm_get_edid(connector, &intel_dp->adapter); in cdv_intel_dp_detect()
1751 if (edid) { in cdv_intel_dp_detect()
1752 intel_dp->has_audio = drm_detect_monitor_audio(edid); in cdv_intel_dp_detect()
1753 kfree(edid); in cdv_intel_dp_detect()
1766 struct edid *edid = NULL; in cdv_intel_dp_get_modes() local
1771 edid = drm_get_edid(connector, &intel_dp->adapter); in cdv_intel_dp_get_modes()
1772 if (edid) { in cdv_intel_dp_get_modes()
1773 drm_mode_connector_update_edid_property(connector, edid); in cdv_intel_dp_get_modes()
1774 ret = drm_add_edid_modes(connector, edid); in cdv_intel_dp_get_modes()
[all …]
Doaktrail_hdmi.c563 struct edid *edid; in oaktrail_hdmi_get_modes() local
574 edid = (struct edid *)raw_edid; in oaktrail_hdmi_get_modes()
576 edid = (struct edid *)raw_edid; in oaktrail_hdmi_get_modes()
580 if (edid) { in oaktrail_hdmi_get_modes()
581 drm_mode_connector_update_edid_property(connector, edid); in oaktrail_hdmi_get_modes()
582 ret = drm_add_edid_modes(connector, edid); in oaktrail_hdmi_get_modes()
/linux-4.4.14/drivers/gpu/drm/tegra/
Doutput.c17 struct edid *edid = NULL; in tegra_output_connector_get_modes() local
30 if (output->edid) in tegra_output_connector_get_modes()
31 edid = kmemdup(output->edid, sizeof(*edid), GFP_KERNEL); in tegra_output_connector_get_modes()
33 edid = drm_get_edid(connector, output->ddc); in tegra_output_connector_get_modes()
35 drm_mode_connector_update_edid_property(connector, edid); in tegra_output_connector_get_modes()
37 if (edid) { in tegra_output_connector_get_modes()
38 err = drm_add_edid_modes(connector, edid); in tegra_output_connector_get_modes()
39 kfree(edid); in tegra_output_connector_get_modes()
119 output->edid = of_get_property(output->of_node, "nvidia,edid", &size); in tegra_output_probe()
Ddrm.h209 const struct edid *edid; member
Dhdmi.c765 struct edid *edid; in tegra_output_is_hdmi() local
770 edid = (struct edid *)output->connector.edid_blob_ptr->data; in tegra_output_is_hdmi()
772 return drm_detect_hdmi_monitor(edid); in tegra_output_is_hdmi()
/linux-4.4.14/drivers/media/i2c/
Dad9389b.c98 struct ad9389b_state_edid edid; member
356 struct ad9389b_state_edid *edid = &state->edid; in ad9389b_log_status() local
389 edid->segments ? "found" : "no", edid->blocks); in ad9389b_log_status()
677 static int ad9389b_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in ad9389b_get_edid() argument
681 if (edid->pad != 0) in ad9389b_get_edid()
683 if (edid->blocks == 0 || edid->blocks > 256) in ad9389b_get_edid()
685 if (!state->edid.segments) { in ad9389b_get_edid()
689 if (edid->start_block >= state->edid.segments * 2) in ad9389b_get_edid()
691 if (edid->blocks + edid->start_block >= state->edid.segments * 2) in ad9389b_get_edid()
692 edid->blocks = state->edid.segments * 2 - edid->start_block; in ad9389b_get_edid()
[all …]
Dadv7511.c114 struct adv7511_state_edid edid; member
526 struct adv7511_state_edid *edid = &state->edid; in adv7511_log_status() local
554 edid->segments ? "found" : "no", in adv7511_log_status()
555 edid->blocks); in adv7511_log_status()
892 static int adv7511_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv7511_get_edid() argument
896 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv7511_get_edid()
898 if (edid->pad != 0) in adv7511_get_edid()
901 if (edid->start_block == 0 && edid->blocks == 0) { in adv7511_get_edid()
902 edid->blocks = state->edid.segments * 2; in adv7511_get_edid()
906 if (state->edid.segments == 0) in adv7511_get_edid()
[all …]
Dadv7604.c180 u8 edid[256]; member
183 } edid; member
570 adv76xx_set_hpd(state, state->edid.present); in adv76xx_delayed_work_enable_hotplug()
1973 static int adv76xx_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv76xx_get_edid() argument
1978 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv76xx_get_edid()
1980 switch (edid->pad) { in adv76xx_get_edid()
1985 if (state->edid.present & (1 << edid->pad)) in adv76xx_get_edid()
1986 data = state->edid.edid; in adv76xx_get_edid()
1992 if (edid->start_block == 0 && edid->blocks == 0) { in adv76xx_get_edid()
1993 edid->blocks = data ? state->edid.blocks : 0; in adv76xx_get_edid()
[all …]
Dtc358743.c1551 struct v4l2_subdev_edid *edid) in tc358743_g_edid() argument
1555 if (edid->pad != 0) in tc358743_g_edid()
1558 if (edid->start_block == 0 && edid->blocks == 0) { in tc358743_g_edid()
1559 edid->blocks = state->edid_blocks_written; in tc358743_g_edid()
1566 if (edid->start_block >= state->edid_blocks_written || in tc358743_g_edid()
1567 edid->blocks == 0) in tc358743_g_edid()
1570 if (edid->start_block + edid->blocks > state->edid_blocks_written) in tc358743_g_edid()
1571 edid->blocks = state->edid_blocks_written - edid->start_block; in tc358743_g_edid()
1573 i2c_rd(sd, EDID_RAM + (edid->start_block * EDID_BLOCK_SIZE), edid->edid, in tc358743_g_edid()
1574 edid->blocks * EDID_BLOCK_SIZE); in tc358743_g_edid()
[all …]
Dadv7842.c111 u8 edid[256]; member
115 u8 edid[256]; member
722 const u8 *val = state->vga_edid.edid; in edid_write_vga_segment()
765 static int edid_spa_location(const u8 *edid) in edid_spa_location() argument
774 if ((edid[0x7e] != 1) || in edid_spa_location()
775 (edid[0x80] != 0x02) || in edid_spa_location()
776 (edid[0x81] != 0x03)) { in edid_spa_location()
782 d = edid[0x82] & 0x7f; in edid_spa_location()
787 u8 tag = edid[i]>>5; in edid_spa_location()
788 u8 len = edid[i] & 0x1f; in edid_spa_location()
[all …]
/linux-4.4.14/drivers/gpu/drm/bridge/
Dnxp-ptn3460.c43 struct edid *edid; member
201 u8 *edid; in ptn3460_get_modes() local
207 if (ptn_bridge->edid) in ptn3460_get_modes()
208 return drm_add_edid_modes(connector, ptn_bridge->edid); in ptn3460_get_modes()
213 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in ptn3460_get_modes()
214 if (!edid) { in ptn3460_get_modes()
219 ret = ptn3460_read_bytes(ptn_bridge, PTN3460_EDID_ADDR, edid, in ptn3460_get_modes()
222 kfree(edid); in ptn3460_get_modes()
226 ptn_bridge->edid = (struct edid *)edid; in ptn3460_get_modes()
227 drm_mode_connector_update_edid_property(connector, ptn_bridge->edid); in ptn3460_get_modes()
[all …]
Ddw_hdmi.c119 u8 edid[HDMI_EDID_LEN]; member
1447 struct edid *edid; in dw_hdmi_connector_get_modes() local
1453 edid = drm_get_edid(connector, hdmi->ddc); in dw_hdmi_connector_get_modes()
1454 if (edid) { in dw_hdmi_connector_get_modes()
1456 edid->width_cm, edid->height_cm); in dw_hdmi_connector_get_modes()
1458 hdmi->sink_is_hdmi = drm_detect_hdmi_monitor(edid); in dw_hdmi_connector_get_modes()
1459 hdmi->sink_has_audio = drm_detect_monitor_audio(edid); in dw_hdmi_connector_get_modes()
1460 drm_mode_connector_update_edid_property(connector, edid); in dw_hdmi_connector_get_modes()
1461 ret = drm_add_edid_modes(connector, edid); in dw_hdmi_connector_get_modes()
1463 drm_edid_to_eld(connector, edid); in dw_hdmi_connector_get_modes()
[all …]
/linux-4.4.14/drivers/gpu/drm/exynos/
Dexynos_drm_vidi.c44 struct edid *raw_edid;
248 ctx->raw_edid = (struct edid *)fake_edid_info; in vidi_store_connection()
251 if (ctx->raw_edid != (struct edid *)fake_edid_info) { in vidi_store_connection()
288 struct edid *raw_edid = (struct edid *)(uint32_t)vidi->edid; in vidi_connection_ioctl()
304 (struct edid *)fake_edid_info) { in vidi_connection_ioctl()
346 struct edid *edid; in vidi_get_modes() local
359 edid = kmemdup(ctx->raw_edid, edid_len, GFP_KERNEL); in vidi_get_modes()
360 if (!edid) { in vidi_get_modes()
365 drm_mode_connector_update_edid_property(connector, edid); in vidi_get_modes()
367 return drm_add_edid_modes(connector, edid); in vidi_get_modes()
[all …]
Dexynos_dp_core.c104 unsigned char edid[EDID_BLOCK_LENGTH * 2]; in exynos_dp_read_edid() local
130 &edid[EDID_HEADER_PATTERN]); in exynos_dp_read_edid()
135 sum = exynos_dp_calc_edid_check_sum(edid); in exynos_dp_read_edid()
146 &edid[EDID_BLOCK_LENGTH]); in exynos_dp_read_edid()
151 sum = exynos_dp_calc_edid_check_sum(&edid[EDID_BLOCK_LENGTH]); in exynos_dp_read_edid()
162 edid[EDID_BLOCK_LENGTH + EDID_CHECKSUM]); in exynos_dp_read_edid()
175 &edid[EDID_HEADER_PATTERN]); in exynos_dp_read_edid()
180 sum = exynos_dp_calc_edid_check_sum(edid); in exynos_dp_read_edid()
192 edid[EDID_CHECKSUM]); in exynos_dp_read_edid()
Dexynos_hdmi.c972 struct edid *edid; in hdmi_get_modes() local
978 edid = drm_get_edid(connector, hdata->ddc_adpt); in hdmi_get_modes()
979 if (!edid) in hdmi_get_modes()
982 hdata->dvi_mode = !drm_detect_hdmi_monitor(edid); in hdmi_get_modes()
985 edid->width_cm, edid->height_cm); in hdmi_get_modes()
987 drm_mode_connector_update_edid_property(connector, edid); in hdmi_get_modes()
989 ret = drm_add_edid_modes(connector, edid); in hdmi_get_modes()
991 kfree(edid); in hdmi_get_modes()
Dexynos_dp_core.h218 unsigned char edid[]);
Dexynos_dp_reg.c786 unsigned char edid[]) in exynos_dp_read_bytes_from_i2c() argument
848 edid[i + cur_data_idx] = (unsigned char)reg; in exynos_dp_read_bytes_from_i2c()
/linux-4.4.14/drivers/media/platform/vivid/
Dvivid-vid-common.c872 struct v4l2_edid *edid) in vidioc_g_edid() argument
877 memset(edid->reserved, 0, sizeof(edid->reserved)); in vidioc_g_edid()
879 if (edid->pad >= dev->num_inputs) in vidioc_g_edid()
881 if (dev->input_type[edid->pad] != HDMI) in vidioc_g_edid()
884 if (edid->pad >= dev->num_outputs) in vidioc_g_edid()
886 if (dev->output_type[edid->pad] != HDMI) in vidioc_g_edid()
889 if (edid->start_block == 0 && edid->blocks == 0) { in vidioc_g_edid()
890 edid->blocks = dev->edid_blocks; in vidioc_g_edid()
895 if (edid->start_block >= dev->edid_blocks) in vidioc_g_edid()
897 if (edid->start_block + edid->blocks > dev->edid_blocks) in vidioc_g_edid()
[all …]
Dvivid-vid-cap.c1704 struct v4l2_edid *edid) in vidioc_s_edid() argument
1708 memset(edid->reserved, 0, sizeof(edid->reserved)); in vidioc_s_edid()
1709 if (edid->pad >= dev->num_inputs) in vidioc_s_edid()
1711 if (dev->input_type[edid->pad] != HDMI || edid->start_block) in vidioc_s_edid()
1713 if (edid->blocks == 0) { in vidioc_s_edid()
1717 if (edid->blocks > dev->edid_max_blocks) { in vidioc_s_edid()
1718 edid->blocks = dev->edid_max_blocks; in vidioc_s_edid()
1721 dev->edid_blocks = edid->blocks; in vidioc_s_edid()
1722 memcpy(dev->edid, edid->edid, edid->blocks * 128); in vidioc_s_edid()
Dvivid-vid-common.h58 int vidioc_g_edid(struct file *file, void *_fh, struct v4l2_edid *edid);
Dvivid-vid-cap.h65 int vidioc_s_edid(struct file *file, void *_fh, struct v4l2_edid *edid);
Dvivid-core.c641 vfree(dev->edid); in vivid_dev_release()
854 dev->edid = vmalloc(256 * 128); in vivid_create_instance()
855 if (!dev->edid) in vivid_create_instance()
984 memcpy(dev->edid, vivid_hdmi_edid, sizeof(vivid_hdmi_edid)); in vivid_create_instance()
Dvivid-core.h308 u8 *edid; member
/linux-4.4.14/drivers/gpu/drm/nouveau/
Dnouveau_connector.c104 kfree(nv_connector->edid); in nouveau_connector_destroy()
181 const void *edid = of_get_property(cn, "EDID", NULL); in nouveau_connector_of_detect() local
184 if (nv_encoder->dcb->i2c_index == idx && edid) { in nouveau_connector_of_detect()
185 nv_connector->edid = in nouveau_connector_of_detect()
186 kmemdup(edid, EDID_LENGTH, GFP_KERNEL); in nouveau_connector_of_detect()
250 if (nv_connector->edid) { in nouveau_connector_detect()
252 kfree(nv_connector->edid); in nouveau_connector_detect()
253 nv_connector->edid = NULL; in nouveau_connector_detect()
262 nv_connector->edid = drm_get_edid(connector, i2c); in nouveau_connector_detect()
264 nv_connector->edid); in nouveau_connector_detect()
[all …]
Dnouveau_connector.h81 struct edid *edid; member
Dnouveau_acpi.c404 void *edid; in nouveau_acpi_edid() local
423 ret = acpi_video_get_edid(acpidev, type, -1, &edid); in nouveau_acpi_edid()
427 return kmemdup(edid, EDID_LENGTH, GFP_KERNEL); in nouveau_acpi_edid()
Dnouveau_bios.h133 uint8_t *edid; member
Dnv50_display.c776 nv_connector->edid && in nv50_crtc_set_scale()
777 drm_detect_hdmi_monitor(nv_connector->edid)))) { in nv50_crtc_set_scale()
1752 if (!drm_detect_monitor_audio(nv_connector->edid)) in nv50_audio_mode_set()
1755 drm_edid_to_eld(&nv_connector->base, nv_connector->edid); in nv50_audio_mode_set()
1806 if (!drm_detect_hdmi_monitor(nv_connector->edid)) in nv50_hdmi_mode_set()
1984 if (((u8 *)nv_connector->edid)[121] == 2) in nv50_sor_mode_set()
Dnouveau_bios.c1988 if (bios->fp.edid) in nouveau_bios_embedded_edid()
1989 return bios->fp.edid; in nouveau_bios_embedded_edid()
2006 return bios->fp.edid = &bios->data[offset]; in nouveau_bios_embedded_edid()
/linux-4.4.14/drivers/video/fbdev/nvidia/
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()
Dnv_proto.h42 #define nvidia_probe_i2c_connector(p, c, edid) (-1) argument
/linux-4.4.14/include/drm/
Ddrm_edid.h269 struct edid { struct
325 void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid); argument
326 int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads);
327 int drm_edid_to_speaker_allocation(struct edid *edid, u8 **sadb);
406 struct edid *drm_do_get_edid(struct drm_connector *connector,
Ddrm_crtc.h1293 extern struct edid *drm_get_edid(struct drm_connector *connector,
1295 extern struct edid *drm_edid_duplicate(const struct edid *edid);
1296 extern int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid);
1305 const struct edid *edid);
1448 extern bool drm_detect_hdmi_monitor(struct edid *edid);
1449 extern bool drm_detect_monitor_audio(struct edid *edid);
1450 extern bool drm_rgb_quant_range_selectable(struct edid *edid);
1461 extern bool drm_edid_is_valid(struct edid *edid);
Ddrm_dp_mst_helper.h90 struct edid *cached_edid; /* for DP logical ports - make tiling work */
480 struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *m…
/linux-4.4.14/drivers/video/fbdev/savage/
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()
Dsavagefb.h198 unsigned char *edid; member
Dsavagefb_driver.c2215 savagefb_probe_i2c_connector(info, &par->edid); in savagefb_probe()
2216 fb_edid_to_monspecs(par->edid, &info->monspecs); in savagefb_probe()
2217 kfree(par->edid); in savagefb_probe()
/linux-4.4.14/drivers/gpu/drm/amd/amdgpu/
Damdgpu_connectors.c270 struct edid *amdgpu_connector_edid(struct drm_connector *connector) in amdgpu_connector_edid()
275 if (amdgpu_connector->edid) { in amdgpu_connector_edid()
276 return amdgpu_connector->edid; in amdgpu_connector_edid()
278 struct edid *edid = kmemdup(edid_blob->data, edid_blob->length, GFP_KERNEL); in amdgpu_connector_edid() local
279 if (edid) in amdgpu_connector_edid()
280 amdgpu_connector->edid = edid; in amdgpu_connector_edid()
282 return amdgpu_connector->edid; in amdgpu_connector_edid()
285 static struct edid *
288 struct edid *edid; in amdgpu_connector_get_hardcoded_edid() local
291 edid = kmalloc(adev->mode_info.bios_hardcoded_edid_size, GFP_KERNEL); in amdgpu_connector_get_hardcoded_edid()
[all …]
Damdgpu_connectors.h27 struct edid *amdgpu_connector_edid(struct drm_connector *connector);
Damdgpu_mode.h326 struct edid *bios_hardcoded_edid;
511 struct edid *edid; member
Datombios_encoders.c2011 struct edid *edid; in amdgpu_atombios_encoder_get_lcd_info() local
2014 edid = kmalloc(edid_size, GFP_KERNEL); in amdgpu_atombios_encoder_get_lcd_info()
2015 if (edid) { in amdgpu_atombios_encoder_get_lcd_info()
2016 memcpy((u8 *)edid, (u8 *)&fake_edid_record->ucFakeEDIDString[0], in amdgpu_atombios_encoder_get_lcd_info()
2019 if (drm_edid_is_valid(edid)) { in amdgpu_atombios_encoder_get_lcd_info()
2020 adev->mode_info.bios_hardcoded_edid = edid; in amdgpu_atombios_encoder_get_lcd_info()
2023 kfree(edid); in amdgpu_atombios_encoder_get_lcd_info()
/linux-4.4.14/drivers/video/fbdev/aty/
Dradeon_i2c.c143 u8 *edid; in radeon_probe_i2c_connector() local
145 edid = fb_ddc_read(&rinfo->i2c[conn-1].adapter); in radeon_probe_i2c_connector()
148 *out_edid = edid; in radeon_probe_i2c_connector()
149 if (!edid) { in radeon_probe_i2c_connector()
153 if (edid[0x14] & 0x80) { in radeon_probe_i2c_connector()
Dradeon_base.c2214 static ssize_t radeon_show_one_edid(char *buf, loff_t off, size_t count, const u8 *edid) in radeon_show_one_edid() argument
2216 return memory_read_from_buffer(buf, count, &off, edid, EDID_LENGTH); in radeon_show_one_edid()
/linux-4.4.14/drivers/gpu/drm/i2c/
Dadv7511.c46 struct edid *edid; member
242 if (adv7511->edid) in adv7511_set_config_csc()
243 config.hdmi_mode = drm_detect_hdmi_monitor(adv7511->edid); in adv7511_set_config_csc()
565 struct edid *edid; in adv7511_get_modes() local
579 edid = drm_do_get_edid(connector, adv7511_get_edid_block, adv7511); in adv7511_get_modes()
586 kfree(adv7511->edid); in adv7511_get_modes()
587 adv7511->edid = edid; in adv7511_get_modes()
588 if (!edid) in adv7511_get_modes()
591 drm_mode_connector_update_edid_property(connector, edid); in adv7511_get_modes()
592 count = drm_add_edid_modes(connector, edid); in adv7511_get_modes()
[all …]
Dtda998x_drv.c1151 struct edid *edid; in tda998x_connector_get_modes() local
1165 edid = drm_do_get_edid(connector, read_edid_block, priv); in tda998x_connector_get_modes()
1170 if (!edid) { in tda998x_connector_get_modes()
1175 drm_mode_connector_update_edid_property(connector, edid); in tda998x_connector_get_modes()
1176 n = drm_add_edid_modes(connector, edid); in tda998x_connector_get_modes()
1177 priv->is_hdmi_sink = drm_detect_hdmi_monitor(edid); in tda998x_connector_get_modes()
1178 kfree(edid); in tda998x_connector_get_modes()
/linux-4.4.14/drivers/media/v4l2-core/
Dv4l2-subdev.c167 static int check_edid(struct v4l2_subdev *sd, struct v4l2_subdev_edid *edid) in check_edid() argument
169 if (edid->pad >= sd->entity.num_pads) in check_edid()
172 if (edid->blocks && edid->edid == NULL) in check_edid()
403 struct v4l2_subdev_edid *edid = arg; in subdev_do_ioctl() local
405 rval = check_edid(sd, edid); in subdev_do_ioctl()
409 return v4l2_subdev_call(sd, pad, get_edid, edid); in subdev_do_ioctl()
413 struct v4l2_subdev_edid *edid = arg; in subdev_do_ioctl() local
415 rval = check_edid(sd, edid); in subdev_do_ioctl()
419 return v4l2_subdev_call(sd, pad, set_edid, edid); in subdev_do_ioctl()
Dv4l2-compat-ioctl32.c788 compat_caddr_t edid; member
799 get_user(tmp, &up->edid) || in get_v4l2_edid32()
802 kp->edid = (__force u8 *)compat_ptr(tmp); in get_v4l2_edid32()
808 u32 tmp = (u32)((unsigned long)kp->edid); in put_v4l2_edid32()
814 put_user(tmp, &up->edid) || in put_v4l2_edid32()
Dv4l2-ioctl.c2670 struct v4l2_edid *edid = parg; in check_array_args() local
2672 if (edid->blocks) { in check_array_args()
2673 if (edid->blocks > 256) { in check_array_args()
2677 *user_ptr = (void __user *)edid->edid; in check_array_args()
2678 *kernel_ptr = (void **)&edid->edid; in check_array_args()
2679 *array_size = edid->blocks * 128; in check_array_args()
/linux-4.4.14/drivers/video/fbdev/i810/
Di810-i2c.c158 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()
Di810.h270 u8 *edid; member
Di810_main.c1915 err = i810_probe_i2c_connector(info, &par->edid, i); in i810fb_find_init_mode()
1923 fb_edid_to_monspecs(par->edid, specs); in i810fb_find_init_mode()
2115 kfree(par->edid); in i810fb_release_resource()
/linux-4.4.14/drivers/video/fbdev/via/
Dvia_aux_edid.c36 unsigned char edid[EDID_LENGTH]; in query_edid() local
48 if (via_aux_read(drv, 0x00, edid, EDID_LENGTH)) { in query_edid()
49 fb_edid_to_monspecs(edid, spec); in query_edid()
/linux-4.4.14/drivers/gpu/drm/omapdrm/
Domap_connector.c167 void *edid = kzalloc(MAX_EDID, GFP_KERNEL); in omap_connector_get_modes() local
169 if ((dssdrv->read_edid(dssdev, edid, MAX_EDID) > 0) && in omap_connector_get_modes()
170 drm_edid_is_valid(edid)) { in omap_connector_get_modes()
172 connector, edid); in omap_connector_get_modes()
173 n = drm_add_edid_modes(connector, edid); in omap_connector_get_modes()
176 drm_detect_hdmi_monitor(edid); in omap_connector_get_modes()
182 kfree(edid); in omap_connector_get_modes()
/linux-4.4.14/drivers/gpu/drm/tilcdc/
Dtilcdc_tfp410.c190 struct edid *edid; in tfp410_connector_get_modes() local
193 edid = drm_get_edid(connector, tfp410_connector->mod->i2c); in tfp410_connector_get_modes()
195 drm_mode_connector_update_edid_property(connector, edid); in tfp410_connector_get_modes()
197 if (edid) { in tfp410_connector_get_modes()
198 ret = drm_add_edid_modes(connector, edid); in tfp410_connector_get_modes()
199 kfree(edid); in tfp410_connector_get_modes()
/linux-4.4.14/Documentation/devicetree/bindings/powerpc/fsl/
Ddiu.txt15 - edid : verbatim EDID data block describing attached display.
33 edid = [edid-data];
/linux-4.4.14/drivers/gpu/drm/imx/
Dparallel-display.c35 void *edid; member
66 if (imxpd->edid) { in imx_pd_connector_get_modes()
67 drm_mode_connector_update_edid_property(connector, imxpd->edid); in imx_pd_connector_get_modes()
68 num_modes = drm_add_edid_modes(connector, imxpd->edid); in imx_pd_connector_get_modes()
228 imxpd->edid = kmemdup(edidp, imxpd->edid_len, GFP_KERNEL); in imx_pd_bind()
276 kfree(imxpd->edid); in imx_pd_unbind()
Dimx-tve.c232 struct edid *edid; in imx_tve_connector_get_modes() local
238 edid = drm_get_edid(connector, tve->ddc); in imx_tve_connector_get_modes()
239 if (edid) { in imx_tve_connector_get_modes()
240 drm_mode_connector_update_edid_property(connector, edid); in imx_tve_connector_get_modes()
241 ret = drm_add_edid_modes(connector, edid); in imx_tve_connector_get_modes()
242 kfree(edid); in imx_tve_connector_get_modes()
Dimx-ldb.c62 void *edid; member
109 if (imx_ldb_ch->edid) { in imx_ldb_connector_get_modes()
111 imx_ldb_ch->edid); in imx_ldb_connector_get_modes()
112 num_modes = drm_add_edid_modes(connector, imx_ldb_ch->edid); in imx_ldb_connector_get_modes()
607 channel->edid = kmemdup(edidp, channel->edid_len, in imx_ldb_bind()
656 kfree(channel->edid); in imx_ldb_unbind()
/linux-4.4.14/Documentation/devicetree/bindings/display/
Dsm501fb.txt18 - edid : verbatim EDID data block describing attached display.
33 edid = [edid-data];
/linux-4.4.14/drivers/video/fbdev/
Dudlfb.c760 static int dlfb_get_edid(struct dlfb_data *dev, char *edid, int len) in dlfb_get_edid() argument
780 edid[i] = rbuf[1]; in dlfb_get_edid()
799 void __user *edid = (void __user *)arg; in dlfb_ops_ioctl() local
800 if (copy_to_user(edid, dev->edid, dev->edid_size)) in dlfb_ops_ioctl()
927 kfree(dev->edid); in dlfb_free()
1236 char *edid; in dlfb_setup_modes() local
1242 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in dlfb_setup_modes()
1243 if (!edid) { in dlfb_setup_modes()
1258 i = dlfb_get_edid(dev, edid, EDID_LENGTH); in dlfb_setup_modes()
1261 fb_edid_to_monspecs(edid, &info->monspecs); in dlfb_setup_modes()
[all …]
Dsmscufx.c106 u8 *edid; /* null until we read edid from hw or get from sysfs */ member
999 u8 __user *edid = (u8 __user *)arg; in ufx_ops_ioctl() local
1000 if (copy_to_user(edid, dev->edid, dev->edid_size)) in ufx_ops_ioctl()
1433 static int ufx_read_edid(struct ufx_data *dev, u8 *edid, int edid_len) in ufx_read_edid() argument
1436 u32 *edid_u32 = (u32 *)edid; in ufx_read_edid()
1446 memset(edid, 0xff, EDID_LENGTH); in ufx_read_edid()
1470 if (edid[i] != 0xFF) { in ufx_read_edid()
1496 u8 *edid; in ufx_setup_modes() local
1502 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in ufx_setup_modes()
1503 if (!edid) { in ufx_setup_modes()
[all …]
Dsh_mobile_hdmi.c853 u8 edid[128]; in sh_hdmi_read_edid() local
860 edid[i] = (hdmi->htop1) ? in sh_hdmi_read_edid()
866 printk(KERN_DEBUG "%02X | %02X", i, edid[i]); in sh_hdmi_read_edid()
868 printk(KERN_CONT " %02X", edid[i]); in sh_hdmi_read_edid()
877 fb_edid_to_monspecs(edid, &hdmi->monspec); in sh_hdmi_read_edid()
878 hdmi->edid_blocks = edid[126] + 1; in sh_hdmi_read_edid()
884 edid[0], edid[2]); in sh_hdmi_read_edid()
885 fb_edid_add_monspecs(edid, &hdmi->monspec); in sh_hdmi_read_edid()
Di740fb.c1006 u8 *edid; in i740fb_probe() local
1073 edid = fb_ddc_read(&par->ddc_adapter); in i740fb_probe()
1074 if (edid) { in i740fb_probe()
1075 fb_edid_to_monspecs(edid, &info->monspecs); in i740fb_probe()
1076 kfree(edid); in i740fb_probe()
Dtdfxfb.c1347 u8 *edid = NULL; in tdfxfb_probe_i2c_connector() local
1351 edid = fb_ddc_read(&par->chan[0].adapter); in tdfxfb_probe_i2c_connector()
1353 if (edid) { in tdfxfb_probe_i2c_connector()
1354 fb_edid_to_monspecs(edid, specs); in tdfxfb_probe_i2c_connector()
1355 kfree(edid); in tdfxfb_probe_i2c_connector()
Ds3fb.c1278 u8 *edid = fb_ddc_read(&par->ddc_adapter); in s3_pci_probe() local
1280 if (edid) { in s3_pci_probe()
1281 fb_edid_to_monspecs(edid, &info->monspecs); in s3_pci_probe()
1282 kfree(edid); in s3_pci_probe()
Dtridentfb.c1638 u8 *edid = fb_ddc_read(&default_par->ddc_adapter); in trident_pci_probe() local
1641 if (edid) { in trident_pci_probe()
1642 fb_edid_to_monspecs(edid, &info->monspecs); in trident_pci_probe()
1643 kfree(edid); in trident_pci_probe()
/linux-4.4.14/drivers/video/fbdev/riva/
Drivafb-i2c.c154 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-4.4.14/include/acpi/
Dvideo.h31 int device_id, void **edid);
38 int device_id, void **edid) in acpi_video_get_edid() argument
/linux-4.4.14/drivers/gpu/drm/msm/hdmi/
Dhdmi_connector.c402 struct edid *edid; in hdmi_connector_get_modes() local
409 edid = drm_get_edid(connector, hdmi->i2c); in hdmi_connector_get_modes()
413 hdmi->hdmi_mode = drm_detect_hdmi_monitor(edid); in hdmi_connector_get_modes()
414 drm_mode_connector_update_edid_property(connector, edid); in hdmi_connector_get_modes()
416 if (edid) { in hdmi_connector_get_modes()
417 ret = drm_add_edid_modes(connector, edid); in hdmi_connector_get_modes()
418 kfree(edid); in hdmi_connector_get_modes()
/linux-4.4.14/drivers/gpu/drm/radeon/
Dradeon_connectors.c302 struct edid *radeon_connector_edid(struct drm_connector *connector) in radeon_connector_edid()
307 if (radeon_connector->edid) { in radeon_connector_edid()
308 return radeon_connector->edid; in radeon_connector_edid()
310 struct edid *edid = kmemdup(edid_blob->data, edid_blob->length, GFP_KERNEL); in radeon_connector_edid() local
311 if (edid) in radeon_connector_edid()
312 radeon_connector->edid = edid; in radeon_connector_edid()
314 return radeon_connector->edid; in radeon_connector_edid()
323 if (radeon_connector->edid) in radeon_connector_get_edid()
333 radeon_connector->edid = drm_get_edid(connector, in radeon_connector_get_edid()
342 radeon_connector->edid = drm_get_edid(&radeon_connector->base, in radeon_connector_get_edid()
[all …]
Dradeon_dp_mst.c179 struct edid *edid; in radeon_dp_mst_get_ddc_modes() local
182 edid = drm_dp_mst_get_edid(connector, &master->mst_mgr, radeon_connector->port); in radeon_dp_mst_get_ddc_modes()
183 radeon_connector->edid = edid; in radeon_dp_mst_get_ddc_modes()
184 DRM_DEBUG_KMS("edid retrieved %p\n", edid); in radeon_dp_mst_get_ddc_modes()
185 if (radeon_connector->edid) { in radeon_dp_mst_get_ddc_modes()
186 drm_mode_connector_update_edid_property(&radeon_connector->base, radeon_connector->edid); in radeon_dp_mst_get_ddc_modes()
187 ret = drm_add_edid_modes(&radeon_connector->base, radeon_connector->edid); in radeon_dp_mst_get_ddc_modes()
188 drm_edid_to_eld(&radeon_connector->base, radeon_connector->edid); in radeon_dp_mst_get_ddc_modes()
Dradeon_mode.h268 struct edid *bios_hardcoded_edid;
553 struct edid *edid; member
746 extern struct edid *radeon_connector_edid(struct drm_connector *connector);
888 extern struct edid *
Dradeon_combios.c373 struct edid *edid; in radeon_combios_check_hardcoded_edid() local
381 edid = kmalloc(size, GFP_KERNEL); in radeon_combios_check_hardcoded_edid()
382 if (edid == NULL) in radeon_combios_check_hardcoded_edid()
385 memcpy((unsigned char *)edid, raw, size); in radeon_combios_check_hardcoded_edid()
387 if (!drm_edid_is_valid(edid)) { in radeon_combios_check_hardcoded_edid()
388 kfree(edid); in radeon_combios_check_hardcoded_edid()
392 rdev->mode_info.bios_hardcoded_edid = edid; in radeon_combios_check_hardcoded_edid()
398 struct edid *
401 struct edid *edid; in radeon_bios_get_hardcoded_edid() local
404 edid = kmalloc(rdev->mode_info.bios_hardcoded_edid_size, GFP_KERNEL); in radeon_bios_get_hardcoded_edid()
[all …]
Dradeon_atombios.c1728 struct edid *edid; in radeon_atombios_get_lvds_info() local
1731 edid = kmalloc(edid_size, GFP_KERNEL); in radeon_atombios_get_lvds_info()
1732 if (edid) { in radeon_atombios_get_lvds_info()
1733 memcpy((u8 *)edid, (u8 *)&fake_edid_record->ucFakeEDIDString[0], in radeon_atombios_get_lvds_info()
1736 if (drm_edid_is_valid(edid)) { in radeon_atombios_get_lvds_info()
1737 rdev->mode_info.bios_hardcoded_edid = edid; in radeon_atombios_get_lvds_info()
1740 kfree(edid); in radeon_atombios_get_lvds_info()
/linux-4.4.14/drivers/gpu/drm/msm/edp/
Dedp_ctrl.c100 struct edid *edid; member
1181 kfree(ctrl->edid); in msm_edp_ctrl_destroy()
1182 ctrl->edid = NULL; in msm_edp_ctrl_destroy()
1222 struct drm_connector *connector, struct edid **edid) in msm_edp_ctrl_get_panel_info() argument
1228 if (ctrl->edid) { in msm_edp_ctrl_get_panel_info()
1229 if (edid) { in msm_edp_ctrl_get_panel_info()
1231 *edid = ctrl->edid; in msm_edp_ctrl_get_panel_info()
1250 ctrl->edid = drm_get_edid(connector, &ctrl->drm_aux->ddc); in msm_edp_ctrl_get_panel_info()
1251 if (!ctrl->edid) { in msm_edp_ctrl_get_panel_info()
1256 if (edid) in msm_edp_ctrl_get_panel_info()
[all …]
Dedp.h77 struct drm_connector *connector, struct edid **edid);
Dedp_connector.c51 struct edid *drm_edid = NULL; in edp_connector_get_modes()
/linux-4.4.14/drivers/gpu/drm/vc4/
Dvc4_hdmi.c195 struct edid *edid; in vc4_hdmi_connector_get_modes() local
197 edid = drm_get_edid(connector, vc4->hdmi->ddc); in vc4_hdmi_connector_get_modes()
198 if (!edid) in vc4_hdmi_connector_get_modes()
201 vc4_encoder->hdmi_monitor = drm_detect_hdmi_monitor(edid); in vc4_hdmi_connector_get_modes()
202 drm_mode_connector_update_edid_property(connector, edid); in vc4_hdmi_connector_get_modes()
203 ret = drm_add_edid_modes(connector, edid); in vc4_hdmi_connector_get_modes()
/linux-4.4.14/Documentation/devicetree/bindings/display/bridge/
Dptn3460.txt8 - edid-emulation: The EDID emulation entry to use
31 edid-emulation = <5>;
/linux-4.4.14/Documentation/devicetree/bindings/display/imx/
Dfsl-imx-drm.txt65 - edid: verbatim EDID data block describing attached display.
77 edid = [edid-data];
/linux-4.4.14/drivers/video/fbdev/omap2/displays-new/
Dconnector-dvi.c178 u8 *edid, int len) in dvic_read_edid() argument
187 r = dvic_ddc_read(ddata->i2c_adapter, edid, l, 0); in dvic_read_edid()
194 if (len > EDID_LENGTH && edid[0x7e] > 0) { in dvic_read_edid()
197 r = dvic_ddc_read(ddata->i2c_adapter, edid + EDID_LENGTH, in dvic_read_edid()
Dconnector-hdmi.c154 u8 *edid, int len) in hdmic_read_edid() argument
159 return in->ops.hdmi->read_edid(in, edid, len); in hdmic_read_edid()
Dencoder-tpd12s015.c142 u8 *edid, int len) in tpd_read_edid() argument
154 r = in->ops.hdmi->read_edid(in, edid, len); in tpd_read_edid()
/linux-4.4.14/drivers/gpu/drm/sti/
Dsti_hdmi.c575 struct edid *edid; in sti_hdmi_connector_get_modes() local
580 edid = drm_get_edid(connector, hdmi->ddc_adapt); in sti_hdmi_connector_get_modes()
581 if (!edid) in sti_hdmi_connector_get_modes()
584 count = drm_add_edid_modes(connector, edid); in sti_hdmi_connector_get_modes()
585 drm_mode_connector_update_edid_property(connector, edid); in sti_hdmi_connector_get_modes()
587 kfree(edid); in sti_hdmi_connector_get_modes()
/linux-4.4.14/drivers/gpu/drm/ast/
Dast_mode.c765 struct edid *edid; in ast_get_modes() local
770 edid = kmalloc(128, GFP_KERNEL); in ast_get_modes()
771 if (!edid) in ast_get_modes()
774 flags = ast_dp501_read_edid(connector->dev, (u8 *)edid); in ast_get_modes()
778 kfree(edid); in ast_get_modes()
781 edid = drm_get_edid(connector, &ast_connector->i2c->adapter); in ast_get_modes()
782 if (edid) { in ast_get_modes()
783 drm_mode_connector_update_edid_property(&ast_connector->base, edid); in ast_get_modes()
784 ret = drm_add_edid_modes(connector, edid); in ast_get_modes()
785 kfree(edid); in ast_get_modes()
/linux-4.4.14/drivers/media/pci/cobalt/
Dcobalt-v4l2.c1041 static int cobalt_g_edid(struct file *file, void *fh, struct v4l2_edid *edid) in cobalt_g_edid() argument
1044 u32 pad = edid->pad; in cobalt_g_edid()
1047 if (edid->pad >= (s->is_output ? 1 : 2)) in cobalt_g_edid()
1049 edid->pad = 0; in cobalt_g_edid()
1050 ret = v4l2_subdev_call(s->sd, pad, get_edid, edid); in cobalt_g_edid()
1051 edid->pad = pad; in cobalt_g_edid()
1055 static int cobalt_s_edid(struct file *file, void *fh, struct v4l2_edid *edid) in cobalt_s_edid() argument
1058 u32 pad = edid->pad; in cobalt_s_edid()
1061 if (edid->pad >= 2) in cobalt_s_edid()
1063 edid->pad = 0; in cobalt_s_edid()
[all …]
Dcobalt-driver.c62 static u8 edid[256] = { variable
524 .edid = edid, in cobalt_subdevs_init()
618 .edid = edid, in cobalt_subdevs_hsma_init()
/linux-4.4.14/include/uapi/video/
DKbuild2 header-y += edid.h
/linux-4.4.14/include/uapi/linux/
Dv4l2-common.h80 __u8 *edid; member
/linux-4.4.14/drivers/gpu/drm/panel/
Dpanel-simple.c239 struct edid *edid = drm_get_edid(panel->connector, p->ddc); in panel_simple_get_modes() local
240 drm_mode_connector_update_edid_property(panel->connector, edid); in panel_simple_get_modes()
241 if (edid) { in panel_simple_get_modes()
242 num += drm_add_edid_modes(panel->connector, edid); in panel_simple_get_modes()
243 kfree(edid); in panel_simple_get_modes()
/linux-4.4.14/Documentation/DocBook/
Dgpu.xml.db195 API-drm-mode-connector-update-edid-property
366 API-drm-dp-mst-get-edid
409 API-drm-edid-header-is-valid
410 API-drm-edid-block-valid
411 API-drm-edid-is-valid
412 API-drm-do-get-edid
414 API-drm-get-edid
415 API-drm-edid-duplicate
418 API-drm-edid-to-eld
419 API-drm-edid-to-sad
[all …]
/linux-4.4.14/include/video/
Dudlfb.h48 char *edid; /* null until we read edid from hw or get from sysfs */ member
/linux-4.4.14/drivers/video/fbdev/omap2/dss/
Dhdmi4_core.c171 int hdmi4_read_edid(struct hdmi_core_data *core, u8 *edid, int len) in hdmi4_read_edid() argument
182 r = hdmi_core_ddc_edid(core, edid, 0); in hdmi4_read_edid()
188 if (len >= 128 * 2 && edid[0x7e] > 0) { in hdmi4_read_edid()
189 r = hdmi_core_ddc_edid(core, edid + 0x80, 1); in hdmi4_read_edid()
Dhdmi5_core.c199 int hdmi5_read_edid(struct hdmi_core_data *core, u8 *edid, int len) in hdmi5_read_edid() argument
209 r = hdmi_core_ddc_edid(core, edid, 0); in hdmi5_read_edid()
213 n = edid[0x7e]; in hdmi5_read_edid()
219 r = hdmi_core_ddc_edid(core, edid + i * EDID_LENGTH, i); in hdmi5_read_edid()
Dhdmi4_core.h263 int hdmi4_read_edid(struct hdmi_core_data *core, u8 *edid, int len);
Dhdmi5_core.h295 int hdmi5_read_edid(struct hdmi_core_data *core, u8 *edid, int len);
Dhdmi5.c507 u8 *edid, int len) in hdmi_read_edid() argument
520 r = read_edid(edid, len); in hdmi_read_edid()
Dhdmi4.c477 u8 *edid, int len) in hdmi_read_edid() argument
490 r = read_edid(edid, len); in hdmi_read_edid()
/linux-4.4.14/drivers/gpu/drm/mgag200/
Dmgag200_mode.c1551 struct edid *edid; in mga_vga_get_modes() local
1554 edid = drm_get_edid(connector, &mga_connector->i2c->adapter); in mga_vga_get_modes()
1555 if (edid) { in mga_vga_get_modes()
1556 drm_mode_connector_update_edid_property(connector, edid); in mga_vga_get_modes()
1557 ret = drm_add_edid_modes(connector, edid); in mga_vga_get_modes()
1558 kfree(edid); in mga_vga_get_modes()
/linux-4.4.14/include/linux/
Dfb.h715 extern int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var);
717 extern void fb_edid_to_monspecs(unsigned char *edid,
719 extern void fb_edid_add_monspecs(unsigned char *edid,
/linux-4.4.14/include/media/
Dv4l2-ioctl.h280 int (*vidioc_g_edid) (struct file *file, void *fh, struct v4l2_edid *edid);
281 int (*vidioc_s_edid) (struct file *file, void *fh, struct v4l2_edid *edid);
Dv4l2-subdev.h628 int (*get_edid)(struct v4l2_subdev *sd, struct v4l2_edid *edid);
629 int (*set_edid)(struct v4l2_subdev *sd, struct v4l2_edid *edid);
/linux-4.4.14/Documentation/devicetree/bindings/display/tegra/
Dnvidia,tegra20-host1x.txt130 - nvidia,edid: supplies a binary EDID blob
156 - nvidia,edid: supplies a binary EDID blob
192 - nvidia,edid: supplies a binary EDID blob
222 - nvidia,edid: supplies a binary EDID blob
/linux-4.4.14/include/uapi/drm/
Dexynos_drm.h61 uint64_t edid; member
/linux-4.4.14/drivers/acpi/
Dacpi_video.c606 union acpi_object **edid, ssize_t length) in acpi_video_device_EDID() argument
615 *edid = NULL; in acpi_video_device_EDID()
633 *edid = obj; in acpi_video_device_EDID()
1346 void **edid) in acpi_video_get_edid() argument
1405 *edid = buffer->buffer.pointer; in acpi_video_get_edid()
/linux-4.4.14/Documentation/EDID/
DHOWTO.txt54 created, it must be checked with the "edid-decode" utility which will
/linux-4.4.14/Documentation/fb/
Dudlfb.txt129 edid If a valid EDID blob is written to this file (typically
138 which can be passed to utilities like parse-edid.
/linux-4.4.14/drivers/video/fbdev/omap2/omapfb/
Domapfb-main.c2251 u8 *edid; in omapfb_find_best_mode() local
2258 edid = kmalloc(len, GFP_KERNEL); in omapfb_find_best_mode()
2259 if (edid == NULL) in omapfb_find_best_mode()
2262 r = display->driver->read_edid(display, edid, len); in omapfb_find_best_mode()
2272 fb_edid_to_monspecs(edid, specs); in omapfb_find_best_mode()
2316 kfree(edid); in omapfb_find_best_mode()
/linux-4.4.14/include/xen/interface/
Dplatform.h246 GUEST_HANDLE(uchar) edid;
/linux-4.4.14/drivers/gpu/drm/nouveau/dispnv04/
Ddfp.c345 if (nv_connector->edid && in nv04_dfp_mode_set()
347 duallink = (((u8 *)nv_connector->edid)[121] == 2); in nv04_dfp_mode_set()
/linux-4.4.14/arch/powerpc/boot/dts/
Dac14xx.dts260 edid = [00 FF FF FF FF FF FF 00 14 94 00 00 00 00 00 00
/linux-4.4.14/arch/arm/boot/dts/
Dexynos5250-snow-common.dtsi487 edid-emulation = <5>;
/linux-4.4.14/Documentation/
Dkernel-parameters.txt941 edid/1024x768.bin, edid/1280x1024.bin,
942 edid/1680x1050.bin, or edid/1920x1080.bin is given