Home
last modified time | relevance | path

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

123456789

/Linux-v6.1/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.c1572 const struct edid *edid; member
1578 const struct edid *edid = drm_edid->edid; in version_greater() local
1580 return edid->version > version || in version_greater()
1581 (edid->version == version && edid->revision > revision); in version_greater()
1584 static int edid_hfeeodb_extension_block_count(const struct edid *edid);
1586 static int edid_hfeeodb_block_count(const struct edid *edid) in edid_hfeeodb_block_count() argument
1588 int eeodb = edid_hfeeodb_extension_block_count(edid); in edid_hfeeodb_block_count()
1593 static int edid_extension_block_count(const struct edid *edid) in edid_extension_block_count() argument
1595 return edid->extensions; in edid_extension_block_count()
1598 static int edid_block_count(const struct edid *edid) in edid_block_count() argument
[all …]
Ddrm_bridge_connector.c251 struct edid *edid; in drm_bridge_connector_get_modes_edid() local
258 edid = bridge->funcs->get_edid(bridge, connector); in drm_bridge_connector_get_modes_edid()
259 if (!drm_edid_is_valid(edid)) { in drm_bridge_connector_get_modes_edid()
260 kfree(edid); in drm_bridge_connector_get_modes_edid()
264 drm_connector_update_edid_property(connector, edid); in drm_bridge_connector_get_modes_edid()
265 n = drm_add_edid_modes(connector, edid); in drm_bridge_connector_get_modes_edid()
267 kfree(edid); in drm_bridge_connector_get_modes_edid()
/Linux-v6.1/drivers/media/i2c/adv748x/
Dadv748x-hdmi.c463 static int adv748x_hdmi_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv748x_hdmi_get_edid() argument
467 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv748x_hdmi_get_edid()
469 if (!hdmi->edid.present) in adv748x_hdmi_get_edid()
472 if (edid->start_block == 0 && edid->blocks == 0) { in adv748x_hdmi_get_edid()
473 edid->blocks = hdmi->edid.blocks; in adv748x_hdmi_get_edid()
477 if (edid->start_block >= hdmi->edid.blocks) in adv748x_hdmi_get_edid()
480 if (edid->start_block + edid->blocks > hdmi->edid.blocks) in adv748x_hdmi_get_edid()
481 edid->blocks = hdmi->edid.blocks - edid->start_block; in adv748x_hdmi_get_edid()
483 memcpy(edid->edid, hdmi->edid.edid + edid->start_block * 128, in adv748x_hdmi_get_edid()
484 edid->blocks * 128); in adv748x_hdmi_get_edid()
[all …]
/Linux-v6.1/include/drm/
Ddrm_edid.h326 struct edid { struct
381 int drm_edid_to_sad(const struct edid *edid, struct cea_sad **sads); argument
382 int drm_edid_to_speaker_allocation(const struct edid *edid, u8 **sadb);
387 struct edid *drm_load_edid_firmware(struct drm_connector *connector);
391 static inline struct edid *
398 bool drm_edid_are_equal(const struct edid *edid1, const struct edid *edid2);
565 struct edid *drm_do_get_edid(struct drm_connector *connector,
569 struct edid *drm_get_edid(struct drm_connector *connector,
572 struct edid *drm_get_edid_switcheroo(struct drm_connector *connector,
574 struct edid *drm_edid_duplicate(const struct edid *edid);
[all …]
/Linux-v6.1/drivers/gpu/drm/gma500/
Dpsb_intel_modes.c55 struct edid *edid; in psb_intel_ddc_get_modes() local
58 edid = drm_get_edid(connector, adapter); in psb_intel_ddc_get_modes()
59 if (edid) { in psb_intel_ddc_get_modes()
60 drm_connector_update_edid_property(connector, edid); in psb_intel_ddc_get_modes()
61 ret = drm_add_edid_modes(connector, edid); in psb_intel_ddc_get_modes()
62 kfree(edid); in psb_intel_ddc_get_modes()
Dcdv_intel_hdmi.c129 struct edid *edid = NULL; in cdv_hdmi_detect() local
132 edid = drm_get_edid(connector, connector->ddc); in cdv_hdmi_detect()
136 if (edid) { in cdv_hdmi_detect()
137 if (edid->input & DRM_EDID_INPUT_DIGITAL) { in cdv_hdmi_detect()
140 drm_detect_hdmi_monitor(edid); in cdv_hdmi_detect()
142 drm_detect_monitor_audio(edid); in cdv_hdmi_detect()
144 kfree(edid); in cdv_hdmi_detect()
210 struct edid *edid = NULL; in cdv_hdmi_get_modes() local
213 edid = drm_get_edid(connector, connector->ddc); in cdv_hdmi_get_modes()
214 if (edid) { in cdv_hdmi_get_modes()
[all …]
/Linux-v6.1/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.c119 struct adv7511_state_edid edid; member
548 struct adv7511_state_edid *edid = &state->edid; in adv7511_log_status() local
577 edid->segments ? "found" : "no", in adv7511_log_status()
578 edid->blocks); in adv7511_log_status()
1166 static int adv7511_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv7511_get_edid() argument
1170 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv7511_get_edid()
1172 if (edid->pad != 0) in adv7511_get_edid()
1175 if (edid->start_block == 0 && edid->blocks == 0) { in adv7511_get_edid()
1176 edid->blocks = state->edid.blocks; in adv7511_get_edid()
1180 if (state->edid.blocks == 0) in adv7511_get_edid()
[all …]
Dadv7604.c186 u8 edid[ADV76XX_MAX_EDID_BLOCKS * 128]; member
189 } edid; member
546 adv76xx_set_hpd(state, state->edid.present); in adv76xx_delayed_work_enable_hotplug()
2272 static int adv76xx_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv76xx_get_edid() argument
2277 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv76xx_get_edid()
2279 switch (edid->pad) { in adv76xx_get_edid()
2284 if (state->edid.present & (1 << edid->pad)) in adv76xx_get_edid()
2285 data = state->edid.edid; in adv76xx_get_edid()
2291 if (edid->start_block == 0 && edid->blocks == 0) { in adv76xx_get_edid()
2292 edid->blocks = data ? state->edid.blocks : 0; in adv76xx_get_edid()
[all …]
/Linux-v6.1/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-v6.1/include/media/
Dcec.h308 struct edid;
323 const struct edid *edid);
407 u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size,
435 const struct edid *edid) in cec_s_phys_addr_from_edid() argument
439 static inline u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size, in cec_get_edid_phys_addr() argument
490 static inline unsigned int cec_get_edid_spa_location(const u8 *edid, in cec_get_edid_spa_location() argument
508 if (edid[0x7e] + 1 < blocks) in cec_get_edid_spa_location()
509 blocks = edid[0x7e] + 1; in cec_get_edid_spa_location()
515 if (edid[offset] != 0x02 || edid[offset + 1] != 0x03) in cec_get_edid_spa_location()
519 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
/Linux-v6.1/drivers/gpu/drm/i915/display/
Dintel_connector.c102 if (!IS_ERR_OR_NULL(intel_connector->edid)) in intel_connector_destroy()
103 kfree(intel_connector->edid); in intel_connector_destroy()
185 struct edid *edid) in intel_connector_update_modes() argument
189 drm_connector_update_edid_property(connector, edid); in intel_connector_update_modes()
190 ret = drm_add_edid_modes(connector, edid); in intel_connector_update_modes()
205 struct edid *edid; in intel_ddc_get_modes() local
208 edid = drm_get_edid(connector, adapter); in intel_ddc_get_modes()
209 if (!edid) in intel_ddc_get_modes()
212 ret = intel_connector_update_modes(connector, edid); in intel_ddc_get_modes()
213 kfree(edid); in intel_ddc_get_modes()
/Linux-v6.1/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()
/Linux-v6.1/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.c53 struct edid *edid; in simple_bridge_get_modes() local
57 edid = drm_bridge_get_edid(sbridge->next_bridge, connector); in simple_bridge_get_modes()
58 if (!edid) in simple_bridge_get_modes()
61 edid = NULL; in simple_bridge_get_modes()
64 if (!edid) { in simple_bridge_get_modes()
75 drm_connector_update_edid_property(connector, edid); in simple_bridge_get_modes()
76 ret = drm_add_edid_modes(connector, edid); in simple_bridge_get_modes()
77 kfree(edid); in simple_bridge_get_modes()
/Linux-v6.1/drivers/gpu/drm/udl/
Dudl_connector.c54 drm_connector_update_edid_property(connector, udl_connector->edid); in udl_get_modes()
55 if (udl_connector->edid) in udl_get_modes()
56 return drm_add_edid_modes(connector, udl_connector->edid); in udl_get_modes()
83 if (udl_connector->edid != NULL) { in udl_detect()
84 kfree(udl_connector->edid); in udl_detect()
85 udl_connector->edid = NULL; in udl_detect()
88 udl_connector->edid = drm_do_get_edid(connector, udl_get_edid_block, udl); in udl_detect()
89 if (!udl_connector->edid) in udl_detect()
103 kfree(udl_connector->edid); in udl_connector_destroy()
/Linux-v6.1/drivers/gpu/drm/msm/dp/
Ddp_panel.c135 struct edid *edid) in dp_panel_update_modes() argument
139 if (edid) { in dp_panel_update_modes()
140 rc = drm_connector_update_edid_property(connector, edid); in dp_panel_update_modes()
145 rc = drm_add_edid_modes(connector, edid); in dp_panel_update_modes()
199 kfree(dp_panel->edid); in dp_panel_read_sink_caps()
200 dp_panel->edid = NULL; in dp_panel_read_sink_caps()
202 dp_panel->edid = drm_get_edid(connector, in dp_panel_read_sink_caps()
204 if (!dp_panel->edid) { in dp_panel_read_sink_caps()
261 if (dp_panel->edid) in dp_panel_get_modes()
262 return dp_panel_update_modes(connector, dp_panel->edid); in dp_panel_get_modes()
[all …]
/Linux-v6.1/drivers/gpu/drm/i915/gvt/
Dedid.c53 struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid; in edid_get_byte() local
56 if (edid->state == I2C_NOT_SPECIFIED || !edid->slave_selected) { in edid_get_byte()
60 if (edid->current_edid_read >= EDID_SIZE) { in edid_get_byte()
65 if (!edid->edid_available) { in edid_get_byte()
70 if (intel_vgpu_has_monitor_on_port(vgpu, edid->port)) { in edid_get_byte()
72 intel_vgpu_port(vgpu, edid->port)->edid; in edid_get_byte()
74 chr = edid_data->edid_block[edid->current_edid_read]; in edid_get_byte()
75 edid->current_edid_read++; in edid_get_byte()
572 struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid; in intel_vgpu_init_i2c_edid() local
574 edid->state = I2C_NOT_SPECIFIED; in intel_vgpu_init_i2c_edid()
[all …]
/Linux-v6.1/drivers/gpu/drm/exynos/
Dexynos_drm_vidi.c44 struct edid *raw_edid;
200 ctx->raw_edid = (struct edid *)fake_edid_info; in vidi_store_connection()
203 if (ctx->raw_edid != (struct edid *)fake_edid_info) { in vidi_store_connection()
249 struct edid *raw_edid; in vidi_connection_ioctl()
251 raw_edid = (struct edid *)(unsigned long)vidi->edid; in vidi_connection_ioctl()
269 (struct edid *)fake_edid_info) { in vidi_connection_ioctl()
310 struct edid *edid; in vidi_get_modes() local
323 edid = kmemdup(ctx->raw_edid, edid_len, GFP_KERNEL); in vidi_get_modes()
324 if (!edid) { in vidi_get_modes()
329 drm_connector_update_edid_property(connector, edid); in vidi_get_modes()
[all …]
/Linux-v6.1/drivers/gpu/drm/hisilicon/hibmc/
Dhibmc_drm_vdac.c25 void *edid; in hibmc_connector_get_modes() local
28 edid = drm_get_edid(connector, &hibmc_connector->adapter); in hibmc_connector_get_modes()
29 if (edid) { in hibmc_connector_get_modes()
30 drm_connector_update_edid_property(connector, edid); in hibmc_connector_get_modes()
31 count = drm_add_edid_modes(connector, edid); in hibmc_connector_get_modes()
42 kfree(edid); in hibmc_connector_get_modes()
/Linux-v6.1/drivers/media/test-drivers/vivid/
Dvivid-vid-common.c1036 struct v4l2_edid *edid) in vidioc_g_edid() argument
1042 memset(edid->reserved, 0, sizeof(edid->reserved)); in vidioc_g_edid()
1044 if (edid->pad >= dev->num_inputs) in vidioc_g_edid()
1046 if (dev->input_type[edid->pad] != HDMI) in vidioc_g_edid()
1052 if (edid->pad >= dev->num_outputs) in vidioc_g_edid()
1054 if (dev->output_type[edid->pad] != HDMI) in vidioc_g_edid()
1056 if (!dev->display_present[edid->pad]) in vidioc_g_edid()
1058 bus_idx = dev->cec_output2bus_map[edid->pad]; in vidioc_g_edid()
1061 if (edid->start_block == 0 && edid->blocks == 0) { in vidioc_g_edid()
1062 edid->blocks = dev->edid_blocks; in vidioc_g_edid()
[all …]
/Linux-v6.1/drivers/gpu/drm/nouveau/
Dnouveau_connector.c400 kfree(nv_connector->edid); in nouveau_connector_destroy()
475 const void *edid = of_get_property(cn, "EDID", NULL); in nouveau_connector_of_detect() local
478 if (nv_encoder->dcb->i2c_index == idx && edid) { in nouveau_connector_of_detect()
479 nv_connector->edid = in nouveau_connector_of_detect()
480 kmemdup(edid, EDID_LENGTH, GFP_KERNEL); in nouveau_connector_of_detect()
538 struct edid *edid) in nouveau_connector_set_edid() argument
540 if (nv_connector->edid != edid) { in nouveau_connector_set_edid()
541 struct edid *old_edid = nv_connector->edid; in nouveau_connector_set_edid()
543 drm_connector_update_edid_property(&nv_connector->base, edid); in nouveau_connector_set_edid()
545 nv_connector->edid = edid; in nouveau_connector_set_edid()
[all …]
/Linux-v6.1/include/drm/display/
Ddrm_dp_helper.h263 struct edid;
498 const struct edid *edid);
503 const struct edid *edid);
506 const struct edid *edid);
509 const struct edid *edid);
521 const struct edid *edid,
690 void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid);
708 const struct edid *edid) in drm_dp_cec_set_edid() argument

123456789