Lines Matching refs:devdata

625 				   const struct intel_bios_encoder_data *devdata,  in opregion_get_panel_type()  argument
632 const struct intel_bios_encoder_data *devdata, in vbt_get_panel_type() argument
648 if (devdata && devdata->child.handle == DEVICE_HANDLE_LFP2) in vbt_get_panel_type()
652 devdata && devdata->child.handle != DEVICE_HANDLE_LFP1); in vbt_get_panel_type()
658 const struct intel_bios_encoder_data *devdata, in pnpid_get_panel_type() argument
708 const struct intel_bios_encoder_data *devdata, in fallback_get_panel_type() argument
722 const struct intel_bios_encoder_data *devdata, in get_panel_type() argument
728 const struct intel_bios_encoder_data *devdata, in get_panel_type()
752 panel_types[i].panel_type = panel_types[i].get_panel_type(display, devdata, in get_panel_type()
1220 const struct intel_bios_encoder_data *devdata; in parse_sdvo_device_mapping() local
1232 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in parse_sdvo_device_mapping()
1233 const struct child_device_config *child = &devdata->child; in parse_sdvo_device_mapping()
2134 struct intel_bios_encoder_data *devdata; in parse_compression_parameters() local
2158 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in parse_compression_parameters()
2159 const struct child_device_config *child = &devdata->child; in parse_compression_parameters()
2178 devdata->dsc = kmemdup(&params->data[index], in parse_compression_parameters()
2179 sizeof(*devdata->dsc), GFP_KERNEL); in parse_compression_parameters()
2431 enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_port() argument
2433 struct intel_display *display = devdata->display; in intel_bios_encoder_port()
2434 const struct child_device_config *child = &devdata->child; in intel_bios_encoder_port()
2482 int intel_bios_dp_max_link_rate(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_max_link_rate() argument
2484 if (!devdata || devdata->display->vbt.version < 216) in intel_bios_dp_max_link_rate()
2487 if (devdata->display->vbt.version >= 230) in intel_bios_dp_max_link_rate()
2488 return parse_bdb_230_dp_max_link_rate(devdata->child.dp_max_link_rate); in intel_bios_dp_max_link_rate()
2490 return parse_bdb_216_dp_max_link_rate(devdata->child.dp_max_link_rate); in intel_bios_dp_max_link_rate()
2493 int intel_bios_dp_max_lane_count(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_max_lane_count() argument
2495 if (!devdata || devdata->display->vbt.version < 244) in intel_bios_dp_max_lane_count()
2498 return devdata->child.dp_max_lane_count + 1; in intel_bios_dp_max_lane_count()
2501 static void sanitize_device_type(struct intel_bios_encoder_data *devdata, in sanitize_device_type() argument
2504 struct intel_display *display = devdata->display; in sanitize_device_type()
2510 if (!intel_bios_encoder_supports_dvi(devdata)) in sanitize_device_type()
2513 is_hdmi = intel_bios_encoder_supports_hdmi(devdata); in sanitize_device_type()
2518 devdata->child.device_type &= ~DEVICE_TYPE_TMDS_DVI_SIGNALING; in sanitize_device_type()
2519 devdata->child.device_type |= DEVICE_TYPE_NOT_HDMI_OUTPUT; in sanitize_device_type()
2522 static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata, in sanitize_hdmi_level_shift() argument
2525 struct intel_display *display = devdata->display; in sanitize_hdmi_level_shift()
2527 if (!intel_bios_encoder_supports_dvi(devdata)) in sanitize_hdmi_level_shift()
2535 if (display->platform.broadwell && devdata->child.hdmi_level_shifter_value > 9) { in sanitize_hdmi_level_shift()
2538 port_name(port), devdata->child.hdmi_level_shifter_value, 9); in sanitize_hdmi_level_shift()
2540 devdata->child.hdmi_level_shifter_value = 9; in sanitize_hdmi_level_shift()
2545 intel_bios_encoder_supports_crt(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_crt() argument
2547 return devdata->child.device_type & DEVICE_TYPE_ANALOG_OUTPUT; in intel_bios_encoder_supports_crt()
2551 intel_bios_encoder_supports_dvi(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dvi() argument
2553 return devdata->child.device_type & DEVICE_TYPE_TMDS_DVI_SIGNALING; in intel_bios_encoder_supports_dvi()
2557 intel_bios_encoder_supports_hdmi(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_hdmi() argument
2559 return intel_bios_encoder_supports_dvi(devdata) && in intel_bios_encoder_supports_hdmi()
2560 (devdata->child.device_type & DEVICE_TYPE_NOT_HDMI_OUTPUT) == 0; in intel_bios_encoder_supports_hdmi()
2564 intel_bios_encoder_supports_dp(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dp() argument
2566 return devdata->child.device_type & DEVICE_TYPE_DISPLAYPORT_OUTPUT; in intel_bios_encoder_supports_dp()
2570 intel_bios_encoder_supports_edp(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_edp() argument
2572 return intel_bios_encoder_supports_dp(devdata) && in intel_bios_encoder_supports_edp()
2573 devdata->child.device_type & DEVICE_TYPE_INTERNAL_CONNECTOR; in intel_bios_encoder_supports_edp()
2577 intel_bios_encoder_supports_dsi(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dsi() argument
2579 return devdata->child.device_type & DEVICE_TYPE_MIPI_OUTPUT; in intel_bios_encoder_supports_dsi()
2583 intel_bios_encoder_is_lspcon(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_is_lspcon() argument
2585 return devdata && HAS_LSPCON(devdata->display) && devdata->child.lspcon; in intel_bios_encoder_is_lspcon()
2589 int intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata) in intel_bios_hdmi_level_shift() argument
2591 if (!devdata || devdata->display->vbt.version < 158 || in intel_bios_hdmi_level_shift()
2592 DISPLAY_VER(devdata->display) >= 14) in intel_bios_hdmi_level_shift()
2595 return devdata->child.hdmi_level_shifter_value; in intel_bios_hdmi_level_shift()
2598 int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata) in intel_bios_hdmi_max_tmds_clock() argument
2600 if (!devdata || devdata->display->vbt.version < 204) in intel_bios_hdmi_max_tmds_clock()
2603 switch (devdata->child.hdmi_max_data_rate) { in intel_bios_hdmi_max_tmds_clock()
2605 MISSING_CASE(devdata->child.hdmi_max_data_rate); in intel_bios_hdmi_max_tmds_clock()
2635 static void print_ddi_port(const struct intel_bios_encoder_data *devdata) in print_ddi_port() argument
2637 struct intel_display *display = devdata->display; in print_ddi_port()
2638 const struct child_device_config *child = &devdata->child; in print_ddi_port()
2643 port = intel_bios_encoder_port(devdata); in print_ddi_port()
2647 is_dvi = intel_bios_encoder_supports_dvi(devdata); in print_ddi_port()
2648 is_dp = intel_bios_encoder_supports_dp(devdata); in print_ddi_port()
2649 is_crt = intel_bios_encoder_supports_crt(devdata); in print_ddi_port()
2650 is_hdmi = intel_bios_encoder_supports_hdmi(devdata); in print_ddi_port()
2651 is_edp = intel_bios_encoder_supports_edp(devdata); in print_ddi_port()
2652 is_dsi = intel_bios_encoder_supports_dsi(devdata); in print_ddi_port()
2654 supports_typec_usb = intel_bios_encoder_supports_typec_usb(devdata); in print_ddi_port()
2655 supports_tbt = intel_bios_encoder_supports_tbt(devdata); in print_ddi_port()
2660 intel_bios_encoder_supports_dp_dual_mode(devdata), in print_ddi_port()
2661 intel_bios_encoder_is_lspcon(devdata), in print_ddi_port()
2663 devdata->dsc != NULL); in print_ddi_port()
2665 hdmi_level_shift = intel_bios_hdmi_level_shift(devdata); in print_ddi_port()
2672 max_tmds_clock = intel_bios_hdmi_max_tmds_clock(devdata); in print_ddi_port()
2679 dp_boost_level = intel_bios_dp_boost_level(devdata); in print_ddi_port()
2685 hdmi_boost_level = intel_bios_hdmi_boost_level(devdata); in print_ddi_port()
2691 dp_max_link_rate = intel_bios_dp_max_link_rate(devdata); in print_ddi_port()
2706 static void parse_ddi_port(struct intel_bios_encoder_data *devdata) in parse_ddi_port() argument
2708 struct intel_display *display = devdata->display; in parse_ddi_port()
2711 port = intel_bios_encoder_port(devdata); in parse_ddi_port()
2722 sanitize_device_type(devdata, port); in parse_ddi_port()
2723 sanitize_hdmi_level_shift(devdata, port); in parse_ddi_port()
2733 struct intel_bios_encoder_data *devdata; in parse_ddi_ports() local
2738 list_for_each_entry(devdata, &display->vbt.display_devices, node) in parse_ddi_ports()
2739 parse_ddi_port(devdata); in parse_ddi_ports()
2741 list_for_each_entry(devdata, &display->vbt.display_devices, node) in parse_ddi_ports()
2742 print_ddi_port(devdata); in parse_ddi_ports()
2800 struct intel_bios_encoder_data *devdata; in parse_general_definitions() local
2841 devdata = kzalloc(sizeof(*devdata), GFP_KERNEL); in parse_general_definitions()
2842 if (!devdata) in parse_general_definitions()
2845 devdata->display = display; in parse_general_definitions()
2852 memcpy(&devdata->child, child, in parse_general_definitions()
2855 list_add_tail(&devdata->node, &display->vbt.display_devices); in parse_general_definitions()
2913 struct intel_bios_encoder_data *devdata; in init_vbt_missing_defaults() local
2925 devdata = kzalloc(sizeof(*devdata), GFP_KERNEL); in init_vbt_missing_defaults()
2926 if (!devdata) in init_vbt_missing_defaults()
2929 devdata->display = display; in init_vbt_missing_defaults()
2930 child = &devdata->child; in init_vbt_missing_defaults()
2948 list_add_tail(&devdata->node, &display->vbt.display_devices); in init_vbt_missing_defaults()
3204 const struct intel_bios_encoder_data *devdata, in intel_bios_init_panel() argument
3214 panel->vbt.panel_type = get_panel_type(display, devdata, in intel_bios_init_panel()
3238 const struct intel_bios_encoder_data *devdata) in intel_bios_init_panel_early() argument
3240 intel_bios_init_panel(display, panel, devdata, NULL, false); in intel_bios_init_panel_early()
3245 const struct intel_bios_encoder_data *devdata, in intel_bios_init_panel_late() argument
3248 intel_bios_init_panel(display, panel, devdata, drm_edid, true); in intel_bios_init_panel_late()
3257 struct intel_bios_encoder_data *devdata, *nd; in intel_bios_driver_remove() local
3260 list_for_each_entry_safe(devdata, nd, &display->vbt.display_devices, in intel_bios_driver_remove()
3262 list_del(&devdata->node); in intel_bios_driver_remove()
3263 kfree(devdata->dsc); in intel_bios_driver_remove()
3264 kfree(devdata); in intel_bios_driver_remove()
3298 const struct intel_bios_encoder_data *devdata; in intel_bios_is_tv_present() local
3306 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_is_tv_present()
3307 const struct child_device_config *child = &devdata->child; in intel_bios_is_tv_present()
3340 const struct intel_bios_encoder_data *devdata; in intel_bios_is_lvds_present() local
3345 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_is_lvds_present()
3346 const struct child_device_config *child = &devdata->child; in intel_bios_is_lvds_present()
3387 const struct intel_bios_encoder_data *devdata; in intel_bios_is_port_present() local
3395 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_is_port_present()
3396 const struct child_device_config *child = &devdata->child; in intel_bios_is_port_present()
3405 bool intel_bios_encoder_supports_dp_dual_mode(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dp_dual_mode() argument
3407 const struct child_device_config *child = &devdata->child; in intel_bios_encoder_supports_dp_dual_mode()
3409 if (!devdata) in intel_bios_encoder_supports_dp_dual_mode()
3412 if (!intel_bios_encoder_supports_dp(devdata) || in intel_bios_encoder_supports_dp_dual_mode()
3413 !intel_bios_encoder_supports_hdmi(devdata)) in intel_bios_encoder_supports_dp_dual_mode()
3437 const struct intel_bios_encoder_data *devdata; in intel_bios_is_dsi_present() local
3439 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_is_dsi_present()
3440 const struct child_device_config *child = &devdata->child; in intel_bios_is_dsi_present()
3534 const struct intel_bios_encoder_data *devdata; in intel_bios_get_dsc_params() local
3536 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_get_dsc_params()
3537 const struct child_device_config *child = &devdata->child; in intel_bios_get_dsc_params()
3543 if (!devdata->dsc) in intel_bios_get_dsc_params()
3546 fill_dsc(crtc_state, devdata->dsc, dsc_max_bpc); in intel_bios_get_dsc_params()
3633 enum aux_ch intel_bios_dp_aux_ch(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_aux_ch() argument
3635 if (!devdata || !devdata->child.aux_channel) in intel_bios_dp_aux_ch()
3638 return map_aux_ch(devdata->display, devdata->child.aux_channel); in intel_bios_dp_aux_ch()
3641 bool intel_bios_dp_has_shared_aux_ch(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_has_shared_aux_ch() argument
3647 if (!devdata || !devdata->child.aux_channel) in intel_bios_dp_has_shared_aux_ch()
3650 display = devdata->display; in intel_bios_dp_has_shared_aux_ch()
3651 aux_channel = devdata->child.aux_channel; in intel_bios_dp_has_shared_aux_ch()
3653 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_dp_has_shared_aux_ch()
3654 if (intel_bios_encoder_supports_dp(devdata) && in intel_bios_dp_has_shared_aux_ch()
3655 aux_channel == devdata->child.aux_channel) in intel_bios_dp_has_shared_aux_ch()
3662 int intel_bios_dp_boost_level(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_boost_level() argument
3664 if (!devdata || devdata->display->vbt.version < 196 || !devdata->child.iboost) in intel_bios_dp_boost_level()
3667 return translate_iboost(devdata->display, devdata->child.dp_iboost_level); in intel_bios_dp_boost_level()
3670 int intel_bios_hdmi_boost_level(const struct intel_bios_encoder_data *devdata) in intel_bios_hdmi_boost_level() argument
3672 if (!devdata || devdata->display->vbt.version < 196 || !devdata->child.iboost) in intel_bios_hdmi_boost_level()
3675 return translate_iboost(devdata->display, devdata->child.hdmi_iboost_level); in intel_bios_hdmi_boost_level()
3678 int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata) in intel_bios_hdmi_ddc_pin() argument
3680 if (!devdata || !devdata->child.ddc_pin) in intel_bios_hdmi_ddc_pin()
3683 return map_ddc_pin(devdata->display, devdata->child.ddc_pin); in intel_bios_hdmi_ddc_pin()
3686 bool intel_bios_encoder_supports_typec_usb(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_typec_usb() argument
3688 return devdata->display->vbt.version >= 195 && devdata->child.dp_usb_type_c; in intel_bios_encoder_supports_typec_usb()
3691 bool intel_bios_encoder_supports_tbt(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_tbt() argument
3693 return devdata->display->vbt.version >= 209 && devdata->child.tbt; in intel_bios_encoder_supports_tbt()
3696 bool intel_bios_encoder_lane_reversal(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_lane_reversal() argument
3698 return devdata && devdata->child.lane_reversal; in intel_bios_encoder_lane_reversal()
3701 bool intel_bios_encoder_hpd_invert(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_hpd_invert() argument
3703 return devdata && devdata->child.hpd_invert; in intel_bios_encoder_hpd_invert()
3709 struct intel_bios_encoder_data *devdata; in intel_bios_encoder_data_lookup() local
3711 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_encoder_data_lookup()
3712 if (intel_bios_encoder_port(devdata) == port) in intel_bios_encoder_data_lookup()
3713 return devdata; in intel_bios_encoder_data_lookup()
3721 const struct intel_bios_encoder_data *devdata)) in intel_bios_for_each_encoder() argument
3723 struct intel_bios_encoder_data *devdata; in intel_bios_for_each_encoder() local
3725 list_for_each_entry(devdata, &display->vbt.display_devices, node) in intel_bios_for_each_encoder()
3726 func(display, devdata); in intel_bios_for_each_encoder()