Lines Matching defs:segment
1420 static void adv7511_dbg_dump_edid(int lvl, int debug, struct v4l2_subdev *sd, int segment, u8 *buf)
1424 v4l2_dbg(lvl, debug, sd, "edid segment %d\n", segment);
1447 ed.segment = adv7511_rd(sd, 0xc4);
1597 static bool edid_verify_crc(struct v4l2_subdev *sd, u32 segment)
1603 if (!edid_block_verify_crc(&data[segment * 256]))
1605 if ((segment + 1) * 2 <= blocks)
1606 return edid_block_verify_crc(&data[segment * 256 + 128]);
1610 static bool edid_verify_header(struct v4l2_subdev *sd, u32 segment)
1618 if (segment != 0)
1635 int segment = adv7511_rd(sd, 0xc4);
1639 if (segment >= EDID_MAX_SEGM) {
1640 v4l2_err(sd, "edid segment number too big\n");
1643 v4l2_dbg(1, debug, sd, "%s: got segment %d\n", __func__, segment);
1644 err = adv7511_edid_rd(sd, 256, &state->edid.data[segment * 256]);
1646 adv7511_dbg_dump_edid(2, debug, sd, segment, &state->edid.data[segment * 256]);
1647 if (segment == 0) {
1654 if (err || !edid_verify_crc(sd, segment) || !edid_verify_header(sd, segment)) {
1663 /* one more segment read ok */
1664 state->edid.segments = segment + 1;
1667 /* Request next EDID segment */
1668 v4l2_dbg(1, debug, sd, "%s: request segment %d\n", __func__, state->edid.segments);
1676 v4l2_dbg(1, debug, sd, "%s: edid complete with %d segment(s)\n", __func__, state->edid.segments);
1682 but report only for segment 0
1685 ed.segment = 0;