Lines Matching refs:edid
90 /* edid */
1726 struct v4l2_subdev_edid *edid)
1730 memset(edid->reserved, 0, sizeof(edid->reserved));
1732 if (edid->pad != 0)
1735 if (edid->start_block == 0 && edid->blocks == 0) {
1736 edid->blocks = state->edid_blocks_written;
1743 if (edid->start_block >= state->edid_blocks_written ||
1744 edid->blocks == 0)
1747 if (edid->start_block + edid->blocks > state->edid_blocks_written)
1748 edid->blocks = state->edid_blocks_written - edid->start_block;
1750 i2c_rd(sd, EDID_RAM + (edid->start_block * EDID_BLOCK_SIZE), edid->edid,
1751 edid->blocks * EDID_BLOCK_SIZE);
1757 struct v4l2_subdev_edid *edid)
1760 u16 edid_len = edid->blocks * EDID_BLOCK_SIZE;
1766 __func__, edid->pad, edid->start_block, edid->blocks);
1768 memset(edid->reserved, 0, sizeof(edid->reserved));
1770 if (edid->pad != 0)
1773 if (edid->start_block != 0)
1776 if (edid->blocks > EDID_NUM_BLOCKS_MAX) {
1777 edid->blocks = EDID_NUM_BLOCKS_MAX;
1780 pa = cec_get_edid_phys_addr(edid->edid, edid->blocks * 128, NULL);
1792 if (edid->blocks == 0) {
1798 i2c_wr(sd, EDID_RAM + i, edid->edid + i, EDID_BLOCK_SIZE);
1800 state->edid_blocks_written = edid->blocks;