Home
last modified time | relevance | path

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

123456789

/Linux-v5.4/drivers/gpu/drm/
Ddrm_edid_load.c162 static int edid_size(const u8 *edid, int data_size) in edid_size() argument
167 return (edid[0x7e] + 1) * EDID_LENGTH; in edid_size()
175 u8 *edid; in edid_load() local
211 edid = ERR_PTR(-EINVAL); in edid_load()
215 edid = kmemdup(fwdata, fwsize, GFP_KERNEL); in edid_load()
216 if (edid == NULL) { in edid_load()
217 edid = ERR_PTR(-ENOMEM); in edid_load()
221 if (!drm_edid_block_valid(edid, 0, print_bad_edid, in edid_load()
226 kfree(edid); in edid_load()
227 edid = ERR_PTR(-EINVAL); in edid_load()
[all …]
Ddrm_edid.c47 #define version_greater(edid, maj, min) \ argument
48 (((edid)->version > (maj)) || \
49 ((edid)->version == (maj) && (edid)->revision > (min)))
91 struct edid *edid; member
1347 struct edid *edid);
1384 struct edid *edid = (struct edid *)raw_edid; in drm_edid_block_valid() local
1434 if (edid->version != 1) { in drm_edid_block_valid()
1435 DRM_NOTE("EDID has major version %d, instead of 1\n", edid->version); in drm_edid_block_valid()
1439 if (edid->revision > 4) in drm_edid_block_valid()
1472 bool drm_edid_is_valid(struct edid *edid) in drm_edid_is_valid() argument
[all …]
/Linux-v5.4/drivers/media/i2c/adv748x/
Dadv748x-hdmi.c462 static int adv748x_hdmi_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv748x_hdmi_get_edid() argument
466 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv748x_hdmi_get_edid()
468 if (!hdmi->edid.present) in adv748x_hdmi_get_edid()
471 if (edid->start_block == 0 && edid->blocks == 0) { in adv748x_hdmi_get_edid()
472 edid->blocks = hdmi->edid.blocks; in adv748x_hdmi_get_edid()
476 if (edid->start_block >= hdmi->edid.blocks) in adv748x_hdmi_get_edid()
479 if (edid->start_block + edid->blocks > hdmi->edid.blocks) in adv748x_hdmi_get_edid()
480 edid->blocks = hdmi->edid.blocks - edid->start_block; in adv748x_hdmi_get_edid()
482 memcpy(edid->edid, hdmi->edid.edid + edid->start_block * 128, in adv748x_hdmi_get_edid()
483 edid->blocks * 128); in adv748x_hdmi_get_edid()
[all …]
/Linux-v5.4/include/drm/
Ddrm_edid.h285 struct edid { struct
340 int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads); argument
341 int drm_edid_to_speaker_allocation(struct edid *edid, u8 **sadb);
346 struct edid *drm_load_edid_firmware(struct drm_connector *connector);
350 static inline struct edid *
471 struct edid *drm_do_get_edid(struct drm_connector *connector,
475 struct edid *drm_get_edid(struct drm_connector *connector,
477 struct edid *drm_get_edid_switcheroo(struct drm_connector *connector,
479 struct edid *drm_edid_duplicate(const struct edid *edid);
480 int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid);
[all …]
/Linux-v5.4/drivers/gpu/drm/gma500/
Dpsb_intel_modes.c52 struct edid *edid; in psb_intel_ddc_get_modes() local
55 edid = drm_get_edid(connector, adapter); in psb_intel_ddc_get_modes()
56 if (edid) { in psb_intel_ddc_get_modes()
57 drm_connector_update_edid_property(connector, edid); in psb_intel_ddc_get_modes()
58 ret = drm_add_edid_modes(connector, edid); in psb_intel_ddc_get_modes()
59 kfree(edid); in psb_intel_ddc_get_modes()
Dcdv_intel_hdmi.c133 struct edid *edid = NULL; in cdv_hdmi_detect() local
136 edid = drm_get_edid(connector, &gma_encoder->i2c_bus->adapter); in cdv_hdmi_detect()
140 if (edid) { in cdv_hdmi_detect()
141 if (edid->input & DRM_EDID_INPUT_DIGITAL) { in cdv_hdmi_detect()
144 drm_detect_hdmi_monitor(edid); in cdv_hdmi_detect()
146 drm_detect_monitor_audio(edid); in cdv_hdmi_detect()
148 kfree(edid); in cdv_hdmi_detect()
215 struct edid *edid = NULL; in cdv_hdmi_get_modes() local
218 edid = drm_get_edid(connector, &gma_encoder->i2c_bus->adapter); in cdv_hdmi_get_modes()
219 if (edid) { in cdv_hdmi_get_modes()
[all …]
/Linux-v5.4/drivers/media/i2c/
Dad9389b.c86 struct ad9389b_state_edid edid; member
343 struct ad9389b_state_edid *edid = &state->edid; in ad9389b_log_status() local
376 edid->segments ? "found" : "no", edid->blocks); in ad9389b_log_status()
664 static int ad9389b_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in ad9389b_get_edid() argument
668 if (edid->pad != 0) in ad9389b_get_edid()
670 if (edid->blocks == 0 || edid->blocks > 256) in ad9389b_get_edid()
672 if (!state->edid.segments) { in ad9389b_get_edid()
676 if (edid->start_block >= state->edid.segments * 2) in ad9389b_get_edid()
678 if (edid->blocks + edid->start_block >= state->edid.segments * 2) in ad9389b_get_edid()
679 edid->blocks = state->edid.segments * 2 - edid->start_block; in ad9389b_get_edid()
[all …]
Dadv7511-v4l2.c120 struct adv7511_state_edid edid; member
582 struct adv7511_state_edid *edid = &state->edid; in adv7511_log_status() local
611 edid->segments ? "found" : "no", in adv7511_log_status()
612 edid->blocks); in adv7511_log_status()
1200 static int adv7511_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv7511_get_edid() argument
1204 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv7511_get_edid()
1206 if (edid->pad != 0) in adv7511_get_edid()
1209 if (edid->start_block == 0 && edid->blocks == 0) { in adv7511_get_edid()
1210 edid->blocks = state->edid.segments * 2; in adv7511_get_edid()
1214 if (state->edid.segments == 0) in adv7511_get_edid()
[all …]
Dadv7604.c179 u8 edid[256]; member
182 } edid; member
532 adv76xx_set_hpd(state, state->edid.present); in adv76xx_delayed_work_enable_hotplug()
2248 static int adv76xx_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv76xx_get_edid() argument
2253 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv76xx_get_edid()
2255 switch (edid->pad) { in adv76xx_get_edid()
2260 if (state->edid.present & (1 << edid->pad)) in adv76xx_get_edid()
2261 data = state->edid.edid; in adv76xx_get_edid()
2267 if (edid->start_block == 0 && edid->blocks == 0) { in adv76xx_get_edid()
2268 edid->blocks = data ? state->edid.blocks : 0; in adv76xx_get_edid()
[all …]
/Linux-v5.4/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 …]
/Linux-v5.4/drivers/gpu/drm/tegra/
Doutput.c18 struct edid *edid = NULL; in tegra_output_connector_get_modes() local
31 if (output->edid) in tegra_output_connector_get_modes()
32 edid = kmemdup(output->edid, sizeof(*edid), GFP_KERNEL); in tegra_output_connector_get_modes()
34 edid = drm_get_edid(connector, output->ddc); in tegra_output_connector_get_modes()
36 cec_notifier_set_phys_addr_from_edid(output->cec, edid); in tegra_output_connector_get_modes()
37 drm_connector_update_edid_property(connector, edid); in tegra_output_connector_get_modes()
39 if (edid) { in tegra_output_connector_get_modes()
40 err = drm_add_edid_modes(connector, edid); in tegra_output_connector_get_modes()
41 kfree(edid); in tegra_output_connector_get_modes()
110 output->edid = of_get_property(output->of_node, "nvidia,edid", &size); in tegra_output_probe()
/Linux-v5.4/drivers/gpu/drm/i915/display/
Dintel_connector.c99 if (!IS_ERR_OR_NULL(intel_connector->edid)) in intel_connector_destroy()
100 kfree(intel_connector->edid); in intel_connector_destroy()
179 struct edid *edid) in intel_connector_update_modes() argument
183 drm_connector_update_edid_property(connector, edid); in intel_connector_update_modes()
184 ret = drm_add_edid_modes(connector, edid); in intel_connector_update_modes()
199 struct edid *edid; in intel_ddc_get_modes() local
202 edid = drm_get_edid(connector, adapter); in intel_ddc_get_modes()
203 if (!edid) in intel_ddc_get_modes()
206 ret = intel_connector_update_modes(connector, edid); in intel_ddc_get_modes()
207 kfree(edid); in intel_ddc_get_modes()
/Linux-v5.4/include/media/
Dcec.h267 struct edid;
282 const struct edid *edid);
366 u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size,
394 const struct edid *edid) in cec_s_phys_addr_from_edid() argument
398 static inline u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size, in cec_get_edid_phys_addr() argument
495 static inline unsigned int cec_get_edid_spa_location(const u8 *edid, in cec_get_edid_spa_location() argument
513 if (edid[0x7e] + 1 < blocks) in cec_get_edid_spa_location()
514 blocks = edid[0x7e] + 1; in cec_get_edid_spa_location()
520 if (edid[offset] != 0x02 || edid[offset + 1] != 0x03) in cec_get_edid_spa_location()
524 d = edid[offset + 2] & 0x7f; in cec_get_edid_spa_location()
[all …]
Dcec-notifier.h16 struct edid;
118 const struct edid *edid);
172 const struct edid *edid) in cec_notifier_set_phys_addr_from_edid() argument
/Linux-v5.4/drivers/gpu/drm/udl/
Dudl_connector.c52 drm_connector_update_edid_property(connector, udl_connector->edid); in udl_get_modes()
53 if (udl_connector->edid) in udl_get_modes()
54 return drm_add_edid_modes(connector, udl_connector->edid); in udl_get_modes()
81 if (udl_connector->edid != NULL) { in udl_detect()
82 kfree(udl_connector->edid); in udl_detect()
83 udl_connector->edid = NULL; in udl_detect()
86 udl_connector->edid = drm_do_get_edid(connector, udl_get_edid_block, udl); in udl_detect()
87 if (!udl_connector->edid) in udl_detect()
116 kfree(udl_connector->edid); in udl_connector_destroy()
Dudl_connector.h6 struct edid;
11 struct edid *edid; member
/Linux-v5.4/drivers/gpu/drm/i915/gvt/
Dedid.c51 struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid; in edid_get_byte() local
54 if (edid->state == I2C_NOT_SPECIFIED || !edid->slave_selected) { in edid_get_byte()
58 if (edid->current_edid_read >= EDID_SIZE) { in edid_get_byte()
63 if (!edid->edid_available) { in edid_get_byte()
68 if (intel_vgpu_has_monitor_on_port(vgpu, edid->port)) { in edid_get_byte()
70 intel_vgpu_port(vgpu, edid->port)->edid; in edid_get_byte()
72 chr = edid_data->edid_block[edid->current_edid_read]; in edid_get_byte()
73 edid->current_edid_read++; in edid_get_byte()
563 struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid; in intel_vgpu_init_i2c_edid() local
565 edid->state = I2C_NOT_SPECIFIED; in intel_vgpu_init_i2c_edid()
[all …]
/Linux-v5.4/drivers/gpu/drm/bridge/
Dnxp-ptn3460.c31 struct edid *edid; member
189 u8 *edid; in ptn3460_get_modes() local
195 if (ptn_bridge->edid) in ptn3460_get_modes()
196 return drm_add_edid_modes(connector, ptn_bridge->edid); in ptn3460_get_modes()
201 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in ptn3460_get_modes()
202 if (!edid) { in ptn3460_get_modes()
207 ret = ptn3460_read_bytes(ptn_bridge, PTN3460_EDID_ADDR, edid, in ptn3460_get_modes()
210 kfree(edid); in ptn3460_get_modes()
214 ptn_bridge->edid = (struct edid *)edid; in ptn3460_get_modes()
215 drm_connector_update_edid_property(connector, ptn_bridge->edid); in ptn3460_get_modes()
[all …]
Dmegachips-stdpxxxx-ge-b850v3-fw.c63 struct edid *edid; member
140 kfree(ge_b850v3_lvds_ptr->edid); in ge_b850v3_lvds_get_modes()
141 ge_b850v3_lvds_ptr->edid = (struct edid *)stdp2690_get_edid(client); in ge_b850v3_lvds_get_modes()
143 if (ge_b850v3_lvds_ptr->edid) { in ge_b850v3_lvds_get_modes()
145 ge_b850v3_lvds_ptr->edid); in ge_b850v3_lvds_get_modes()
147 ge_b850v3_lvds_ptr->edid); in ge_b850v3_lvds_get_modes()
287 kfree(ge_b850v3_lvds_ptr->edid); in ge_b850v3_lvds_remove()
/Linux-v5.4/drivers/gpu/drm/amd/display/amdgpu_dm/
Damdgpu_dm_mst_types.c147 if (amdgpu_dm_connector->edid) { in dm_dp_mst_connector_destroy()
148 kfree(amdgpu_dm_connector->edid); in dm_dp_mst_connector_destroy()
149 amdgpu_dm_connector->edid = NULL; in dm_dp_mst_connector_destroy()
200 if (!aconnector->edid) { in dm_dp_mst_get_modes()
201 struct edid *edid; in dm_dp_mst_get_modes() local
202 edid = drm_dp_mst_get_edid(connector, &aconnector->mst_port->mst_mgr, aconnector->port); in dm_dp_mst_get_modes()
204 if (!edid) { in dm_dp_mst_get_modes()
211 aconnector->edid = edid; in dm_dp_mst_get_modes()
226 (uint8_t *)aconnector->edid, in dm_dp_mst_get_modes()
227 (aconnector->edid->extensions + 1) * EDID_LENGTH, in dm_dp_mst_get_modes()
[all …]
Damdgpu_dm_helpers.c54 const struct dc_edid *edid, in dm_helpers_parse_edid_caps() argument
57 struct edid *edid_buf = (struct edid *) edid->raw_edid; in dm_helpers_parse_edid_caps()
67 if (!edid_caps || !edid) in dm_helpers_parse_edid_caps()
97 (struct edid *) edid->raw_edid); in dm_helpers_parse_edid_caps()
99 sad_count = drm_edid_to_sad((struct edid *) edid->raw_edid, &sads); in dm_helpers_parse_edid_caps()
116 sadb_count = drm_edid_to_speaker_allocation((struct edid *) edid->raw_edid, &sadb); in dm_helpers_parse_edid_caps()
582 struct edid *edid; in dm_helpers_read_local_edid() local
594 edid = drm_get_edid(&aconnector->base, ddc); in dm_helpers_read_local_edid()
596 if (!edid) in dm_helpers_read_local_edid()
599 sink->dc_edid.length = EDID_LENGTH * (edid->extensions + 1); in dm_helpers_read_local_edid()
[all …]
/Linux-v5.4/drivers/gpu/drm/exynos/
Dexynos_drm_vidi.c42 struct edid *raw_edid;
198 ctx->raw_edid = (struct edid *)fake_edid_info; in vidi_store_connection()
201 if (ctx->raw_edid != (struct edid *)fake_edid_info) { in vidi_store_connection()
241 struct edid *raw_edid; in vidi_connection_ioctl()
243 raw_edid = (struct edid *)(unsigned long)vidi->edid; in vidi_connection_ioctl()
261 (struct edid *)fake_edid_info) { in vidi_connection_ioctl()
302 struct edid *edid; in vidi_get_modes() local
315 edid = kmemdup(ctx->raw_edid, edid_len, GFP_KERNEL); in vidi_get_modes()
316 if (!edid) { in vidi_get_modes()
321 drm_connector_update_edid_property(connector, edid); in vidi_get_modes()
[all …]
/Linux-v5.4/drivers/media/platform/vivid/
Dvivid-vid-common.c996 struct v4l2_edid *edid) in vidioc_g_edid() argument
1002 memset(edid->reserved, 0, sizeof(edid->reserved)); in vidioc_g_edid()
1004 if (edid->pad >= dev->num_inputs) in vidioc_g_edid()
1006 if (dev->input_type[edid->pad] != HDMI) in vidioc_g_edid()
1012 if (edid->pad >= dev->num_outputs) in vidioc_g_edid()
1014 if (dev->output_type[edid->pad] != HDMI) in vidioc_g_edid()
1016 if (!dev->display_present[edid->pad]) in vidioc_g_edid()
1018 bus_idx = dev->cec_output2bus_map[edid->pad]; in vidioc_g_edid()
1021 if (edid->start_block == 0 && edid->blocks == 0) { in vidioc_g_edid()
1022 edid->blocks = dev->edid_blocks; in vidioc_g_edid()
[all …]
/Linux-v5.4/drivers/gpu/drm/omapdrm/
Domap_connector.c172 void *edid; in omap_connector_get_modes_edid() local
179 edid = kzalloc(MAX_EDID, GFP_KERNEL); in omap_connector_get_modes_edid()
180 if (!edid) in omap_connector_get_modes_edid()
183 if (dssdev->ops->read_edid(dssdev, edid, MAX_EDID) <= 0 || in omap_connector_get_modes_edid()
184 !drm_edid_is_valid(edid)) { in omap_connector_get_modes_edid()
185 kfree(edid); in omap_connector_get_modes_edid()
189 drm_connector_update_edid_property(connector, edid); in omap_connector_get_modes_edid()
190 n = drm_add_edid_modes(connector, edid); in omap_connector_get_modes_edid()
192 omap_connector->hdmi_mode = drm_detect_hdmi_monitor(edid); in omap_connector_get_modes_edid()
194 kfree(edid); in omap_connector_get_modes_edid()
/Linux-v5.4/drivers/gpu/drm/nouveau/
Dnouveau_connector.c400 kfree(nv_connector->edid); in nouveau_connector_destroy()
472 const void *edid = of_get_property(cn, "EDID", NULL); in nouveau_connector_of_detect() local
475 if (nv_encoder->dcb->i2c_index == idx && edid) { in nouveau_connector_of_detect()
476 nv_connector->edid = in nouveau_connector_of_detect()
477 kmemdup(edid, EDID_LENGTH, GFP_KERNEL); in nouveau_connector_of_detect()
541 if (nv_connector->edid) { in nouveau_connector_detect()
543 kfree(nv_connector->edid); in nouveau_connector_detect()
544 nv_connector->edid = NULL; in nouveau_connector_detect()
566 nv_connector->edid = drm_get_edid_switcheroo(connector, in nouveau_connector_detect()
569 nv_connector->edid = drm_get_edid(connector, i2c); in nouveau_connector_detect()
[all …]

123456789