Lines Matching refs:edid
1077 struct v4l2_edid *edid) in vidioc_g_edid() argument
1085 memset(edid->reserved, 0, sizeof(edid->reserved)); in vidioc_g_edid()
1087 if (edid->pad >= dev->num_inputs) in vidioc_g_edid()
1089 if (dev->input_type[edid->pad] != HDMI) in vidioc_g_edid()
1093 if (edid->pad >= dev->num_outputs) in vidioc_g_edid()
1095 if (dev->output_type[edid->pad] != HDMI) in vidioc_g_edid()
1097 dev_rx = dev->output_to_input_instance[edid->pad]; in vidioc_g_edid()
1101 unsigned int hdmi_output = dev->output_to_iface_index[edid->pad]; in vidioc_g_edid()
1105 if (edid->start_block == 0 && edid->blocks == 0) { in vidioc_g_edid()
1106 edid->blocks = dev_rx->edid_blocks; in vidioc_g_edid()
1111 if (edid->start_block >= dev_rx->edid_blocks) in vidioc_g_edid()
1113 if (edid->blocks > dev_rx->edid_blocks - edid->start_block) in vidioc_g_edid()
1114 edid->blocks = dev_rx->edid_blocks - edid->start_block; in vidioc_g_edid()
1116 memcpy(edid->edid, dev_rx->edid + edid->start_block * 128, edid->blocks * 128); in vidioc_g_edid()
1118 loc = cec_get_edid_spa_location(dev_rx->edid, in vidioc_g_edid()
1121 loc >= edid->start_block * 128 && in vidioc_g_edid()
1122 loc < (edid->start_block + edid->blocks) * 128) { in vidioc_g_edid()
1126 loc -= edid->start_block * 128; in vidioc_g_edid()
1127 edid->edid[loc] = adap->phys_addr >> 8; in vidioc_g_edid()
1128 edid->edid[loc + 1] = adap->phys_addr & 0xff; in vidioc_g_edid()
1133 sum += edid->edid[i]; in vidioc_g_edid()
1134 edid->edid[i] = 256 - sum; in vidioc_g_edid()