Lines Matching refs:vic

4169 static __always_inline const struct drm_display_mode *cea_mode_for_vic(u8 vic)
4174 if (vic >= 1 && vic < 1 + ARRAY_SIZE(edid_cea_modes_1))
4175 return &edid_cea_modes_1[vic - 1];
4176 if (vic >= 193 && vic < 193 + ARRAY_SIZE(edid_cea_modes_193))
4177 return &edid_cea_modes_193[vic - 193];
4186 static u8 cea_next_vic(u8 vic)
4188 if (++vic == 1 + ARRAY_SIZE(edid_cea_modes_1))
4189 vic = 193;
4190 return vic;
4219 cea_mode_alternate_timings(u8 vic, struct drm_display_mode *mode)
4239 if (((vic == 8 || vic == 9 ||
4240 vic == 12 || vic == 13) && mode->vtotal < 263) ||
4241 ((vic == 23 || vic == 24 ||
4242 vic == 27 || vic == 28) && mode->vtotal < 314)) {
4257 u8 vic;
4265 for (vic = 1; vic < cea_num_vics(); vic = cea_next_vic(vic)) {
4269 drm_mode_init(&cea_mode, cea_mode_for_vic(vic));
4281 return vic;
4282 } while (cea_mode_alternate_timings(vic, &cea_mode));
4298 u8 vic;
4306 for (vic = 1; vic < cea_num_vics(); vic = cea_next_vic(vic)) {
4310 drm_mode_init(&cea_mode, cea_mode_for_vic(vic));
4322 return vic;
4323 } while (cea_mode_alternate_timings(vic, &cea_mode));
4330 static bool drm_valid_cea_vic(u8 vic)
4332 return cea_mode_for_vic(vic) != NULL;
4364 u8 vic;
4372 for (vic = 1; vic < ARRAY_SIZE(edid_4k_modes); vic++) {
4373 const struct drm_display_mode *hdmi_mode = &edid_4k_modes[vic];
4385 return vic;
4402 u8 vic;
4410 for (vic = 1; vic < ARRAY_SIZE(edid_4k_modes); vic++) {
4411 const struct drm_display_mode *hdmi_mode = &edid_4k_modes[vic];
4421 return vic;
4426 static bool drm_valid_hdmi_vic(u8 vic)
4428 return vic > 0 && vic < ARRAY_SIZE(edid_4k_modes);
4450 u8 vic = drm_match_cea_mode(mode);
4453 if (drm_valid_cea_vic(vic)) {
4454 cea_mode = cea_mode_for_vic(vic);
4457 vic = drm_match_hdmi_mode(mode);
4458 if (drm_valid_hdmi_vic(vic)) {
4459 cea_mode = &edid_4k_modes[vic];
4505 /* 0-6 bit vic, 7th bit native mode indicator */
4545 u8 vic = svd_to_vic(svds[i]);
4548 if (!drm_valid_cea_vic(vic))
4551 newmode = drm_mode_duplicate(dev, cea_mode_for_vic(vic));
4675 static int add_hdmi_mode(struct drm_connector *connector, u8 vic)
4680 if (!drm_valid_hdmi_vic(vic)) {
4682 connector->base.id, connector->name, vic);
4686 newmode = drm_mode_duplicate(dev, &edid_4k_modes[vic]);
4794 u8 vic;
4796 vic = db[9 + offset + i];
4797 modes += add_hdmi_mode(connector, vic);
5287 u8 vic;
5294 vic = drm_match_cea_mode_clock_tolerance(mode, 5);
5295 if (drm_valid_cea_vic(vic)) {
5297 cea_mode = cea_mode_for_vic(vic);
5301 vic = drm_match_hdmi_mode_clock_tolerance(mode, 5);
5302 if (drm_valid_hdmi_vic(vic)) {
5304 cea_mode = &edid_4k_modes[vic];
5324 type, vic, mode->clock, clock);
5880 u8 vic = svd_to_vic(svds[i]);
5882 if (!drm_valid_cea_vic(vic))
5883 vic = 0;
5885 info->vics[vic_index++] = vic;
5902 u8 vic = info->vics[i];
5904 if (vic && y420cmdb_map & BIT_ULL(i))
5905 bitmap_set(hdmi->y420_cmdb_modes, vic, 1);
5909 static bool cta_vdb_has_vic(const struct drm_connector *connector, u8 vic)
5914 if (!vic || !info->vics)
5918 if (info->vics[i] == vic)
5935 u8 vic = svd_to_vic(svds[i]);
5937 if (!drm_valid_cea_vic(vic))
5940 bitmap_set(hdmi->y420_vdb_modes, vic, 1);
7045 static u8 vic_for_avi_infoframe(const struct drm_connector *connector, u8 vic)
7047 if (!is_hdmi2_sink(connector) && vic > 64 &&
7048 !cta_vdb_has_vic(connector, vic))
7051 return vic;
7069 u8 vic, hdmi_vic;
7079 vic = drm_mode_cea_vic(connector, mode);
7098 if (vic)
7099 picture_aspect = drm_get_cea_aspect_ratio(vic);
7110 if (vic) {
7111 if (picture_aspect != drm_get_cea_aspect_ratio(vic))
7123 frame->video_code = vic_for_avi_infoframe(connector, vic);
7252 * (ie.vic==0 and s3d_struct==0) we will still send it if we
7259 frame->vic = drm_mode_hdmi_vic(connector, mode);