Home
last modified time | relevance | path

Searched full:edid (Results 1 – 25 of 768) sorted by relevance

12345678910>>...31

/kernel/linux/linux-5.10/Documentation/userspace-api/media/v4l/
Dvidioc-g-edid.rst13 VIDIOC_G_EDID - VIDIOC_S_EDID - VIDIOC_SUBDEV_G_EDID - VIDIOC_SUBDEV_S_EDID - Get or set the EDID o…
46 These ioctls can be used to get or set an EDID associated with an input
56 pad of the subdevice. If there is no EDID support for the given ``pad``
59 To get the EDID data the application has to fill in the ``pad``,
60 ``start_block``, ``blocks`` and ``edid`` fields, zero the ``reserved``
61 array and call :ref:`VIDIOC_G_EDID <VIDIOC_G_EDID>`. The current EDID from block
63 ``edid`` points to. The ``edid`` pointer must point to memory at least
67 ``blocks`` to the actual number of blocks. If there are no EDID blocks
75 total number of available EDID blocks and it will return 0 without
76 copying any data. This is an easy way to discover how many EDID blocks
[all …]
/kernel/linux/linux-6.6/Documentation/userspace-api/media/v4l/
Dvidioc-g-edid.rst13 VIDIOC_G_EDID - VIDIOC_S_EDID - VIDIOC_SUBDEV_G_EDID - VIDIOC_SUBDEV_S_EDID - Get or set the EDID o…
46 These ioctls can be used to get or set an EDID associated with an input
56 pad of the subdevice. If there is no EDID support for the given ``pad``
59 To get the EDID data the application has to fill in the ``pad``,
60 ``start_block``, ``blocks`` and ``edid`` fields, zero the ``reserved``
61 array and call :ref:`VIDIOC_G_EDID <VIDIOC_G_EDID>`. The current EDID from block
63 ``edid`` points to. The ``edid`` pointer must point to memory at least
67 ``blocks`` to the actual number of blocks. If there are no EDID blocks
75 total number of available EDID blocks and it will return 0 without
76 copying any data. This is an easy way to discover how many EDID blocks
[all …]
/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-6.6/drivers/media/i2c/adv748x/
Dadv748x-hdmi.c473 static int adv748x_hdmi_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv748x_hdmi_get_edid() argument
477 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv748x_hdmi_get_edid()
479 if (!hdmi->edid.present) in adv748x_hdmi_get_edid()
482 if (edid->start_block == 0 && edid->blocks == 0) { in adv748x_hdmi_get_edid()
483 edid->blocks = hdmi->edid.blocks; in adv748x_hdmi_get_edid()
487 if (edid->start_block >= hdmi->edid.blocks) in adv748x_hdmi_get_edid()
490 if (edid->start_block + edid->blocks > hdmi->edid.blocks) in adv748x_hdmi_get_edid()
491 edid->blocks = hdmi->edid.blocks - edid->start_block; in adv748x_hdmi_get_edid()
493 memcpy(edid->edid, hdmi->edid.edid + edid->start_block * 128, in adv748x_hdmi_get_edid()
494 edid->blocks * 128); in adv748x_hdmi_get_edid()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/
Ddrm_edid.c47 #define version_greater(edid, maj, min) \ argument
48 (((edid)->version > (maj)) || \
49 ((edid)->version == (maj) && (edid)->revision > (min)))
56 * EDID blocks out in the wild have a variety of bugs, try to collect
91 struct edid *edid; member
168 /* Rotel RSX-1058 forwards sink's EDID but only does HDMI 1.1*/
583 * modes are old-school Mac modes. The EDID spec says the 1152x864@75 mode
1563 * drm_edid_header_is_valid - sanity check the header of the base EDID block
1564 * @raw_edid: pointer to raw base EDID block
1566 * Sanity check the header of the base EDID block.
[all …]
Ddrm_edid_load.c3 drm_edid_load.c: use a built-in EDID data set or load it via the firmware
22 MODULE_PARM_DESC(edid_firmware, "Do not probe monitor, use specified EDID blob "
43 "edid/800x600.bin",
44 "edid/1024x768.bin",
45 "edid/1280x1024.bin",
46 "edid/1600x1200.bin",
47 "edid/1680x1050.bin",
48 "edid/1920x1080.bin",
162 static int edid_size(const u8 *edid, int data_size) in edid_size() argument
167 return (edid[0x7e] + 1) * EDID_LENGTH; in edid_size()
[all …]
/kernel/linux/patches/linux-5.10/imx8mm_patch/patches/drivers/
D0035_linux_drivers_video.patch122 + tristate "MXC EDID support"
158 + * @brief MXC EDID driver
169 +#include "../edid.h"
171 +#undef DEBUG /* define this for verbose EDID parsing output */
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;
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/bridge/
Dnxp-ptn3460.c94 /* Load the selected edid into SRAM (accessed at PTN3460_EDID_ADDR) */ in ptn3460_select_edid()
98 DRM_ERROR("Failed to transfer EDID to sram, ret=%d\n", ret); in ptn3460_select_edid()
102 /* Enable EDID emulation and select the desired EDID */ in ptn3460_select_edid()
108 DRM_ERROR("Failed to write EDID value, ret=%d\n", ret); in ptn3460_select_edid()
138 DRM_ERROR("Select EDID failed ret=%d\n", ret); in ptn3460_pre_enable()
157 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()
170 DRM_ERROR("Failed to allocate EDID\n"); in ptn3460_get_edid()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/
Ddrm_edid.c58 * EDID blocks out in the wild have a variety of bugs, try to collect
188 /* Rotel RSX-1058 forwards sink's EDID but only does HDMI 1.1*/
602 * modes are old-school Mac modes. The EDID spec says the 1152x864@75 mode
1578 * The opaque EDID type, internal to drm_edid.c.
1581 /* Size allocated for edid */
1583 const struct edid *edid; member
1586 static int edid_hfeeodb_extension_block_count(const struct edid *edid);
1588 static int edid_hfeeodb_block_count(const struct edid *edid) in edid_hfeeodb_block_count() argument
1590 int eeodb = edid_hfeeodb_extension_block_count(edid); in edid_hfeeodb_block_count()
1595 static int edid_extension_block_count(const struct edid *edid) in edid_extension_block_count() argument
[all …]
/kernel/linux/linux-6.6/Documentation/admin-guide/
Dedid.rst4 EDID title
16 - The graphics board is unable to detect any EDID data.
17 - The graphics board incorrectly forwards EDID data to the driver.
18 - The monitor sends no or bogus EDID data.
19 - A KVM sends its own EDID data instead of querying the connected monitor.
26 individually prepared or corrected EDID data set in the /lib/firmware
32 of the built-in binary EDID blobs and to facilitate the creation of
36 To create binary EDID and C source code files from the existing data
37 material, simply type "make" in tools/edid/.
39 If you want to create your own EDID file, copy the file 1024x768.S,
[all …]
/kernel/linux/linux-5.10/Documentation/admin-guide/
Dedid.rst4 EDID title
16 - The graphics board is unable to detect any EDID data.
17 - The graphics board incorrectly forwards EDID data to the driver.
18 - The monitor sends no or bogus EDID data.
19 - A KVM sends its own EDID data instead of querying the connected monitor.
26 individually prepared or corrected EDID data set in the /lib/firmware
32 of the built-in binary EDID blobs and to facilitate the creation of
36 To create binary EDID and C source code files from the existing data
37 material, simply type "make" in tools/edid/.
39 If you want to create your own EDID file, copy the file 1024x768.S,
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/bridge/
Dnxp-ptn3460.c94 /* Load the selected edid into SRAM (accessed at PTN3460_EDID_ADDR) */ in ptn3460_select_edid()
98 DRM_ERROR("Failed to transfer EDID to sram, ret=%d\n", ret); in ptn3460_select_edid()
102 /* Enable EDID emulation and select the desired EDID */ in ptn3460_select_edid()
108 DRM_ERROR("Failed to write EDID value, ret=%d\n", ret); in ptn3460_select_edid()
138 DRM_ERROR("Select EDID failed ret=%d\n", ret); in ptn3460_pre_enable()
157 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()
170 DRM_ERROR("Failed to allocate EDID\n"); in ptn3460_get_edid()
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/media/i2c/
Dadv7604.yaml36 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
37 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
38 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
39 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
40 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
41 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
42 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
43 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
44 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
45 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/udl/
Dudl_connector.c35 DRM_ERROR("Read EDID byte %d failed err %x\n", i, ret); in udl_get_edid_block()
53 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()
81 /* cleanup previous edid */ in udl_detect()
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()
[all …]
/kernel/linux/linux-5.10/include/media/
Dcec.h177 * read the EDID and is not dependent on an external HDMI driver.
287 struct edid;
302 const struct edid *edid);
378 * @edid: pointer to the EDID data
379 * @size: size in bytes of the EDID data
381 * bytes in the EDID will be returned here. This is set to 0
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
456 * @edid: the EDID
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/gma500/
Dpsb_intel_modes.c47 * Fetch the EDID information from @connector using the DDC bus.
52 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()
/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()
140 DRM_ERROR("failed to update edid property %d\n", rc); in dp_panel_update_modes()
143 rc = drm_add_edid_modes(connector, edid); in dp_panel_update_modes()
150 DRM_ERROR("failed to update edid property %d\n", rc); 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()
[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()
178 * intel_connector_update_modes - update connector from edid
180 * @edid: previously read EDID information
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()
198 * Fetch the EDID information from @connector using the DDC bus.
203 struct edid *edid; in intel_ddc_get_modes() local
206 edid = drm_get_edid(connector, adapter); in intel_ddc_get_modes()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/gma500/
Dpsb_intel_modes.c50 * Fetch the EDID information from @connector using the DDC bus.
55 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()
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/amdgpu_dm/
Damdgpu_dm_helpers.c46 * Parse edid caps
48 * @edid: [in] pointer to edid
49 * edid_caps: [in] pointer to edid caps
55 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
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/gvt/
Dedid.c54 struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid; in edid_get_byte() local
57 if (edid->state == I2C_NOT_SPECIFIED || !edid->slave_selected) { in edid_get_byte()
58 gvt_vgpu_err("Driver tries to read EDID without proper sequence!\n"); in edid_get_byte()
61 if (edid->current_edid_read >= EDID_SIZE) { in edid_get_byte()
62 gvt_vgpu_err("edid_get_byte() exceeds the size of EDID!\n"); in edid_get_byte()
66 if (!edid->edid_available) { in edid_get_byte()
67 gvt_vgpu_err("Reading EDID but EDID is not available!\n"); in edid_get_byte()
71 if (intel_vgpu_has_monitor_on_port(vgpu, edid->port)) { in edid_get_byte()
73 intel_vgpu_port(vgpu, edid->port)->edid; in edid_get_byte()
75 chr = edid_data->edid_block[edid->current_edid_read]; in edid_get_byte()
[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()
55 gvt_vgpu_err("Driver tries to read EDID without proper sequence!\n"); in edid_get_byte()
58 if (edid->current_edid_read >= EDID_SIZE) { in edid_get_byte()
59 gvt_vgpu_err("edid_get_byte() exceeds the size of EDID!\n"); in edid_get_byte()
63 if (!edid->edid_available) { in edid_get_byte()
64 gvt_vgpu_err("Reading EDID but EDID is not available!\n"); 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()
[all …]
/kernel/linux/linux-5.10/drivers/media/i2c/
Dad9389b.c63 /* Number of EDID read retries left */
86 struct ad9389b_state_edid edid; member
343 struct ad9389b_state_edid *edid = &state->edid; in ad9389b_log_status() local
347 "reading EDID", in ad9389b_log_status()
371 v4l2_info(sd, "%s hotplug, %s Rx Sense, %s EDID (%d block(s))\n", in ad9389b_log_status()
376 edid->segments ? "found" : "no", edid->blocks); in ad9389b_log_status()
491 /* Set number of attempts to read the EDID */ in ad9389b_s_power()
503 /* The datasheet says that the EDID ready interrupt should be in ad9389b_set_isr()
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()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/msm/dp/
Ddp_panel.c158 struct edid *edid) in dp_panel_update_modes() argument
162 if (edid) { in dp_panel_update_modes()
163 rc = drm_connector_update_edid_property(connector, edid); in dp_panel_update_modes()
165 DRM_ERROR("failed to update edid property %d\n", rc); in dp_panel_update_modes()
168 rc = drm_add_edid_modes(connector, edid); in dp_panel_update_modes()
174 DRM_ERROR("failed to update edid property %d\n", rc); in dp_panel_update_modes()
222 kfree(dp_panel->edid); in dp_panel_read_sink_caps()
223 dp_panel->edid = NULL; in dp_panel_read_sink_caps()
225 dp_panel->edid = drm_get_edid(connector, in dp_panel_read_sink_caps()
227 if (!dp_panel->edid) { in dp_panel_read_sink_caps()
[all …]
/kernel/linux/linux-6.6/include/media/
Dcec.h197 * read the EDID and is not dependent on an external HDMI driver.
312 struct edid;
327 const struct edid *edid);
403 * @edid: pointer to the EDID data
404 * @size: size in bytes of the EDID data
406 * bytes in the EDID will be returned here. This is set to 0
411 u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size,
439 const struct edid *edid) in cec_s_phys_addr_from_edid() argument
443 static inline u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size, in cec_get_edid_phys_addr() argument
481 * @edid: the EDID
[all …]

12345678910>>...31