Lines Matching refs:edid

252 	const u8 *edid = port->edid;  in extron_parse_edid()  local
261 port->est_i = edid[0x23]; in extron_parse_edid()
262 port->est_ii = edid[0x24]; in extron_parse_edid()
266 const u8 *dtd = edid + 0x36 + i * 18; in extron_parse_edid()
292 edid += 128; in extron_parse_edid()
295 if (edid[0] != 0x02 || edid[1] != 0x03) in extron_parse_edid()
299 d = edid[2] & 0x7f; in extron_parse_edid()
308 u8 tag = edid[i] >> 5; in extron_parse_edid()
309 u8 len = edid[i] & 0x1f; in extron_parse_edid()
318 if (memchr(edid + i + 1, 97, len)) in extron_parse_edid()
321 if (memchr(edid + i + 1, 95, len)) in extron_parse_edid()
326 switch (edid[i + 1]) { in extron_parse_edid()
328 if (edid[i + 2] & 0x80) in extron_parse_edid()
330 if (edid[i + 2] & 0x40) in extron_parse_edid()
340 static int get_edid_tag_location(const u8 *edid, unsigned int size, in get_edid_tag_location() argument
347 edid += offset; in get_edid_tag_location()
350 if (size < 256 || edid[0] != 0x02 || edid[1] != 0x03) in get_edid_tag_location()
354 d = edid[0x02] & 0x7f; in get_edid_tag_location()
362 unsigned char tag = edid[i] >> 5; in get_edid_tag_location()
363 unsigned char len = edid[i] & 0x1f; in get_edid_tag_location()
370 if (tag < 7 || (len >= 1 && edid[i + 1] == ext_tag)) in get_edid_tag_location()
377 static void extron_edid_crc(u8 *edid) in extron_edid_crc() argument
384 sum += edid[offset]; in extron_edid_crc()
385 edid[127] = 256 - sum; in extron_edid_crc()
444 const u8 *edid, unsigned int blocks) in extron_write_edid() argument
450 if (cec_get_edid_spa_location(edid, blocks * 128)) in extron_write_edid()
456 memcpy(port->edid_tmp, edid, blocks * 128); in extron_write_edid()
472 memcpy(port->edid, port->edid_tmp, blocks * 128); in extron_write_edid()
809 while (extron->edid_bytes_read < sizeof(port->edid) && *hex) { in extron_add_edid()
810 int err = hex2bin(&port->edid[extron->edid_bytes_read], hex, 1); in extron_add_edid()
821 port->edid[126] == 0) { in extron_add_edid()
827 if (extron->edid_bytes_read < sizeof(port->edid)) in extron_add_edid()
1183 log_printf(adap, file, "EDID: %*ph\n", 16, port->edid + i); in extron_adap_status()
1256 struct v4l2_edid *edid) in extron_g_edid() argument
1260 memset(edid->reserved, 0, sizeof(edid->reserved)); in extron_g_edid()
1263 if (edid->pad) in extron_g_edid()
1271 if (edid->start_block == 0 && edid->blocks == 0) { in extron_g_edid()
1272 edid->blocks = port->edid_blocks; in extron_g_edid()
1275 if (edid->start_block >= port->edid_blocks) in extron_g_edid()
1277 if (edid->blocks > port->edid_blocks - edid->start_block) in extron_g_edid()
1278 edid->blocks = port->edid_blocks - edid->start_block; in extron_g_edid()
1279 memcpy(edid->edid, port->edid + edid->start_block * 128, edid->blocks * 128); in extron_g_edid()
1283 static int extron_s_edid(struct file *file, void *_fh, struct v4l2_edid *edid) in extron_s_edid() argument
1287 memset(edid->reserved, 0, sizeof(edid->reserved)); in extron_s_edid()
1290 if (edid->pad) in extron_s_edid()
1294 if (edid->blocks == 0) in extron_s_edid()
1297 if (edid->blocks > MAX_EDID_BLOCKS) { in extron_s_edid()
1298 edid->blocks = MAX_EDID_BLOCKS; in extron_s_edid()
1302 if (cec_get_edid_spa_location(edid->edid, edid->blocks * 128)) in extron_s_edid()
1303 v4l2_set_edid_phys_addr(edid->edid, edid->blocks * 128, 0); in extron_s_edid()
1305 return extron_write_edid(port, edid->edid, edid->blocks); in extron_s_edid()