Home
last modified time | relevance | path

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

12345678910

/kernel/linux/linux-5.10/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
1625 bool drm_edid_are_equal(const struct edid *edid1, const struct edid *edid2) in drm_edid_are_equal()
1665 struct edid *edid = (struct edid *)raw_edid; in drm_edid_block_valid() local
1716 if (edid->version != 1) { in drm_edid_block_valid()
1717 DRM_NOTE("EDID has major version %d, instead of 1\n", edid->version); in drm_edid_block_valid()
1721 if (edid->revision > 4) in drm_edid_block_valid()
1754 bool drm_edid_is_valid(struct edid *edid) in drm_edid_is_valid() argument
[all …]
Ddrm_bridge_connector.c236 struct edid *edid; in drm_bridge_connector_get_modes_edid() local
243 edid = bridge->funcs->get_edid(bridge, connector); in drm_bridge_connector_get_modes_edid()
244 if (!edid || !drm_edid_is_valid(edid)) { in drm_bridge_connector_get_modes_edid()
245 kfree(edid); in drm_bridge_connector_get_modes_edid()
249 drm_connector_update_edid_property(connector, edid); in drm_bridge_connector_get_modes_edid()
250 n = drm_add_edid_modes(connector, edid); in drm_bridge_connector_get_modes_edid()
252 kfree(edid); in drm_bridge_connector_get_modes_edid()
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/include/drm/
Ddrm_edid.h290 struct edid { struct
345 int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads); argument
346 int drm_edid_to_speaker_allocation(struct edid *edid, u8 **sadb);
351 struct edid *drm_load_edid_firmware(struct drm_connector *connector);
355 static inline struct edid *
362 bool drm_edid_are_equal(const struct edid *edid1, const struct edid *edid2);
482 struct edid *drm_do_get_edid(struct drm_connector *connector,
486 struct edid *drm_get_edid(struct drm_connector *connector,
488 struct edid *drm_get_edid_switcheroo(struct drm_connector *connector,
490 struct edid *drm_edid_duplicate(const struct edid *edid);
[all …]
/kernel/linux/patches/linux-5.10/imx8mm_patch/patches/drivers/
D0035_linux_drivers_video.patch169 +#include "../edid.h"
406 +int mxc_edid_parse_ext_blk(unsigned char *edid,
416 + if (edid[index++] != 0x2) /* only support cea ext block now */
418 + revision = edid[index++];
424 + detail_timing_desc_offset = edid[index++];
427 + cfg->cea_underscan = (edid[index] >> 7) & 0x1;
428 + cfg->cea_basicaudio = (edid[index] >> 6) & 0x1;
429 + cfg->cea_ycbcr444 = (edid[index] >> 5) & 0x1;
430 + cfg->cea_ycbcr422 = (edid[index] >> 4) & 0x1;
445 + tagcode = (edid[index] >> 5) & 0x7;
[all …]
/kernel/linux/linux-5.10/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.c134 struct edid *edid = NULL; in cdv_hdmi_detect() local
137 edid = drm_get_edid(connector, &gma_encoder->i2c_bus->adapter); in cdv_hdmi_detect()
141 if (edid) { in cdv_hdmi_detect()
142 if (edid->input & DRM_EDID_INPUT_DIGITAL) { in cdv_hdmi_detect()
145 drm_detect_hdmi_monitor(edid); in cdv_hdmi_detect()
147 drm_detect_monitor_audio(edid); in cdv_hdmi_detect()
149 kfree(edid); in cdv_hdmi_detect()
216 struct edid *edid = NULL; in cdv_hdmi_get_modes() local
219 edid = drm_get_edid(connector, &gma_encoder->i2c_bus->adapter); in cdv_hdmi_get_modes()
220 if (edid) { in cdv_hdmi_get_modes()
[all …]
/kernel/linux/linux-5.10/include/media/
Dcec.h287 struct edid;
302 const struct edid *edid);
386 u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size,
414 const struct edid *edid) in cec_s_phys_addr_from_edid() argument
418 static inline u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size, in cec_get_edid_phys_addr() argument
469 static inline unsigned int cec_get_edid_spa_location(const u8 *edid, in cec_get_edid_spa_location() argument
487 if (edid[0x7e] + 1 < blocks) in cec_get_edid_spa_location()
488 blocks = edid[0x7e] + 1; in cec_get_edid_spa_location()
494 if (edid[offset] != 0x02 || edid[offset + 1] != 0x03) in cec_get_edid_spa_location()
498 d = edid[offset + 2] & 0x7f; in cec_get_edid_spa_location()
[all …]
Dcec-notifier.h16 struct edid;
97 const struct edid *edid);
142 const struct edid *edid) in cec_notifier_set_phys_addr_from_edid() argument
/kernel/linux/linux-5.10/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()
2258 static int adv76xx_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv76xx_get_edid() argument
2263 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv76xx_get_edid()
2265 switch (edid->pad) { in adv76xx_get_edid()
2270 if (state->edid.present & (1 << edid->pad)) in adv76xx_get_edid()
2271 data = state->edid.edid; in adv76xx_get_edid()
2277 if (edid->start_block == 0 && edid->blocks == 0) { in adv76xx_get_edid()
2278 edid->blocks = data ? state->edid.blocks : 0; in adv76xx_get_edid()
[all …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/display/
Dintel_connector.c100 if (!IS_ERR_OR_NULL(intel_connector->edid)) in intel_connector_destroy()
101 kfree(intel_connector->edid); in intel_connector_destroy()
183 struct edid *edid) in intel_connector_update_modes() argument
187 drm_connector_update_edid_property(connector, edid); in intel_connector_update_modes()
188 ret = drm_add_edid_modes(connector, edid); in intel_connector_update_modes()
203 struct edid *edid; in intel_ddc_get_modes() local
206 edid = drm_get_edid(connector, adapter); in intel_ddc_get_modes()
207 if (!edid) in intel_ddc_get_modes()
210 ret = intel_connector_update_modes(connector, edid); in intel_ddc_get_modes()
211 kfree(edid); in intel_ddc_get_modes()
/kernel/linux/linux-5.10/drivers/gpu/drm/tegra/
Doutput.c20 struct edid *edid = NULL; in tegra_output_connector_get_modes() local
33 if (output->edid) in tegra_output_connector_get_modes()
34 edid = kmemdup(output->edid, sizeof(*edid), GFP_KERNEL); in tegra_output_connector_get_modes()
36 edid = drm_get_edid(connector, output->ddc); in tegra_output_connector_get_modes()
38 cec_notifier_set_phys_addr_from_edid(output->cec, edid); in tegra_output_connector_get_modes()
39 drm_connector_update_edid_property(connector, edid); in tegra_output_connector_get_modes()
41 if (edid) { in tegra_output_connector_get_modes()
42 err = drm_add_edid_modes(connector, edid); in tegra_output_connector_get_modes()
43 kfree(edid); in tegra_output_connector_get_modes()
123 output->edid = of_get_property(output->of_node, "nvidia,edid", &size); in tegra_output_probe()
/kernel/linux/linux-5.10/drivers/gpu/drm/bridge/
Dnxp-ptn3460.c157 static struct edid *ptn3460_get_edid(struct drm_bridge *bridge, in ptn3460_get_edid()
162 u8 *edid; in ptn3460_get_edid() local
168 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in ptn3460_get_edid()
169 if (!edid) { in ptn3460_get_edid()
174 ret = ptn3460_read_bytes(ptn_bridge, PTN3460_EDID_ADDR, edid, in ptn3460_get_edid()
177 kfree(edid); in ptn3460_get_edid()
178 edid = NULL; in ptn3460_get_edid()
186 return (struct edid *)edid; in ptn3460_get_edid()
192 struct edid *edid; in ptn3460_connector_get_modes() local
195 edid = ptn3460_get_edid(&ptn_bridge->bridge, connector); in ptn3460_connector_get_modes()
[all …]
Dsimple-bridge.c52 struct edid *edid; in simple_bridge_get_modes() local
56 edid = drm_bridge_get_edid(sbridge->next_bridge, connector); in simple_bridge_get_modes()
57 if (!edid) in simple_bridge_get_modes()
60 edid = NULL; in simple_bridge_get_modes()
63 if (!edid) { in simple_bridge_get_modes()
74 drm_connector_update_edid_property(connector, edid); in simple_bridge_get_modes()
75 ret = drm_add_edid_modes(connector, edid); in simple_bridge_get_modes()
76 kfree(edid); in simple_bridge_get_modes()
/kernel/linux/linux-5.10/drivers/gpu/drm/udl/
Dudl_connector.c53 drm_connector_update_edid_property(connector, udl_connector->edid); in udl_get_modes()
54 if (udl_connector->edid) in udl_get_modes()
55 return drm_add_edid_modes(connector, udl_connector->edid); in udl_get_modes()
82 if (udl_connector->edid != NULL) { in udl_detect()
83 kfree(udl_connector->edid); in udl_detect()
84 udl_connector->edid = NULL; in udl_detect()
87 udl_connector->edid = drm_do_get_edid(connector, udl_get_edid_block, udl); in udl_detect()
88 if (!udl_connector->edid) in udl_detect()
102 kfree(udl_connector->edid); in udl_connector_destroy()
/kernel/linux/linux-5.10/drivers/gpu/drm/msm/dp/
Ddp_panel.c133 struct edid *edid) in dp_panel_update_modes() argument
137 if (edid) { in dp_panel_update_modes()
138 rc = drm_connector_update_edid_property(connector, edid); in dp_panel_update_modes()
143 rc = drm_add_edid_modes(connector, edid); in dp_panel_update_modes()
192 kfree(dp_panel->edid); in dp_panel_read_sink_caps()
193 dp_panel->edid = NULL; in dp_panel_read_sink_caps()
195 dp_panel->edid = drm_get_edid(connector, in dp_panel_read_sink_caps()
197 if (!dp_panel->edid) { in dp_panel_read_sink_caps()
254 if (dp_panel->edid) in dp_panel_get_modes()
255 return dp_panel_update_modes(connector, dp_panel->edid); in dp_panel_get_modes()
[all …]
/kernel/linux/linux-5.10/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()
570 struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid; in intel_vgpu_init_i2c_edid() local
572 edid->state = I2C_NOT_SPECIFIED; in intel_vgpu_init_i2c_edid()
[all …]
/kernel/linux/linux-5.10/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()
114 sadb_count = drm_edid_to_speaker_allocation((struct edid *) edid->raw_edid, &sadb); in dm_helpers_parse_edid_caps()
561 struct edid *edid; in dm_helpers_read_local_edid() local
573 edid = drm_get_edid(&aconnector->base, ddc); in dm_helpers_read_local_edid()
579 if (!edid && connector->edid_corrupt) { in dm_helpers_read_local_edid()
584 if (!edid) in dm_helpers_read_local_edid()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/exynos/
Dexynos_drm_vidi.c43 struct edid *raw_edid;
199 ctx->raw_edid = (struct edid *)fake_edid_info; in vidi_store_connection()
202 if (ctx->raw_edid != (struct edid *)fake_edid_info) { in vidi_store_connection()
248 struct edid *raw_edid; in vidi_connection_ioctl()
250 raw_edid = (struct edid *)(unsigned long)vidi->edid; in vidi_connection_ioctl()
268 (struct edid *)fake_edid_info) { in vidi_connection_ioctl()
309 struct edid *edid; in vidi_get_modes() local
322 edid = kmemdup(ctx->raw_edid, edid_len, GFP_KERNEL); in vidi_get_modes()
323 if (!edid) { in vidi_get_modes()
328 drm_connector_update_edid_property(connector, edid); in vidi_get_modes()
[all …]
/kernel/linux/linux-5.10/drivers/media/test-drivers/vivid/
Dvivid-vid-common.c1021 struct v4l2_edid *edid) in vidioc_g_edid() argument
1027 memset(edid->reserved, 0, sizeof(edid->reserved)); in vidioc_g_edid()
1029 if (edid->pad >= dev->num_inputs) in vidioc_g_edid()
1031 if (dev->input_type[edid->pad] != HDMI) in vidioc_g_edid()
1037 if (edid->pad >= dev->num_outputs) in vidioc_g_edid()
1039 if (dev->output_type[edid->pad] != HDMI) in vidioc_g_edid()
1041 if (!dev->display_present[edid->pad]) in vidioc_g_edid()
1043 bus_idx = dev->cec_output2bus_map[edid->pad]; in vidioc_g_edid()
1046 if (edid->start_block == 0 && edid->blocks == 0) { in vidioc_g_edid()
1047 edid->blocks = dev->edid_blocks; in vidioc_g_edid()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/
Dnouveau_connector.c399 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()
533 struct edid *edid) in nouveau_connector_set_edid() argument
535 if (nv_connector->edid != edid) { in nouveau_connector_set_edid()
536 struct edid *old_edid = nv_connector->edid; in nouveau_connector_set_edid()
538 drm_connector_update_edid_property(&nv_connector->base, edid); in nouveau_connector_set_edid()
540 nv_connector->edid = edid; in nouveau_connector_set_edid()
[all …]

12345678910