Lines Matching refs:vic
4160 static __always_inline const struct drm_display_mode *cea_mode_for_vic(u8 vic) in cea_mode_for_vic() argument
4165 if (vic >= 1 && vic < 1 + ARRAY_SIZE(edid_cea_modes_1)) in cea_mode_for_vic()
4166 return &edid_cea_modes_1[vic - 1]; in cea_mode_for_vic()
4167 if (vic >= 193 && vic < 193 + ARRAY_SIZE(edid_cea_modes_193)) in cea_mode_for_vic()
4168 return &edid_cea_modes_193[vic - 193]; in cea_mode_for_vic()
4177 static u8 cea_next_vic(u8 vic) in cea_next_vic() argument
4179 if (++vic == 1 + ARRAY_SIZE(edid_cea_modes_1)) in cea_next_vic()
4180 vic = 193; in cea_next_vic()
4181 return vic; in cea_next_vic()
4210 cea_mode_alternate_timings(u8 vic, struct drm_display_mode *mode) in cea_mode_alternate_timings() argument
4230 if (((vic == 8 || vic == 9 || in cea_mode_alternate_timings()
4231 vic == 12 || vic == 13) && mode->vtotal < 263) || in cea_mode_alternate_timings()
4232 ((vic == 23 || vic == 24 || in cea_mode_alternate_timings()
4233 vic == 27 || vic == 28) && mode->vtotal < 314)) { in cea_mode_alternate_timings()
4248 u8 vic; in drm_match_cea_mode_clock_tolerance() local
4256 for (vic = 1; vic < cea_num_vics(); vic = cea_next_vic(vic)) { in drm_match_cea_mode_clock_tolerance()
4260 drm_mode_init(&cea_mode, cea_mode_for_vic(vic)); in drm_match_cea_mode_clock_tolerance()
4272 return vic; in drm_match_cea_mode_clock_tolerance()
4273 } while (cea_mode_alternate_timings(vic, &cea_mode)); in drm_match_cea_mode_clock_tolerance()
4289 u8 vic; in drm_match_cea_mode() local
4297 for (vic = 1; vic < cea_num_vics(); vic = cea_next_vic(vic)) { in drm_match_cea_mode()
4301 drm_mode_init(&cea_mode, cea_mode_for_vic(vic)); in drm_match_cea_mode()
4313 return vic; in drm_match_cea_mode()
4314 } while (cea_mode_alternate_timings(vic, &cea_mode)); in drm_match_cea_mode()
4321 static bool drm_valid_cea_vic(u8 vic) in drm_valid_cea_vic() argument
4323 return cea_mode_for_vic(vic) != NULL; in drm_valid_cea_vic()
4355 u8 vic; in drm_match_hdmi_mode_clock_tolerance() local
4363 for (vic = 1; vic < ARRAY_SIZE(edid_4k_modes); vic++) { in drm_match_hdmi_mode_clock_tolerance()
4364 const struct drm_display_mode *hdmi_mode = &edid_4k_modes[vic]; in drm_match_hdmi_mode_clock_tolerance()
4376 return vic; in drm_match_hdmi_mode_clock_tolerance()
4393 u8 vic; in drm_match_hdmi_mode() local
4401 for (vic = 1; vic < ARRAY_SIZE(edid_4k_modes); vic++) { in drm_match_hdmi_mode()
4402 const struct drm_display_mode *hdmi_mode = &edid_4k_modes[vic]; in drm_match_hdmi_mode()
4412 return vic; in drm_match_hdmi_mode()
4417 static bool drm_valid_hdmi_vic(u8 vic) in drm_valid_hdmi_vic() argument
4419 return vic > 0 && vic < ARRAY_SIZE(edid_4k_modes); in drm_valid_hdmi_vic()
4441 u8 vic = drm_match_cea_mode(mode); in add_alternate_cea_modes() local
4444 if (drm_valid_cea_vic(vic)) { in add_alternate_cea_modes()
4445 cea_mode = cea_mode_for_vic(vic); in add_alternate_cea_modes()
4448 vic = drm_match_hdmi_mode(mode); in add_alternate_cea_modes()
4449 if (drm_valid_hdmi_vic(vic)) { in add_alternate_cea_modes()
4450 cea_mode = &edid_4k_modes[vic]; in add_alternate_cea_modes()
4536 u8 vic = svd_to_vic(svds[i]); in do_y420vdb_modes() local
4539 if (!drm_valid_cea_vic(vic)) in do_y420vdb_modes()
4542 newmode = drm_mode_duplicate(dev, cea_mode_for_vic(vic)); in do_y420vdb_modes()
4666 static int add_hdmi_mode(struct drm_connector *connector, u8 vic) in add_hdmi_mode() argument
4671 if (!drm_valid_hdmi_vic(vic)) { in add_hdmi_mode()
4673 connector->base.id, connector->name, vic); in add_hdmi_mode()
4677 newmode = drm_mode_duplicate(dev, &edid_4k_modes[vic]); in add_hdmi_mode()
4785 u8 vic; in do_hdmi_vsdb_modes() local
4787 vic = db[9 + offset + i]; in do_hdmi_vsdb_modes()
4788 modes += add_hdmi_mode(connector, vic); in do_hdmi_vsdb_modes()
5278 u8 vic; in fixup_detailed_cea_mode_clock() local
5285 vic = drm_match_cea_mode_clock_tolerance(mode, 5); in fixup_detailed_cea_mode_clock()
5286 if (drm_valid_cea_vic(vic)) { in fixup_detailed_cea_mode_clock()
5288 cea_mode = cea_mode_for_vic(vic); in fixup_detailed_cea_mode_clock()
5292 vic = drm_match_hdmi_mode_clock_tolerance(mode, 5); in fixup_detailed_cea_mode_clock()
5293 if (drm_valid_hdmi_vic(vic)) { in fixup_detailed_cea_mode_clock()
5295 cea_mode = &edid_4k_modes[vic]; in fixup_detailed_cea_mode_clock()
5315 type, vic, mode->clock, clock); in fixup_detailed_cea_mode_clock()
5871 u8 vic = svd_to_vic(svds[i]); in parse_cta_vdb() local
5873 if (!drm_valid_cea_vic(vic)) in parse_cta_vdb()
5874 vic = 0; in parse_cta_vdb()
5876 info->vics[vic_index++] = vic; in parse_cta_vdb()
5893 u8 vic = info->vics[i]; in update_cta_y420cmdb() local
5895 if (vic && y420cmdb_map & BIT_ULL(i)) in update_cta_y420cmdb()
5896 bitmap_set(hdmi->y420_cmdb_modes, vic, 1); in update_cta_y420cmdb()
5900 static bool cta_vdb_has_vic(const struct drm_connector *connector, u8 vic) in cta_vdb_has_vic() argument
5905 if (!vic || !info->vics) in cta_vdb_has_vic()
5909 if (info->vics[i] == vic) in cta_vdb_has_vic()
5926 u8 vic = svd_to_vic(svds[i]); in parse_cta_y420vdb() local
5928 if (!drm_valid_cea_vic(vic)) in parse_cta_y420vdb()
5931 bitmap_set(hdmi->y420_vdb_modes, vic, 1); in parse_cta_y420vdb()
7036 static u8 vic_for_avi_infoframe(const struct drm_connector *connector, u8 vic) in vic_for_avi_infoframe() argument
7038 if (!is_hdmi2_sink(connector) && vic > 64 && in vic_for_avi_infoframe()
7039 !cta_vdb_has_vic(connector, vic)) in vic_for_avi_infoframe()
7042 return vic; in vic_for_avi_infoframe()
7060 u8 vic, hdmi_vic; in drm_hdmi_avi_infoframe_from_display_mode() local
7070 vic = drm_mode_cea_vic(connector, mode); in drm_hdmi_avi_infoframe_from_display_mode()
7089 if (vic) in drm_hdmi_avi_infoframe_from_display_mode()
7090 picture_aspect = drm_get_cea_aspect_ratio(vic); in drm_hdmi_avi_infoframe_from_display_mode()
7101 if (vic) { in drm_hdmi_avi_infoframe_from_display_mode()
7102 if (picture_aspect != drm_get_cea_aspect_ratio(vic)) in drm_hdmi_avi_infoframe_from_display_mode()
7114 frame->video_code = vic_for_avi_infoframe(connector, vic); in drm_hdmi_avi_infoframe_from_display_mode()
7250 frame->vic = drm_mode_hdmi_vic(connector, mode); in drm_hdmi_vendor_infoframe_from_display_mode()