Lines Matching refs:edid
114 struct adv7511_state_edid edid; member
526 struct adv7511_state_edid *edid = &state->edid; in adv7511_log_status() local
554 edid->segments ? "found" : "no", in adv7511_log_status()
555 edid->blocks); in adv7511_log_status()
892 static int adv7511_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv7511_get_edid() argument
896 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv7511_get_edid()
898 if (edid->pad != 0) in adv7511_get_edid()
901 if (edid->start_block == 0 && edid->blocks == 0) { in adv7511_get_edid()
902 edid->blocks = state->edid.segments * 2; in adv7511_get_edid()
906 if (state->edid.segments == 0) in adv7511_get_edid()
909 if (edid->start_block >= state->edid.segments * 2) in adv7511_get_edid()
912 if (edid->start_block + edid->blocks > state->edid.segments * 2) in adv7511_get_edid()
913 edid->blocks = state->edid.segments * 2 - edid->start_block; in adv7511_get_edid()
915 memcpy(edid->edid, &state->edid.data[edid->start_block * 128], in adv7511_get_edid()
916 128 * edid->blocks); in adv7511_get_edid()
1193 if (state->edid.read_retries) { in adv7511_edid_handler()
1194 state->edid.read_retries--; in adv7511_edid_handler()
1277 …if ((status & MASK_ADV7511_HPD_DETECT) && ((status & MASK_ADV7511_MSEN_DETECT) || state->edid.segm… in adv7511_check_monitor_present_status()
1289 state->edid.read_retries = EDID_MAX_RETRIES; in adv7511_check_monitor_present_status()
1294 state->edid.read_retries = EDID_MAX_RETRIES; in adv7511_check_monitor_present_status()
1304 memset(&state->edid, 0, sizeof(struct adv7511_state_edid)); in adv7511_check_monitor_present_status()
1322 u32 blocks = state->edid.blocks; in edid_verify_crc()
1323 u8 *data = state->edid.data; in edid_verify_crc()
1338 u8 *data = state->edid.data; in edid_verify_header()
1351 __func__, EDID_MAX_RETRIES - state->edid.read_retries); in adv7511_check_edid_status()
1353 if (state->edid.complete) in adv7511_check_edid_status()
1365 adv7511_edid_rd(sd, 256, &state->edid.data[segment * 256]); in adv7511_check_edid_status()
1366 adv7511_dbg_dump_edid(2, debug, sd, segment, &state->edid.data[segment * 256]); in adv7511_check_edid_status()
1368 state->edid.blocks = state->edid.data[0x7e] + 1; in adv7511_check_edid_status()
1369 v4l2_dbg(1, debug, sd, "%s: %d blocks in total\n", __func__, state->edid.blocks); in adv7511_check_edid_status()
1381 state->edid.segments = segment + 1; in adv7511_check_edid_status()
1383 if (((state->edid.data[0x7e] >> 1) + 1) > state->edid.segments) { in adv7511_check_edid_status()
1385 v4l2_dbg(1, debug, sd, "%s: request segment %d\n", __func__, state->edid.segments); in adv7511_check_edid_status()
1387 adv7511_wr(sd, 0xc4, state->edid.segments); in adv7511_check_edid_status()
1388 state->edid.read_retries = EDID_MAX_RETRIES; in adv7511_check_edid_status()
1393 v4l2_dbg(1, debug, sd, "%s: edid complete with %d segment(s)\n", __func__, state->edid.segments); in adv7511_check_edid_status()
1394 state->edid.complete = true; in adv7511_check_edid_status()
1414 struct adv7511_state_edid *edid = &state->edid; in adv7511_init_setup() local
1426 memset(edid, 0, sizeof(struct adv7511_state_edid)); in adv7511_init_setup()