Home
last modified time | relevance | path

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

12345678910

/linux/Documentation/userspace-api/media/v4l/
H A 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 …]
H A Dext-ctrls-dv.rst23 can still be active when it comes to EDID (Extended Display
26 device to do the fairly slow EDID/HDCP handling in advance. This allows
43 Many connectors have a hotplug pin which is high if EDID information
62 will attempt to read the EDID. If set, then the transmitter has read
129 eeprom which contains EDID information, such that the source can
130 read the EDID even if the sink is in standby/power off. Each bit
/linux/drivers/video/fbdev/core/
H A Dfbmon.c8 * The EDID Parser is a conglomeration from the following sources:
35 #include <video/edid.h>
38 #include "../edid.h"
42 * EDID parser
45 #undef DEBUG /* define this for verbose EDID parsing output */
148 static int check_edid(unsigned char *edid) in check_edid() argument
150 unsigned char *block = edid + ID_MANUFACTURER_NAME, manufacturer[4]; in check_edid()
173 if (edid[i] != edid_v1_header[i]) { in check_edid()
180 b = edid + EDID_STRUCT_DISPLAY; in check_edid()
187 b = edid + DETAILED_TIMING_DESCRIPTIONS_START; in check_edid()
[all …]
/linux/drivers/video/fbdev/via/
H A Dvia_aux_edid.c6 * generic EDID driver
12 #include "../edid.h"
15 static const char *name = "EDID";
21 unsigned char edid[EDID_LENGTH]; in query_edid() local
33 if (via_aux_read(drv, 0x00, edid, EDID_LENGTH)) { in query_edid()
34 fb_edid_to_monspecs(edid, spec); in query_edid()
42 printk(KERN_DEBUG "EDID: %s %s\n", spec->manufacturer, spec->monitor); in query_edid()
83 /* as EDID devices can be connected/disconnected just add the driver */ in via_aux_edid_probe()
/linux/drivers/gpu/drm/amd/display/amdgpu_dm/
H A Damdgpu_dm_helpers.c52 static u32 edid_extract_panel_id(struct edid *edid) in edid_extract_panel_id() argument
54 return (u32)edid->mfg_id[0] << 24 | in edid_extract_panel_id()
55 (u32)edid->mfg_id[1] << 16 | in edid_extract_panel_id()
56 (u32)EDID_PRODUCT_ID(edid); in edid_extract_panel_id()
59 static void apply_edid_quirks(struct drm_device *dev, struct edid *edid, struct dc_edid_caps *edid_… in apply_edid_quirks() argument
61 uint32_t panel_id = edid_extract_panel_id(edid); in apply_edid_quirks()
96 * dm_helpers_parse_edid_caps() - Parse edid caps
99 * @edid: [in] pointer to edid
100 * @edid_caps: [in] pointer to edid caps
106 const struct dc_edid *edid, in dm_helpers_parse_edid_caps() argument
[all …]
/linux/Documentation/admin-guide/
H A 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
/linux/drivers/video/fbdev/nvidia/
H A Dnv_of.c26 #include "../edid.h"
34 "DFP,EDID", "LCD,EDID", "EDID", "EDID1", in nvidia_probe_of_connector()
35 "EDID,B", "EDID,A", NULL }; in nvidia_probe_of_connector()
74 printk(KERN_DEBUG "nvidiafb: Found OF EDID for head %d\n", conn); in nvidia_probe_of_connector()
H A Dnv_i2c.c26 #include "../edid.h"
155 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()
/linux/include/media/
H A Dcec-notifier.h16 struct edid;
89 * cec_notifier_set_phys_addr_from_edid - set parse the PA from the EDID.
91 * @edid: the struct edid pointer
93 * Parses the EDID to obtain the new CEC physical address and set it.
97 const struct edid *edid);
142 const struct edid *edid) in cec_notifier_set_phys_addr_from_edid() argument
/linux/drivers/gpu/drm/tests/
H A Ddrm_kunit_edid.h7 * edid-decode (hex):
20 * Block 0, Base EDID:
21 * EDID Structure Version & Revision: 1.3
44 * Display Product Name: 'Test EDID'
52 * edid-decode 1.30.0-5367
53 * edid-decode SHA: 41ebf7135691 2025-05-01 10:19:22
55 * EDID conformity: PASS
73 * This edid is intentionally broken with the 100MHz limit. It's meant
76 * edid-decode (hex):
98 * Block 0, Base EDID:
[all …]
/linux/drivers/media/platform/synopsys/hdmirx/
H A DKconfig20 bool "Load default EDID"
23 Preload default EDID (Extended Display Identification Data)
30 For a higher display modes you will need to load customized EDID
34 non-functional until EDID will be loaded from userspace.
36 commercial product that should utilize own branded EDID.
/linux/Documentation/fb/
H A Dudlfb.rst22 Mode setting, EDID read, etc are other bulk or control transfers. Mode
59 DisplayLink chips (Alex and Ollie family). It will then attempt to read the EDID
139 edid If a valid EDID blob is written to this file (typically
140 by a udev rule), then udlfb will use this EDID as a
141 backup in case reading the actual EDID of the monitor
144 communicate their capabilities via EDID. Reading
145 this file returns the current EDID of the attached
147 useful to get the EDID of the attached monitor,
148 which can be passed to utilities like parse-edid.
/linux/drivers/video/fbdev/i810/
H A Di810-i2c.c20 #include "../edid.h"
34 #define DEBUG /* define this for verbose EDID parsing output */
158 u8 *edid = NULL; in i810_probe_i2c_connector() local
162 edid = fb_ddc_read(&par->chan[conn].adapter); in i810_probe_i2c_connector()
167 DPRINTK("i810-i2c: Getting EDID from BIOS\n"); in i810_probe_i2c_connector()
168 edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL); in i810_probe_i2c_connector()
172 *out_edid = edid; in i810_probe_i2c_connector()
174 return (edid) ? 0 : 1; in i810_probe_i2c_connector()
/linux/drivers/gpu/drm/
H A Ddrm_edid_load.c3 drm_edid_load.c: use a built-in EDID data set or load it via the firmware
24 "Do not probe monitor, use specified EDID blob from /lib/firmware instead.");
35 "[CONNECTOR:%d:%s] Requesting EDID firmware \"%s\" failed (err=%d)\n", in edid_load()
41 drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] Loaded external firmware EDID \"%s\"\n", in edid_load()
46 drm_err(connector->dev, "Invalid firmware EDID \"%s\"\n", name); in edid_load()
65 * If there are multiple edid files specified and separated in drm_edid_load_firmware()
/linux/drivers/gpu/drm/gma500/
H A Doaktrail_lvds.c300 struct edid *edid; in oaktrail_lvds_init()
352 * 1) check for EDID on DDC in oaktrail_lvds_init()
360 edid = NULL; in oaktrail_lvds_init()
365 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()
386 if (edid) { in oaktrail_lvds_init()
387 drm_connector_update_edid_property(connector, edid); in oaktrail_lvds_init()
388 drm_add_edid_modes(connector, edid); in oaktrail_lvds_init()
299 struct edid *edid; oaktrail_lvds_init() local
[all...]
/linux/drivers/video/fbdev/
H A Dudlfb.c28 #include "edid.h"
785 static int dlfb_get_edid(struct dlfb_data *dlfb, char *edid, int len) in dlfb_get_edid() argument
801 "Read EDID byte %d failed: %d\n", i, ret); in dlfb_get_edid()
805 edid[i] = rbuf[1]; in dlfb_get_edid()
824 void __user *edid = (void __user *)arg; in dlfb_ops_ioctl() local
825 if (copy_to_user(edid, dlfb->edid, dlfb->edid_size)) in dlfb_ops_ioctl()
962 kfree(dlfb->edid); in dlfb_ops_destroy()
1228 * 1) Get EDID from hw, or use sw default
1232 * Parses EDID into three places used by various parts of fbdev:
1234 * fb_info.monspecs is full parsed EDID info, including monspecs.modedb
[all …]
H A Dsmscufx.c32 #include "edid.h"
102 u8 *edid; /* null until we read edid from hw or get from sysfs */ member
942 u8 __user *edid = (u8 __user *)arg; in ufx_ops_ioctl() local
943 if (copy_to_user(edid, dev->edid, dev->edid_size)) in ufx_ops_ioctl()
1350 /* A0h is std for any EDID, right shifted by one */ in ufx_i2c_configure()
1393 /* reads a 128-byte EDID block from the currently selected port and TAR */
1394 static int ufx_read_edid(struct ufx_data *dev, u8 *edid, int edid_len) in ufx_read_edid() argument
1397 u32 *edid_u32 = (u32 *)edid; in ufx_read_edid()
1407 memset(edid, 0xff, EDID_LENGTH); in ufx_read_edid()
1409 /* Read the 128-byte EDID as 2 bursts of 64 bytes */ in ufx_read_edid()
[all …]
/linux/Documentation/devicetree/bindings/powerpc/fsl/
H A Ddiu.txt13 - edid : verbatim EDID data block describing attached display.
31 edid = [edid-data];
/linux/Documentation/devicetree/bindings/display/
H A Dsm501fb.txt16 - edid : verbatim EDID data block describing attached display.
31 edid = [edid-data];
/linux/drivers/gpu/drm/amd/display/dc/link/
H A Dlink_detection.c866 * link_detect_evaluate_edid_header() - Evaluate if an EDID header is acceptable.
868 * Evaluates an 8-byte EDID header to check if it's good enough
870 * without reading the full EDID.
872 * @edid_header: The first 8 bytes of the EDID read from DDC.
891 * Detect whether a display is connected to DDC without reading full EDID.
892 * Reads only the EDID header (the first 8 bytes of EDID) from DDC and
895 * @link: DC link whose DDC/I2C is probed for the EDID header.
897 * Return: true if the EDID header was read and passes validation,
1161 DC_LOG_ERROR("EDID checksum invalid.\n"); in detect_link_and_local_sink()
1164 DC_LOG_ERROR("Partial EDID valid, abandon invalid blocks.\n"); in detect_link_and_local_sink()
[all …]
/linux/drivers/video/fbdev/aty/
H A Dradeon_i2c.c16 #include "../edid.h"
144 u8 *edid; in radeon_probe_i2c_connector() local
146 edid = fb_ddc_read(&rinfo->i2c[conn-1].adapter); in radeon_probe_i2c_connector()
149 *out_edid = edid; in radeon_probe_i2c_connector()
150 if (!edid) { in radeon_probe_i2c_connector()
154 if (edid[0x14] & 0x80) { in radeon_probe_i2c_connector()
/linux/drivers/video/fbdev/savage/
H A 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()
/linux/drivers/gpu/drm/vboxvideo/
H A Dvbox_mode.c637 * Generate EDID data with a mode-unique serial number for the virtual
646 unsigned char edid[EDID_SIZE] = { in vbox_set_edid()
653 0x01, 0x03, /* EDID version */ in vbox_set_edid()
691 edid[12] = width & 0xff; in vbox_set_edid()
692 edid[13] = width >> 8; in vbox_set_edid()
693 edid[14] = height & 0xff; in vbox_set_edid()
694 edid[15] = height >> 8; in vbox_set_edid()
695 edid[54] = clock & 0xff; in vbox_set_edid()
696 edid[55] = clock >> 8; in vbox_set_edid()
697 edid[5 in vbox_set_edid()
645 unsigned char edid[EDID_SIZE] = { vbox_set_edid() local
[all...]
/linux/Documentation/devicetree/bindings/display/bridge/
H A Dnxp,ptn3460.yaml20 edid-emulation:
23 The EDID emulation entry to use
63 - edid-emulation
81 edid-emulation = <5>;
/linux/drivers/media/cec/core/
H A Dcec-notifier.c205 const struct edid *edid) in cec_notifier_set_phys_addr_from_edid() argument
212 if (edid && edid->extensions) in cec_notifier_set_phys_addr_from_edid()
213 pa = cec_get_edid_phys_addr((const u8 *)edid, in cec_notifier_set_phys_addr_from_edid()
214 EDID_LENGTH * (edid->extensions + 1), NULL); in cec_notifier_set_phys_addr_from_edid()

12345678910