Home
last modified time | relevance | path

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

12345

/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)))
83 struct edid *edid; member
1070 struct edid *edid);
1106 struct edid *edid = (struct edid *)raw_edid; in drm_edid_block_valid() local
1153 if (edid->version != 1) { in drm_edid_block_valid()
1154 DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); in drm_edid_block_valid()
1158 if (edid->revision > 4) in drm_edid_block_valid()
1190 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()
/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()
948 struct edid *edid; in intel_lvds_init() local
1091 edid = drm_get_edid(connector, intel_gmbus_get_adapter(dev_priv, pin)); in intel_lvds_init()
1092 if (edid) { in intel_lvds_init()
1093 if (drm_add_edid_modes(connector, edid)) { in intel_lvds_init()
1095 edid); in intel_lvds_init()
1097 kfree(edid); in intel_lvds_init()
[all …]
/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 …]
/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()
/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-v4l2.c119 struct adv7511_state_edid edid; member
531 struct adv7511_state_edid *edid = &state->edid; in adv7511_log_status() local
559 edid->segments ? "found" : "no", in adv7511_log_status()
560 edid->blocks); in adv7511_log_status()
897 static int adv7511_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv7511_get_edid() argument
901 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv7511_get_edid()
903 if (edid->pad != 0) in adv7511_get_edid()
906 if (edid->start_block == 0 && edid->blocks == 0) { in adv7511_get_edid()
907 edid->blocks = state->edid.segments * 2; in adv7511_get_edid()
911 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 …]
/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()
/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 …]
/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 …]
/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 …]
/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()
274 nv_connector->edid = drm_get_edid(connector, i2c); in nouveau_connector_detect()
276 nv_connector->edid); in nouveau_connector_detect()
[all …]
/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 …]
/drivers/gpu/drm/amd/amdgpu/
Damdgpu_connectors.c263 struct edid *amdgpu_connector_edid(struct drm_connector *connector) in amdgpu_connector_edid()
268 if (amdgpu_connector->edid) { in amdgpu_connector_edid()
269 return amdgpu_connector->edid; in amdgpu_connector_edid()
271 struct edid *edid = kmemdup(edid_blob->data, edid_blob->length, GFP_KERNEL); in amdgpu_connector_edid() local
272 if (edid) in amdgpu_connector_edid()
273 amdgpu_connector->edid = edid; in amdgpu_connector_edid()
275 return amdgpu_connector->edid; in amdgpu_connector_edid()
278 static struct edid *
281 struct edid *edid; in amdgpu_connector_get_hardcoded_edid() local
284 edid = kmalloc(adev->mode_info.bios_hardcoded_edid_size, GFP_KERNEL); in amdgpu_connector_get_hardcoded_edid()
[all …]
/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()
/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()
/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()

12345