Lines Matching refs:devdata
626 const struct intel_bios_encoder_data *devdata, in opregion_get_panel_type() argument
633 const struct intel_bios_encoder_data *devdata, in vbt_get_panel_type() argument
649 if (devdata && devdata->child.handle == DEVICE_HANDLE_LFP2) in vbt_get_panel_type()
653 devdata && devdata->child.handle != DEVICE_HANDLE_LFP1); in vbt_get_panel_type()
659 const struct intel_bios_encoder_data *devdata, in pnpid_get_panel_type() argument
709 const struct intel_bios_encoder_data *devdata, in fallback_get_panel_type() argument
723 const struct intel_bios_encoder_data *devdata, in get_panel_type() argument
729 const struct intel_bios_encoder_data *devdata, in get_panel_type()
753 panel_types[i].panel_type = panel_types[i].get_panel_type(display, devdata, in get_panel_type()
1221 const struct intel_bios_encoder_data *devdata; in parse_sdvo_device_mapping() local
1233 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in parse_sdvo_device_mapping()
1234 const struct child_device_config *child = &devdata->child; in parse_sdvo_device_mapping()
2132 struct intel_bios_encoder_data *devdata; in parse_compression_parameters() local
2156 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in parse_compression_parameters()
2157 const struct child_device_config *child = &devdata->child; in parse_compression_parameters()
2176 devdata->dsc = kmemdup(¶ms->data[index], in parse_compression_parameters()
2177 sizeof(*devdata->dsc), GFP_KERNEL); in parse_compression_parameters()
2428 enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_port() argument
2430 struct intel_display *display = devdata->display; in intel_bios_encoder_port()
2431 const struct child_device_config *child = &devdata->child; in intel_bios_encoder_port()
2498 int intel_bios_dp_max_link_rate(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_max_link_rate() argument
2500 if (!devdata || devdata->display->vbt.version < 216) in intel_bios_dp_max_link_rate()
2503 if (devdata->display->vbt.version >= 230) in intel_bios_dp_max_link_rate()
2504 return parse_bdb_230_dp_max_link_rate(devdata->child.dp_max_link_rate); in intel_bios_dp_max_link_rate()
2506 return parse_bdb_216_dp_max_link_rate(devdata->child.dp_max_link_rate); in intel_bios_dp_max_link_rate()
2509 int intel_bios_dp_max_lane_count(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_max_lane_count() argument
2511 if (!devdata || devdata->display->vbt.version < 244) in intel_bios_dp_max_lane_count()
2514 return devdata->child.dp_max_lane_count + 1; in intel_bios_dp_max_lane_count()
2518 intel_bios_encoder_reject_edp_rate(const struct intel_bios_encoder_data *devdata, in intel_bios_encoder_reject_edp_rate() argument
2521 if (!devdata || devdata->display->vbt.version < 263) in intel_bios_encoder_reject_edp_rate()
2524 if (devdata->child.edp_data_rate_override == BDB_263_VBT_EDP_RATES_MASK) in intel_bios_encoder_reject_edp_rate()
2527 return devdata->child.edp_data_rate_override & edp_rate_override_mask(rate); in intel_bios_encoder_reject_edp_rate()
2530 static void sanitize_dedicated_external(struct intel_bios_encoder_data *devdata, in sanitize_dedicated_external() argument
2533 struct intel_display *display = devdata->display; in sanitize_dedicated_external()
2535 if (!intel_bios_encoder_is_dedicated_external(devdata)) in sanitize_dedicated_external()
2548 if (devdata->child.dp_usb_type_c) { in sanitize_dedicated_external()
2552 devdata->child.dp_usb_type_c = 0; in sanitize_dedicated_external()
2559 if (devdata->child.tbt) { in sanitize_dedicated_external()
2563 devdata->child.tbt = 0; in sanitize_dedicated_external()
2570 if (devdata->child.dyn_port_over_tc) { in sanitize_dedicated_external()
2574 devdata->child.dyn_port_over_tc = 0; in sanitize_dedicated_external()
2578 static void sanitize_device_type(struct intel_bios_encoder_data *devdata, in sanitize_device_type() argument
2581 struct intel_display *display = devdata->display; in sanitize_device_type()
2587 if (!intel_bios_encoder_supports_dvi(devdata)) in sanitize_device_type()
2590 is_hdmi = intel_bios_encoder_supports_hdmi(devdata); in sanitize_device_type()
2595 devdata->child.device_type &= ~DEVICE_TYPE_TMDS_DVI_SIGNALING; in sanitize_device_type()
2596 devdata->child.device_type |= DEVICE_TYPE_NOT_HDMI_OUTPUT; in sanitize_device_type()
2599 static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata, in sanitize_hdmi_level_shift() argument
2602 struct intel_display *display = devdata->display; in sanitize_hdmi_level_shift()
2604 if (!intel_bios_encoder_supports_dvi(devdata)) in sanitize_hdmi_level_shift()
2612 if (display->platform.broadwell && devdata->child.hdmi_level_shifter_value > 9) { in sanitize_hdmi_level_shift()
2615 port_name(port), devdata->child.hdmi_level_shifter_value, 9); in sanitize_hdmi_level_shift()
2617 devdata->child.hdmi_level_shifter_value = 9; in sanitize_hdmi_level_shift()
2622 intel_bios_encoder_supports_crt(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_crt() argument
2624 return devdata->child.device_type & DEVICE_TYPE_ANALOG_OUTPUT; in intel_bios_encoder_supports_crt()
2628 intel_bios_encoder_supports_dvi(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dvi() argument
2630 return devdata->child.device_type & DEVICE_TYPE_TMDS_DVI_SIGNALING; in intel_bios_encoder_supports_dvi()
2634 intel_bios_encoder_supports_hdmi(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_hdmi() argument
2636 return intel_bios_encoder_supports_dvi(devdata) && in intel_bios_encoder_supports_hdmi()
2637 (devdata->child.device_type & DEVICE_TYPE_NOT_HDMI_OUTPUT) == 0; in intel_bios_encoder_supports_hdmi()
2641 intel_bios_encoder_supports_dp(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dp() argument
2643 return devdata->child.device_type & DEVICE_TYPE_DISPLAYPORT_OUTPUT; in intel_bios_encoder_supports_dp()
2647 intel_bios_encoder_supports_edp(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_edp() argument
2649 return intel_bios_encoder_supports_dp(devdata) && in intel_bios_encoder_supports_edp()
2650 devdata->child.device_type & DEVICE_TYPE_INTERNAL_CONNECTOR; in intel_bios_encoder_supports_edp()
2654 intel_bios_encoder_supports_dsi(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dsi() argument
2656 return devdata->child.device_type & DEVICE_TYPE_MIPI_OUTPUT; in intel_bios_encoder_supports_dsi()
2660 intel_bios_encoder_is_lspcon(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_is_lspcon() argument
2662 return devdata && HAS_LSPCON(devdata->display) && devdata->child.lspcon; in intel_bios_encoder_is_lspcon()
2666 int intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata) in intel_bios_hdmi_level_shift() argument
2668 if (!devdata || devdata->display->vbt.version < 158 || in intel_bios_hdmi_level_shift()
2669 DISPLAY_VER(devdata->display) >= 14) in intel_bios_hdmi_level_shift()
2672 return devdata->child.hdmi_level_shifter_value; in intel_bios_hdmi_level_shift()
2675 int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata) in intel_bios_hdmi_max_tmds_clock() argument
2677 if (!devdata || devdata->display->vbt.version < 204) in intel_bios_hdmi_max_tmds_clock()
2680 switch (devdata->child.hdmi_max_data_rate) { in intel_bios_hdmi_max_tmds_clock()
2682 MISSING_CASE(devdata->child.hdmi_max_data_rate); in intel_bios_hdmi_max_tmds_clock()
2712 static void print_ddi_port(const struct intel_bios_encoder_data *devdata) in print_ddi_port() argument
2714 struct intel_display *display = devdata->display; in print_ddi_port()
2715 const struct child_device_config *child = &devdata->child; in print_ddi_port()
2720 port = intel_bios_encoder_port(devdata); in print_ddi_port()
2724 is_dvi = intel_bios_encoder_supports_dvi(devdata); in print_ddi_port()
2725 is_dp = intel_bios_encoder_supports_dp(devdata); in print_ddi_port()
2726 is_crt = intel_bios_encoder_supports_crt(devdata); in print_ddi_port()
2727 is_hdmi = intel_bios_encoder_supports_hdmi(devdata); in print_ddi_port()
2728 is_edp = intel_bios_encoder_supports_edp(devdata); in print_ddi_port()
2729 is_dsi = intel_bios_encoder_supports_dsi(devdata); in print_ddi_port()
2731 supports_typec_usb = intel_bios_encoder_supports_typec_usb(devdata); in print_ddi_port()
2732 supports_tbt = intel_bios_encoder_supports_tbt(devdata); in print_ddi_port()
2737 intel_bios_encoder_supports_dp_dual_mode(devdata), in print_ddi_port()
2738 intel_bios_encoder_is_lspcon(devdata), in print_ddi_port()
2740 devdata->dsc != NULL); in print_ddi_port()
2742 if (intel_bios_encoder_is_dedicated_external(devdata)) in print_ddi_port()
2747 if (intel_bios_encoder_supports_dyn_port_over_tc(devdata)) in print_ddi_port()
2752 hdmi_level_shift = intel_bios_hdmi_level_shift(devdata); in print_ddi_port()
2759 max_tmds_clock = intel_bios_hdmi_max_tmds_clock(devdata); in print_ddi_port()
2766 dp_boost_level = intel_bios_dp_boost_level(devdata); in print_ddi_port()
2772 hdmi_boost_level = intel_bios_hdmi_boost_level(devdata); in print_ddi_port()
2778 dp_max_link_rate = intel_bios_dp_max_link_rate(devdata); in print_ddi_port()
2793 static void parse_ddi_port(struct intel_bios_encoder_data *devdata) in parse_ddi_port() argument
2795 struct intel_display *display = devdata->display; in parse_ddi_port()
2798 port = intel_bios_encoder_port(devdata); in parse_ddi_port()
2809 sanitize_dedicated_external(devdata, port); in parse_ddi_port()
2810 sanitize_device_type(devdata, port); in parse_ddi_port()
2811 sanitize_hdmi_level_shift(devdata, port); in parse_ddi_port()
2821 struct intel_bios_encoder_data *devdata; in parse_ddi_ports() local
2826 list_for_each_entry(devdata, &display->vbt.display_devices, node) in parse_ddi_ports()
2827 parse_ddi_port(devdata); in parse_ddi_ports()
2829 list_for_each_entry(devdata, &display->vbt.display_devices, node) in parse_ddi_ports()
2830 print_ddi_port(devdata); in parse_ddi_ports()
2890 struct intel_bios_encoder_data *devdata; in parse_general_definitions() local
2931 devdata = kzalloc_obj(*devdata); in parse_general_definitions()
2932 if (!devdata) in parse_general_definitions()
2935 devdata->display = display; in parse_general_definitions()
2942 memcpy(&devdata->child, child, in parse_general_definitions()
2945 list_add_tail(&devdata->node, &display->vbt.display_devices); in parse_general_definitions()
3000 struct intel_bios_encoder_data *devdata; in init_vbt_missing_defaults() local
3012 devdata = kzalloc_obj(*devdata); in init_vbt_missing_defaults()
3013 if (!devdata) in init_vbt_missing_defaults()
3016 devdata->display = display; in init_vbt_missing_defaults()
3017 child = &devdata->child; in init_vbt_missing_defaults()
3035 list_add_tail(&devdata->node, &display->vbt.display_devices); in init_vbt_missing_defaults()
3289 const struct intel_bios_encoder_data *devdata, in intel_bios_init_panel() argument
3299 panel->vbt.panel_type = get_panel_type(display, devdata, in intel_bios_init_panel()
3323 const struct intel_bios_encoder_data *devdata) in intel_bios_init_panel_early() argument
3325 intel_bios_init_panel(display, panel, devdata, NULL, false); in intel_bios_init_panel_early()
3330 const struct intel_bios_encoder_data *devdata, in intel_bios_init_panel_late() argument
3333 intel_bios_init_panel(display, panel, devdata, drm_edid, true); in intel_bios_init_panel_late()
3342 struct intel_bios_encoder_data *devdata, *nd; in intel_bios_driver_remove() local
3345 list_for_each_entry_safe(devdata, nd, &display->vbt.display_devices, in intel_bios_driver_remove()
3347 list_del(&devdata->node); in intel_bios_driver_remove()
3348 kfree(devdata->dsc); in intel_bios_driver_remove()
3349 kfree(devdata); in intel_bios_driver_remove()
3383 const struct intel_bios_encoder_data *devdata; in intel_bios_is_tv_present() local
3391 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_is_tv_present()
3392 const struct child_device_config *child = &devdata->child; in intel_bios_is_tv_present()
3425 const struct intel_bios_encoder_data *devdata; in intel_bios_is_lvds_present() local
3430 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_is_lvds_present()
3431 const struct child_device_config *child = &devdata->child; in intel_bios_is_lvds_present()
3472 const struct intel_bios_encoder_data *devdata; in intel_bios_is_port_present() local
3480 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_is_port_present()
3481 const struct child_device_config *child = &devdata->child; in intel_bios_is_port_present()
3490 bool intel_bios_encoder_supports_dp_dual_mode(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dp_dual_mode() argument
3492 const struct child_device_config *child = &devdata->child; in intel_bios_encoder_supports_dp_dual_mode()
3494 if (!devdata) in intel_bios_encoder_supports_dp_dual_mode()
3497 if (!intel_bios_encoder_supports_dp(devdata) || in intel_bios_encoder_supports_dp_dual_mode()
3498 !intel_bios_encoder_supports_hdmi(devdata)) in intel_bios_encoder_supports_dp_dual_mode()
3522 const struct intel_bios_encoder_data *devdata; in intel_bios_is_dsi_present() local
3524 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_is_dsi_present()
3525 const struct child_device_config *child = &devdata->child; in intel_bios_is_dsi_present()
3619 const struct intel_bios_encoder_data *devdata; in intel_bios_get_dsc_params() local
3621 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_get_dsc_params()
3622 const struct child_device_config *child = &devdata->child; in intel_bios_get_dsc_params()
3628 if (!devdata->dsc) in intel_bios_get_dsc_params()
3631 fill_dsc(crtc_state, devdata->dsc, dsc_max_bpc); in intel_bios_get_dsc_params()
3718 enum aux_ch intel_bios_dp_aux_ch(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_aux_ch() argument
3720 if (!devdata || !devdata->child.aux_channel) in intel_bios_dp_aux_ch()
3723 return map_aux_ch(devdata->display, devdata->child.aux_channel); in intel_bios_dp_aux_ch()
3726 bool intel_bios_dp_has_shared_aux_ch(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_has_shared_aux_ch() argument
3732 if (!devdata || !devdata->child.aux_channel) in intel_bios_dp_has_shared_aux_ch()
3735 display = devdata->display; in intel_bios_dp_has_shared_aux_ch()
3736 aux_channel = devdata->child.aux_channel; in intel_bios_dp_has_shared_aux_ch()
3738 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_dp_has_shared_aux_ch()
3739 if (intel_bios_encoder_supports_dp(devdata) && in intel_bios_dp_has_shared_aux_ch()
3740 aux_channel == devdata->child.aux_channel) in intel_bios_dp_has_shared_aux_ch()
3747 int intel_bios_dp_boost_level(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_boost_level() argument
3749 if (!devdata || devdata->display->vbt.version < 196 || !devdata->child.iboost) in intel_bios_dp_boost_level()
3752 return translate_iboost(devdata->display, devdata->child.dp_iboost_level); in intel_bios_dp_boost_level()
3755 int intel_bios_hdmi_boost_level(const struct intel_bios_encoder_data *devdata) in intel_bios_hdmi_boost_level() argument
3757 if (!devdata || devdata->display->vbt.version < 196 || !devdata->child.iboost) in intel_bios_hdmi_boost_level()
3760 return translate_iboost(devdata->display, devdata->child.hdmi_iboost_level); in intel_bios_hdmi_boost_level()
3763 int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata) in intel_bios_hdmi_ddc_pin() argument
3765 if (!devdata || !devdata->child.ddc_pin) in intel_bios_hdmi_ddc_pin()
3768 return map_ddc_pin(devdata->display, devdata->child.ddc_pin); in intel_bios_hdmi_ddc_pin()
3771 bool intel_bios_encoder_supports_typec_usb(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_typec_usb() argument
3773 return devdata->display->vbt.version >= 195 && devdata->child.dp_usb_type_c; in intel_bios_encoder_supports_typec_usb()
3776 bool intel_bios_encoder_supports_tbt(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_tbt() argument
3778 return devdata->display->vbt.version >= 209 && devdata->child.tbt; in intel_bios_encoder_supports_tbt()
3781 bool intel_bios_encoder_is_dedicated_external(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_is_dedicated_external() argument
3783 return devdata->display->vbt.version >= 264 && in intel_bios_encoder_is_dedicated_external()
3784 devdata->child.dedicated_external; in intel_bios_encoder_is_dedicated_external()
3787 bool intel_bios_encoder_supports_dyn_port_over_tc(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dyn_port_over_tc() argument
3789 return devdata->display->vbt.version >= 264 && in intel_bios_encoder_supports_dyn_port_over_tc()
3790 devdata->child.dyn_port_over_tc; in intel_bios_encoder_supports_dyn_port_over_tc()
3793 bool intel_bios_encoder_lane_reversal(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_lane_reversal() argument
3795 return devdata && devdata->child.lane_reversal; in intel_bios_encoder_lane_reversal()
3798 bool intel_bios_encoder_hpd_invert(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_hpd_invert() argument
3800 return devdata && devdata->child.hpd_invert; in intel_bios_encoder_hpd_invert()
3806 struct intel_bios_encoder_data *devdata; in intel_bios_encoder_data_lookup() local
3808 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_encoder_data_lookup()
3809 if (intel_bios_encoder_port(devdata) == port) in intel_bios_encoder_data_lookup()
3810 return devdata; in intel_bios_encoder_data_lookup()
3818 const struct intel_bios_encoder_data *devdata)) in intel_bios_for_each_encoder() argument
3820 struct intel_bios_encoder_data *devdata; in intel_bios_for_each_encoder() local
3822 list_for_each_entry(devdata, &display->vbt.display_devices, node) in intel_bios_for_each_encoder()
3823 func(display, devdata); in intel_bios_for_each_encoder()