Lines Matching full:edid

833  *	0x15 and 0x16 from the EDID.
834 * @hor_landscape - byte 0x15 from the EDID.
835 * @vert_portrait - byte 0x16 from the EDID.
837 * Determines the aspect ratio from the EDID.
838 * See VESA Enhanced EDID standard, release A, rev 2, section 3.6.2:
1021 * v4l2_num_edid_blocks() - return the number of EDID blocks
1023 * @edid: pointer to the EDID data
1024 * @max_blocks: maximum number of supported EDID blocks
1026 * Return: the number of EDID blocks based on the contents of the EDID.
1027 * This supports the HDMI Forum EDID Extension Override Data Block.
1029 unsigned int v4l2_num_edid_blocks(const u8 *edid, unsigned int max_blocks) in v4l2_num_edid_blocks() argument
1033 if (!edid || !max_blocks) in v4l2_num_edid_blocks()
1037 // first 128-byte block in the EDID. in v4l2_num_edid_blocks()
1039 // If there is an HDMI Forum EDID Extension Override Data Block in v4l2_num_edid_blocks()
1041 // block of the EDID. in v4l2_num_edid_blocks()
1042 blocks = edid[126] + 1; in v4l2_num_edid_blocks()
1043 // Check for HDMI Forum EDID Extension Override Data Block in v4l2_num_edid_blocks()
1044 if (blocks >= 2 && // The EDID must be at least 2 blocks in v4l2_num_edid_blocks()
1046 edid[128] == 2 && // The first extension block is type CTA-861 in v4l2_num_edid_blocks()
1047 edid[133] == 0x78 && // Identifier for the EEODB in v4l2_num_edid_blocks()
1048 (edid[132] & 0xe0) == 0xe0 && // Tag Code == 7 in v4l2_num_edid_blocks()
1049 (edid[132] & 0x1f) >= 2 && // Length >= 2 in v4l2_num_edid_blocks()
1050 edid[134] > 1) // Number of extension blocks is sane in v4l2_num_edid_blocks()
1051 blocks = edid[134] + 1; in v4l2_num_edid_blocks()
1059 * @edid: pointer to the EDID data
1060 * @size: size in bytes of the EDID data
1062 * bytes in the EDID will be returned here. This is set to 0
1067 u16 v4l2_get_edid_phys_addr(const u8 *edid, unsigned int size, in v4l2_get_edid_phys_addr() argument
1070 unsigned int loc = cec_get_edid_spa_location(edid, size); in v4l2_get_edid_phys_addr()
1076 return (edid[loc] << 8) | edid[loc + 1]; in v4l2_get_edid_phys_addr()
1083 * @edid: pointer to the EDID data
1084 * @size: size in bytes of the EDID data
1087 * This function finds the location of the physical address in the EDID
1089 * at the end of the EDID block. It does nothing if the EDID doesn't
1092 void v4l2_set_edid_phys_addr(u8 *edid, unsigned int size, u16 phys_addr) in v4l2_set_edid_phys_addr() argument
1094 unsigned int loc = cec_get_edid_spa_location(edid, size); in v4l2_set_edid_phys_addr()
1100 edid[loc] = phys_addr >> 8; in v4l2_set_edid_phys_addr()
1101 edid[loc + 1] = phys_addr & 0xff; in v4l2_set_edid_phys_addr()
1106 sum += edid[i]; in v4l2_set_edid_phys_addr()
1107 edid[i] = 256 - sum; in v4l2_set_edid_phys_addr()
1157 * v4l2_phys_addr_validate() - validate a physical address from an EDID
1163 * This validates a physical address as read from an EDID. If the