Lines Matching refs:vic
3332 static __always_inline const struct drm_display_mode *cea_mode_for_vic(u8 vic)
3337 if (vic >= 1 && vic < 1 + ARRAY_SIZE(edid_cea_modes_1))
3338 return &edid_cea_modes_1[vic - 1];
3339 if (vic >= 193 && vic < 193 + ARRAY_SIZE(edid_cea_modes_193))
3340 return &edid_cea_modes_193[vic - 193];
3349 static u8 cea_next_vic(u8 vic)
3351 if (++vic == 1 + ARRAY_SIZE(edid_cea_modes_1))
3352 vic = 193;
3353 return vic;
3382 cea_mode_alternate_timings(u8 vic, struct drm_display_mode *mode)
3402 if (((vic == 8 || vic == 9 ||
3403 vic == 12 || vic == 13) && mode->vtotal < 263) ||
3404 ((vic == 23 || vic == 24 ||
3405 vic == 27 || vic == 28) && mode->vtotal < 314)) {
3420 u8 vic;
3428 for (vic = 1; vic < cea_num_vics(); vic = cea_next_vic(vic)) {
3429 struct drm_display_mode cea_mode = *cea_mode_for_vic(vic);
3442 return vic;
3443 } while (cea_mode_alternate_timings(vic, &cea_mode));
3459 u8 vic;
3467 for (vic = 1; vic < cea_num_vics(); vic = cea_next_vic(vic)) {
3468 struct drm_display_mode cea_mode = *cea_mode_for_vic(vic);
3481 return vic;
3482 } while (cea_mode_alternate_timings(vic, &cea_mode));
3489 static bool drm_valid_cea_vic(u8 vic)
3491 return cea_mode_for_vic(vic) != NULL;
3523 u8 vic;
3531 for (vic = 1; vic < ARRAY_SIZE(edid_4k_modes); vic++) {
3532 const struct drm_display_mode *hdmi_mode = &edid_4k_modes[vic];
3544 return vic;
3561 u8 vic;
3569 for (vic = 1; vic < ARRAY_SIZE(edid_4k_modes); vic++) {
3570 const struct drm_display_mode *hdmi_mode = &edid_4k_modes[vic];
3580 return vic;
3585 static bool drm_valid_hdmi_vic(u8 vic)
3587 return vic > 0 && vic < ARRAY_SIZE(edid_4k_modes);
3609 u8 vic = drm_match_cea_mode(mode);
3612 if (drm_valid_cea_vic(vic)) {
3613 cea_mode = cea_mode_for_vic(vic);
3616 vic = drm_match_hdmi_mode(mode);
3617 if (drm_valid_hdmi_vic(vic)) {
3618 cea_mode = &edid_4k_modes[vic];
3664 /* 0-6 bit vic, 7th bit native mode indicator */
3678 u8 vic;
3684 vic = svd_to_vic(video_db[video_index]);
3685 if (!drm_valid_cea_vic(vic))
3688 newmode = drm_mode_duplicate(dev, cea_mode_for_vic(vic));
3714 u8 vic = svd_to_vic(svds[i]);
3717 if (!drm_valid_cea_vic(vic))
3720 newmode = drm_mode_duplicate(dev, cea_mode_for_vic(vic));
3723 bitmap_set(hdmi->y420_vdb_modes, vic, 1);
3736 * @vic: CEA vic for the video mode to be added in the map
3743 u8 vic = svd_to_vic(svd);
3746 if (!drm_valid_cea_vic(vic))
3749 bitmap_set(hdmi->y420_cmdb_modes, vic, 1);
3875 static int add_hdmi_mode(struct drm_connector *connector, u8 vic)
3880 if (!drm_valid_hdmi_vic(vic)) {
3881 DRM_ERROR("Unknown HDMI VIC: %d\n", vic);
3885 newmode = drm_mode_duplicate(dev, &edid_4k_modes[vic]);
3987 u8 vic;
3989 vic = db[9 + offset + i];
3990 modes += add_hdmi_mode(connector, vic);
4319 u8 vic;
4326 vic = drm_match_cea_mode_clock_tolerance(mode, 5);
4327 if (drm_valid_cea_vic(vic)) {
4329 cea_mode = cea_mode_for_vic(vic);
4333 vic = drm_match_hdmi_mode_clock_tolerance(mode, 5);
4334 if (drm_valid_hdmi_vic(vic)) {
4336 cea_mode = &edid_4k_modes[vic];
4354 type, vic, mode->clock, clock);
5582 static u8 vic_for_avi_infoframe(const struct drm_connector *connector, u8 vic)
5584 if (!is_hdmi2_sink(connector) && vic > 64)
5587 return vic;
5605 u8 vic, hdmi_vic;
5615 vic = drm_mode_cea_vic(connector, mode);
5634 if (vic)
5635 picture_aspect = drm_get_cea_aspect_ratio(vic);
5646 if (vic) {
5647 if (picture_aspect != drm_get_cea_aspect_ratio(vic))
5659 frame->video_code = vic_for_avi_infoframe(connector, vic);
5875 * (ie.vic==0 and s3d_struct==0) we will still send it if we
5882 frame->vic = drm_mode_hdmi_vic(connector, mode);