Home
last modified time | relevance | path

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

12345678

/Linux-v4.19/drivers/gpu/drm/
Ddrm_edid_load.c171 static int edid_size(const u8 *edid, int data_size) in edid_size() argument
176 return (edid[0x7e] + 1) * EDID_LENGTH; in edid_size()
184 u8 *edid; in edid_load() local
220 edid = ERR_PTR(-EINVAL); in edid_load()
224 edid = kmemdup(fwdata, fwsize, GFP_KERNEL); in edid_load()
225 if (edid == NULL) { in edid_load()
226 edid = ERR_PTR(-ENOMEM); in edid_load()
230 if (!drm_edid_block_valid(edid, 0, print_bad_edid, in edid_load()
235 kfree(edid); in edid_load()
236 edid = ERR_PTR(-EINVAL); in edid_load()
[all …]
Ddrm_edid.c44 #define version_greater(edid, maj, min) \ argument
45 (((edid)->version > (maj)) || \
46 ((edid)->version == (maj) && (edid)->revision > (min)))
90 struct edid *edid; member
1323 struct edid *edid);
1359 struct edid *edid = (struct edid *)raw_edid; in drm_edid_block_valid() local
1409 if (edid->version != 1) { in drm_edid_block_valid()
1410 DRM_NOTE("EDID has major version %d, instead of 1\n", edid->version); in drm_edid_block_valid()
1414 if (edid->revision > 4) in drm_edid_block_valid()
1447 bool drm_edid_is_valid(struct edid *edid) in drm_edid_is_valid() argument
[all …]
/Linux-v4.19/drivers/media/cec/
Dcec-edid.c20 static unsigned int cec_get_edid_spa_location(const u8 *edid, unsigned int size) in cec_get_edid_spa_location() argument
37 if (edid[0x7e] + 1 < blocks) in cec_get_edid_spa_location()
38 blocks = edid[0x7e] + 1; in cec_get_edid_spa_location()
44 if (edid[offset] != 0x02 || edid[offset + 1] != 0x03) in cec_get_edid_spa_location()
48 d = edid[offset + 2] & 0x7f; in cec_get_edid_spa_location()
58 u8 tag = edid[i] >> 5; in cec_get_edid_spa_location()
59 u8 len = edid[i] & 0x1f; in cec_get_edid_spa_location()
62 edid[i + 1] == 0x03 && in cec_get_edid_spa_location()
63 edid[i + 2] == 0x0c && in cec_get_edid_spa_location()
64 edid[i + 3] == 0x00) in cec_get_edid_spa_location()
[all …]
Dcec-notifier.c95 const struct edid *edid) in cec_notifier_set_phys_addr_from_edid() argument
102 if (edid && edid->extensions) in cec_notifier_set_phys_addr_from_edid()
103 pa = cec_get_edid_phys_addr((const u8 *)edid, in cec_notifier_set_phys_addr_from_edid()
104 EDID_LENGTH * (edid->extensions + 1), NULL); in cec_notifier_set_phys_addr_from_edid()
/Linux-v4.19/drivers/media/i2c/adv748x/
Dadv748x-hdmi.c466 static int adv748x_hdmi_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv748x_hdmi_get_edid() argument
470 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv748x_hdmi_get_edid()
472 if (!hdmi->edid.present) in adv748x_hdmi_get_edid()
475 if (edid->start_block == 0 && edid->blocks == 0) { in adv748x_hdmi_get_edid()
476 edid->blocks = hdmi->edid.blocks; in adv748x_hdmi_get_edid()
480 if (edid->start_block >= hdmi->edid.blocks) in adv748x_hdmi_get_edid()
483 if (edid->start_block + edid->blocks > hdmi->edid.blocks) in adv748x_hdmi_get_edid()
484 edid->blocks = hdmi->edid.blocks - edid->start_block; in adv748x_hdmi_get_edid()
486 memcpy(edid->edid, hdmi->edid.edid + edid->start_block * 128, in adv748x_hdmi_get_edid()
487 edid->blocks * 128); in adv748x_hdmi_get_edid()
[all …]
/Linux-v4.19/include/drm/
Ddrm_edid.h282 struct edid { struct
336 int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads); argument
337 int drm_edid_to_speaker_allocation(struct edid *edid, u8 **sadb);
342 struct edid *drm_load_edid_firmware(struct drm_connector *connector);
346 static inline struct edid *
459 struct edid *drm_do_get_edid(struct drm_connector *connector,
463 struct edid *drm_get_edid(struct drm_connector *connector,
465 struct edid *drm_get_edid_switcheroo(struct drm_connector *connector,
467 struct edid *drm_edid_duplicate(const struct edid *edid);
468 int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid);
[all …]
/Linux-v4.19/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-v4.19/drivers/gpu/drm/i915/
Dintel_modes.c39 struct edid *edid) in intel_connector_update_modes() argument
43 drm_connector_update_edid_property(connector, edid); in intel_connector_update_modes()
44 ret = drm_add_edid_modes(connector, edid); in intel_connector_update_modes()
59 struct edid *edid; in intel_ddc_get_modes() local
62 edid = drm_get_edid(connector, adapter); in intel_ddc_get_modes()
63 if (!edid) in intel_ddc_get_modes()
66 ret = intel_connector_update_modes(connector, edid); in intel_ddc_get_modes()
67 kfree(edid); in intel_ddc_get_modes()
/Linux-v4.19/drivers/gpu/drm/gma500/
Dpsb_intel_modes.c64 struct edid *edid; in psb_intel_ddc_get_modes() local
67 edid = drm_get_edid(connector, adapter); in psb_intel_ddc_get_modes()
68 if (edid) { in psb_intel_ddc_get_modes()
69 drm_connector_update_edid_property(connector, edid); in psb_intel_ddc_get_modes()
70 ret = drm_add_edid_modes(connector, edid); in psb_intel_ddc_get_modes()
71 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 …]
/Linux-v4.19/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.c115 struct adv7511_state_edid edid; member
577 struct adv7511_state_edid *edid = &state->edid; in adv7511_log_status() local
606 edid->segments ? "found" : "no", in adv7511_log_status()
607 edid->blocks); in adv7511_log_status()
1195 static int adv7511_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv7511_get_edid() argument
1199 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv7511_get_edid()
1201 if (edid->pad != 0) in adv7511_get_edid()
1204 if (edid->start_block == 0 && edid->blocks == 0) { in adv7511_get_edid()
1205 edid->blocks = state->edid.segments * 2; in adv7511_get_edid()
1209 if (state->edid.segments == 0) in adv7511_get_edid()
[all …]
Dadv7604.c173 u8 edid[256]; member
176 } edid; member
526 adv76xx_set_hpd(state, state->edid.present); in adv76xx_delayed_work_enable_hotplug()
2224 static int adv76xx_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv76xx_get_edid() argument
2229 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv76xx_get_edid()
2231 switch (edid->pad) { in adv76xx_get_edid()
2236 if (state->edid.present & (1 << edid->pad)) in adv76xx_get_edid()
2237 data = state->edid.edid; in adv76xx_get_edid()
2243 if (edid->start_block == 0 && edid->blocks == 0) { in adv76xx_get_edid()
2244 edid->blocks = data ? state->edid.blocks : 0; in adv76xx_get_edid()
[all …]
/Linux-v4.19/drivers/gpu/drm/tegra/
Doutput.c21 struct edid *edid = NULL; in tegra_output_connector_get_modes() local
34 if (output->edid) in tegra_output_connector_get_modes()
35 edid = kmemdup(output->edid, sizeof(*edid), GFP_KERNEL); in tegra_output_connector_get_modes()
37 edid = drm_get_edid(connector, output->ddc); in tegra_output_connector_get_modes()
39 cec_notifier_set_phys_addr_from_edid(output->notifier, edid); in tegra_output_connector_get_modes()
40 drm_connector_update_edid_property(connector, edid); in tegra_output_connector_get_modes()
42 if (edid) { in tegra_output_connector_get_modes()
43 err = drm_add_edid_modes(connector, edid); in tegra_output_connector_get_modes()
44 kfree(edid); in tegra_output_connector_get_modes()
119 output->edid = of_get_property(output->of_node, "nvidia,edid", &size); in tegra_output_probe()
/Linux-v4.19/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()
536 struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid; in intel_vgpu_init_i2c_edid() local
538 edid->state = I2C_NOT_SPECIFIED; in intel_vgpu_init_i2c_edid()
[all …]
/Linux-v4.19/drivers/gpu/drm/bridge/
Dnxp-ptn3460.c41 struct edid *edid; member
199 u8 *edid; in ptn3460_get_modes() local
205 if (ptn_bridge->edid) in ptn3460_get_modes()
206 return drm_add_edid_modes(connector, ptn_bridge->edid); in ptn3460_get_modes()
211 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in ptn3460_get_modes()
212 if (!edid) { in ptn3460_get_modes()
217 ret = ptn3460_read_bytes(ptn_bridge, PTN3460_EDID_ADDR, edid, in ptn3460_get_modes()
220 kfree(edid); in ptn3460_get_modes()
224 ptn_bridge->edid = (struct edid *)edid; in ptn3460_get_modes()
225 drm_connector_update_edid_property(connector, ptn_bridge->edid); in ptn3460_get_modes()
[all …]
Dmegachips-stdpxxxx-ge-b850v3-fw.c74 struct edid *edid; member
151 kfree(ge_b850v3_lvds_ptr->edid); in ge_b850v3_lvds_get_modes()
152 ge_b850v3_lvds_ptr->edid = (struct edid *)stdp2690_get_edid(client); in ge_b850v3_lvds_get_modes()
154 if (ge_b850v3_lvds_ptr->edid) { in ge_b850v3_lvds_get_modes()
156 ge_b850v3_lvds_ptr->edid); in ge_b850v3_lvds_get_modes()
158 ge_b850v3_lvds_ptr->edid); in ge_b850v3_lvds_get_modes()
298 kfree(ge_b850v3_lvds_ptr->edid); in ge_b850v3_lvds_remove()
/Linux-v4.19/drivers/gpu/drm/amd/display/amdgpu_dm/
Damdgpu_dm_helpers.c55 const struct dc_edid *edid, in dm_helpers_parse_edid_caps() argument
58 struct edid *edid_buf = (struct edid *) edid->raw_edid; in dm_helpers_parse_edid_caps()
68 if (!edid_caps || !edid) in dm_helpers_parse_edid_caps()
98 (struct edid *) edid->raw_edid); in dm_helpers_parse_edid_caps()
100 sad_count = drm_edid_to_sad((struct edid *) edid->raw_edid, &sads); in dm_helpers_parse_edid_caps()
117 sadb_count = drm_edid_to_speaker_allocation((struct edid *) edid->raw_edid, &sadb); in dm_helpers_parse_edid_caps()
487 struct edid *edid; in dm_helpers_read_local_edid() local
499 edid = drm_get_edid(&aconnector->base, ddc); in dm_helpers_read_local_edid()
501 if (!edid) in dm_helpers_read_local_edid()
504 sink->dc_edid.length = EDID_LENGTH * (edid->extensions + 1); in dm_helpers_read_local_edid()
[all …]
Damdgpu_dm_mst_types.c186 if (amdgpu_dm_connector->edid) { in dm_dp_mst_connector_destroy()
187 kfree(amdgpu_dm_connector->edid); in dm_dp_mst_connector_destroy()
188 amdgpu_dm_connector->edid = NULL; in dm_dp_mst_connector_destroy()
226 ASSERT(aconnector->edid); in dm_dp_mst_dc_sink_create()
230 (uint8_t *)aconnector->edid, in dm_dp_mst_dc_sink_create()
231 (aconnector->edid->extensions + 1) * EDID_LENGTH, in dm_dp_mst_dc_sink_create()
238 connector, aconnector->edid); in dm_dp_mst_dc_sink_create()
249 if (!aconnector->edid) { in dm_dp_mst_get_modes()
250 struct edid *edid; in dm_dp_mst_get_modes() local
251 edid = drm_dp_mst_get_edid(connector, &aconnector->mst_port->mst_mgr, aconnector->port); in dm_dp_mst_get_modes()
[all …]
/Linux-v4.19/drivers/gpu/drm/udl/
Dudl_connector.c60 extensions = ((struct edid *)block_buff)->extensions; in udl_get_edid()
102 drm_connector_update_edid_property(connector, udl_connector->edid); in udl_get_modes()
103 if (udl_connector->edid) in udl_get_modes()
104 return drm_add_edid_modes(connector, udl_connector->edid); in udl_get_modes()
133 if (udl_connector->edid != NULL) { in udl_detect()
134 kfree(udl_connector->edid); in udl_detect()
135 udl_connector->edid = NULL; in udl_detect()
142 udl_connector->edid = (struct edid *)edid_buff; in udl_detect()
170 kfree(udl_connector->edid); in udl_connector_destroy()
/Linux-v4.19/drivers/media/platform/vivid/
Dvivid-vid-common.c832 struct v4l2_edid *edid) in vidioc_g_edid() argument
838 memset(edid->reserved, 0, sizeof(edid->reserved)); in vidioc_g_edid()
840 if (edid->pad >= dev->num_inputs) in vidioc_g_edid()
842 if (dev->input_type[edid->pad] != HDMI) in vidioc_g_edid()
848 if (edid->pad >= dev->num_outputs) in vidioc_g_edid()
850 if (dev->output_type[edid->pad] != HDMI) in vidioc_g_edid()
852 bus_idx = dev->cec_output2bus_map[edid->pad]; in vidioc_g_edid()
855 if (edid->start_block == 0 && edid->blocks == 0) { in vidioc_g_edid()
856 edid->blocks = dev->edid_blocks; in vidioc_g_edid()
861 if (edid->start_block >= dev->edid_blocks) in vidioc_g_edid()
[all …]
/Linux-v4.19/drivers/gpu/drm/exynos/
Dexynos_drm_vidi.c48 struct edid *raw_edid;
204 ctx->raw_edid = (struct edid *)fake_edid_info; in vidi_store_connection()
207 if (ctx->raw_edid != (struct edid *)fake_edid_info) { in vidi_store_connection()
244 struct edid *raw_edid; in vidi_connection_ioctl()
246 raw_edid = (struct edid *)(unsigned long)vidi->edid; in vidi_connection_ioctl()
262 (struct edid *)fake_edid_info) { in vidi_connection_ioctl()
303 struct edid *edid; in vidi_get_modes() local
316 edid = kmemdup(ctx->raw_edid, edid_len, GFP_KERNEL); in vidi_get_modes()
317 if (!edid) { in vidi_get_modes()
322 drm_connector_update_edid_property(connector, edid); in vidi_get_modes()
[all …]
/Linux-v4.19/include/media/
Dcec-notifier.h16 struct edid;
64 const struct edid *edid);
107 const struct edid *edid) in cec_notifier_set_phys_addr_from_edid() argument
Dcec.h236 struct edid;
250 const struct edid *edid);
332 u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size,
347 void cec_set_edid_phys_addr(u8 *edid, unsigned int size, u16 phys_addr);
418 const struct edid *edid) in cec_s_phys_addr_from_edid() argument
422 static inline u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size, in cec_get_edid_phys_addr() argument
430 static inline void cec_set_edid_phys_addr(u8 *edid, unsigned int size, in cec_set_edid_phys_addr() argument
/Linux-v4.19/drivers/gpu/drm/nouveau/
Dnouveau_connector.c400 kfree(nv_connector->edid); in nouveau_connector_destroy()
469 const void *edid = of_get_property(cn, "EDID", NULL); in nouveau_connector_of_detect() local
472 if (nv_encoder->dcb->i2c_index == idx && edid) { in nouveau_connector_of_detect()
473 nv_connector->edid = in nouveau_connector_of_detect()
474 kmemdup(edid, EDID_LENGTH, GFP_KERNEL); in nouveau_connector_of_detect()
538 if (nv_connector->edid) { in nouveau_connector_detect()
540 kfree(nv_connector->edid); in nouveau_connector_detect()
541 nv_connector->edid = NULL; in nouveau_connector_detect()
563 nv_connector->edid = drm_get_edid_switcheroo(connector, in nouveau_connector_detect()
566 nv_connector->edid = drm_get_edid(connector, i2c); in nouveau_connector_detect()
[all …]

12345678