Lines Matching defs:vic
1532 * HDMI 1.4 4k modes. Index using the VIC.
3228 static __always_inline const struct drm_display_mode *cea_mode_for_vic(u8 vic)
3233 if (vic >= 1 && vic < 1 + ARRAY_SIZE(edid_cea_modes_1))
3234 return &edid_cea_modes_1[vic - 1];
3235 if (vic >= 193 && vic < 193 + ARRAY_SIZE(edid_cea_modes_193))
3236 return &edid_cea_modes_193[vic - 193];
3245 static u8 cea_next_vic(u8 vic)
3247 if (++vic == 1 + ARRAY_SIZE(edid_cea_modes_1))
3248 vic = 193;
3249 return vic;
3278 cea_mode_alternate_timings(u8 vic, struct drm_display_mode *mode)
3298 if (((vic == 8 || vic == 9 ||
3299 vic == 12 || vic == 13) && mode->vtotal < 263) ||
3300 ((vic == 23 || vic == 24 ||
3301 vic == 27 || vic == 28) && mode->vtotal < 314)) {
3316 u8 vic;
3324 for (vic = 1; vic < cea_num_vics(); vic = cea_next_vic(vic)) {
3325 struct drm_display_mode cea_mode = *cea_mode_for_vic(vic);
3338 return vic;
3339 } while (cea_mode_alternate_timings(vic, &cea_mode));
3349 * Return: The CEA Video ID (VIC) of the mode or 0 if it isn't a CEA-861
3355 u8 vic;
3363 for (vic = 1; vic < cea_num_vics(); vic = cea_next_vic(vic)) {
3364 struct drm_display_mode cea_mode = *cea_mode_for_vic(vic);
3377 return vic;
3378 } while (cea_mode_alternate_timings(vic, &cea_mode));
3385 static bool drm_valid_cea_vic(u8 vic)
3387 return cea_mode_for_vic(vic) != NULL;
3419 u8 vic;
3427 for (vic = 1; vic < ARRAY_SIZE(edid_4k_modes); vic++) {
3428 const struct drm_display_mode *hdmi_mode = &edid_4k_modes[vic];
3440 return vic;
3452 * Returns the HDMI Video ID (VIC) of the mode or 0 if it isn't one.
3457 u8 vic;
3465 for (vic = 1; vic < ARRAY_SIZE(edid_4k_modes); vic++) {
3466 const struct drm_display_mode *hdmi_mode = &edid_4k_modes[vic];
3476 return vic;
3481 static bool drm_valid_hdmi_vic(u8 vic)
3483 return vic > 0 && vic < ARRAY_SIZE(edid_4k_modes);
3505 u8 vic = drm_match_cea_mode(mode);
3508 if (drm_valid_cea_vic(vic)) {
3509 cea_mode = cea_mode_for_vic(vic);
3512 vic = drm_match_hdmi_mode(mode);
3513 if (drm_valid_hdmi_vic(vic)) {
3514 cea_mode = &edid_4k_modes[vic];
3560 /* 0-6 bit vic, 7th bit native mode indicator */
3574 u8 vic;
3580 vic = svd_to_vic(video_db[video_index]);
3581 if (!drm_valid_cea_vic(vic))
3584 newmode = drm_mode_duplicate(dev, cea_mode_for_vic(vic));
3612 u8 vic = svd_to_vic(svds[i]);
3615 if (!drm_valid_cea_vic(vic))
3618 newmode = drm_mode_duplicate(dev, cea_mode_for_vic(vic));
3621 bitmap_set(hdmi->y420_vdb_modes, vic, 1);
3634 * @vic: CEA vic for the video mode to be added in the map
3641 u8 vic = svd_to_vic(svd);
3644 if (!drm_valid_cea_vic(vic))
3647 bitmap_set(hdmi->y420_cmdb_modes, vic, 1);
3744 static int add_hdmi_mode(struct drm_connector *connector, u8 vic)
3749 if (!drm_valid_hdmi_vic(vic)) {
3750 DRM_ERROR("Unknown HDMI VIC: %d\n", vic);
3754 newmode = drm_mode_duplicate(dev, &edid_4k_modes[vic]);
3856 u8 vic;
3858 vic = db[9 + offset + i];
3859 modes += add_hdmi_mode(connector, vic);
4177 u8 vic;
4184 vic = drm_match_cea_mode_clock_tolerance(mode, 5);
4185 if (drm_valid_cea_vic(vic)) {
4187 cea_mode = cea_mode_for_vic(vic);
4191 vic = drm_match_hdmi_mode_clock_tolerance(mode, 5);
4192 if (drm_valid_hdmi_vic(vic)) {
4194 cea_mode = &edid_4k_modes[vic];
4211 DRM_DEBUG("detailed mode matches %s VIC %d, adjusting clock %d -> %d\n",
4212 type, vic, mode->clock, clock);
4702 /* All CEA modes other than VIC 1 use limited quantization range. */
5366 /* No HDMI VIC when signalling 3D video format */
5376 u8 vic;
5380 * we should send its VIC in vendor infoframes, else send the
5381 * VIC in AVI infoframes. Lets check if this mode is present in
5387 vic = drm_match_cea_mode(mode);
5390 * HDMI 1.4 VIC range: 1 <= VIC <= 64 (CEA-861-D) but
5391 * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we
5394 if (!is_hdmi2_sink(connector) && vic > 64)
5397 return vic;
5415 u8 vic, hdmi_vic;
5428 vic = drm_mode_cea_vic(connector, mode);
5447 if (vic)
5448 picture_aspect = drm_get_cea_aspect_ratio(vic);
5456 * we can only satisfy it by specifying the right VIC.
5459 if (vic) {
5460 if (picture_aspect != drm_get_cea_aspect_ratio(vic))
5472 frame->video_code = vic;
5688 * (ie.vic==0 and s3d_struct==0) we will still send it if we
5695 frame->vic = drm_mode_hdmi_vic(connector, mode);