Lines Matching refs:devdata

624 				   const struct intel_bios_encoder_data *devdata,  in opregion_get_panel_type()  argument
631 const struct intel_bios_encoder_data *devdata, in vbt_get_panel_type() argument
647 if (devdata && devdata->child.handle == DEVICE_HANDLE_LFP2) in vbt_get_panel_type()
651 devdata && devdata->child.handle != DEVICE_HANDLE_LFP1); in vbt_get_panel_type()
657 const struct intel_bios_encoder_data *devdata, in pnpid_get_panel_type() argument
707 const struct intel_bios_encoder_data *devdata, in fallback_get_panel_type() argument
721 const struct intel_bios_encoder_data *devdata, in get_panel_type() argument
727 const struct intel_bios_encoder_data *devdata, in get_panel_type()
751 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()
2128 struct intel_bios_encoder_data *devdata; in parse_compression_parameters() local
2152 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in parse_compression_parameters()
2153 const struct child_device_config *child = &devdata->child; in parse_compression_parameters()
2172 devdata->dsc = kmemdup(&params->data[index], in parse_compression_parameters()
2173 sizeof(*devdata->dsc), GFP_KERNEL); in parse_compression_parameters()
2426 enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_port() argument
2428 struct intel_display *display = devdata->display; in intel_bios_encoder_port()
2429 const struct child_device_config *child = &devdata->child; in intel_bios_encoder_port()
2477 int intel_bios_dp_max_link_rate(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_max_link_rate() argument
2479 if (!devdata || devdata->display->vbt.version < 216) in intel_bios_dp_max_link_rate()
2482 if (devdata->display->vbt.version >= 230) in intel_bios_dp_max_link_rate()
2483 return parse_bdb_230_dp_max_link_rate(devdata->child.dp_max_link_rate); in intel_bios_dp_max_link_rate()
2485 return parse_bdb_216_dp_max_link_rate(devdata->child.dp_max_link_rate); in intel_bios_dp_max_link_rate()
2488 int intel_bios_dp_max_lane_count(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_max_lane_count() argument
2490 if (!devdata || devdata->display->vbt.version < 244) in intel_bios_dp_max_lane_count()
2493 return devdata->child.dp_max_lane_count + 1; in intel_bios_dp_max_lane_count()
2496 static void sanitize_device_type(struct intel_bios_encoder_data *devdata, in sanitize_device_type() argument
2499 struct intel_display *display = devdata->display; in sanitize_device_type()
2505 if (!intel_bios_encoder_supports_dvi(devdata)) in sanitize_device_type()
2508 is_hdmi = intel_bios_encoder_supports_hdmi(devdata); in sanitize_device_type()
2513 devdata->child.device_type &= ~DEVICE_TYPE_TMDS_DVI_SIGNALING; in sanitize_device_type()
2514 devdata->child.device_type |= DEVICE_TYPE_NOT_HDMI_OUTPUT; in sanitize_device_type()
2517 static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata, in sanitize_hdmi_level_shift() argument
2520 struct intel_display *display = devdata->display; in sanitize_hdmi_level_shift()
2523 if (!intel_bios_encoder_supports_dvi(devdata)) in sanitize_hdmi_level_shift()
2531 if (IS_BROADWELL(i915) && devdata->child.hdmi_level_shifter_value > 9) { in sanitize_hdmi_level_shift()
2534 port_name(port), devdata->child.hdmi_level_shifter_value, 9); in sanitize_hdmi_level_shift()
2536 devdata->child.hdmi_level_shifter_value = 9; in sanitize_hdmi_level_shift()
2541 intel_bios_encoder_supports_crt(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_crt() argument
2543 return devdata->child.device_type & DEVICE_TYPE_ANALOG_OUTPUT; in intel_bios_encoder_supports_crt()
2547 intel_bios_encoder_supports_dvi(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dvi() argument
2549 return devdata->child.device_type & DEVICE_TYPE_TMDS_DVI_SIGNALING; in intel_bios_encoder_supports_dvi()
2553 intel_bios_encoder_supports_hdmi(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_hdmi() argument
2555 return intel_bios_encoder_supports_dvi(devdata) && in intel_bios_encoder_supports_hdmi()
2556 (devdata->child.device_type & DEVICE_TYPE_NOT_HDMI_OUTPUT) == 0; in intel_bios_encoder_supports_hdmi()
2560 intel_bios_encoder_supports_dp(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dp() argument
2562 return devdata->child.device_type & DEVICE_TYPE_DISPLAYPORT_OUTPUT; in intel_bios_encoder_supports_dp()
2566 intel_bios_encoder_supports_edp(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_edp() argument
2568 return intel_bios_encoder_supports_dp(devdata) && in intel_bios_encoder_supports_edp()
2569 devdata->child.device_type & DEVICE_TYPE_INTERNAL_CONNECTOR; in intel_bios_encoder_supports_edp()
2573 intel_bios_encoder_supports_dsi(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dsi() argument
2575 return devdata->child.device_type & DEVICE_TYPE_MIPI_OUTPUT; in intel_bios_encoder_supports_dsi()
2579 intel_bios_encoder_is_lspcon(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_is_lspcon() argument
2581 return devdata && HAS_LSPCON(devdata->display) && devdata->child.lspcon; in intel_bios_encoder_is_lspcon()
2585 int intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata) in intel_bios_hdmi_level_shift() argument
2587 if (!devdata || devdata->display->vbt.version < 158 || in intel_bios_hdmi_level_shift()
2588 DISPLAY_VER(devdata->display) >= 14) in intel_bios_hdmi_level_shift()
2591 return devdata->child.hdmi_level_shifter_value; in intel_bios_hdmi_level_shift()
2594 int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata) in intel_bios_hdmi_max_tmds_clock() argument
2596 if (!devdata || devdata->display->vbt.version < 204) in intel_bios_hdmi_max_tmds_clock()
2599 switch (devdata->child.hdmi_max_data_rate) { in intel_bios_hdmi_max_tmds_clock()
2601 MISSING_CASE(devdata->child.hdmi_max_data_rate); in intel_bios_hdmi_max_tmds_clock()
2632 static void print_ddi_port(const struct intel_bios_encoder_data *devdata) in print_ddi_port() argument
2634 struct intel_display *display = devdata->display; in print_ddi_port()
2635 const struct child_device_config *child = &devdata->child; in print_ddi_port()
2640 port = intel_bios_encoder_port(devdata); in print_ddi_port()
2644 is_dvi = intel_bios_encoder_supports_dvi(devdata); in print_ddi_port()
2645 is_dp = intel_bios_encoder_supports_dp(devdata); in print_ddi_port()
2646 is_crt = intel_bios_encoder_supports_crt(devdata); in print_ddi_port()
2647 is_hdmi = intel_bios_encoder_supports_hdmi(devdata); in print_ddi_port()
2648 is_edp = intel_bios_encoder_supports_edp(devdata); in print_ddi_port()
2649 is_dsi = intel_bios_encoder_supports_dsi(devdata); in print_ddi_port()
2651 supports_typec_usb = intel_bios_encoder_supports_typec_usb(devdata); in print_ddi_port()
2652 supports_tbt = intel_bios_encoder_supports_tbt(devdata); in print_ddi_port()
2657 intel_bios_encoder_supports_dp_dual_mode(devdata), in print_ddi_port()
2658 intel_bios_encoder_is_lspcon(devdata), in print_ddi_port()
2660 devdata->dsc != NULL); in print_ddi_port()
2662 hdmi_level_shift = intel_bios_hdmi_level_shift(devdata); in print_ddi_port()
2669 max_tmds_clock = intel_bios_hdmi_max_tmds_clock(devdata); in print_ddi_port()
2676 dp_boost_level = intel_bios_dp_boost_level(devdata); in print_ddi_port()
2682 hdmi_boost_level = intel_bios_hdmi_boost_level(devdata); in print_ddi_port()
2688 dp_max_link_rate = intel_bios_dp_max_link_rate(devdata); in print_ddi_port()
2703 static void parse_ddi_port(struct intel_bios_encoder_data *devdata) in parse_ddi_port() argument
2705 struct intel_display *display = devdata->display; in parse_ddi_port()
2708 port = intel_bios_encoder_port(devdata); in parse_ddi_port()
2719 sanitize_device_type(devdata, port); in parse_ddi_port()
2720 sanitize_hdmi_level_shift(devdata, port); in parse_ddi_port()
2732 struct intel_bios_encoder_data *devdata; in parse_ddi_ports() local
2737 list_for_each_entry(devdata, &display->vbt.display_devices, node) in parse_ddi_ports()
2738 parse_ddi_port(devdata); in parse_ddi_ports()
2740 list_for_each_entry(devdata, &display->vbt.display_devices, node) in parse_ddi_ports()
2741 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()
3273 const struct intel_bios_encoder_data *devdata, in intel_bios_init_panel() argument
3283 panel->vbt.panel_type = get_panel_type(display, devdata, in intel_bios_init_panel()
3307 const struct intel_bios_encoder_data *devdata) in intel_bios_init_panel_early() argument
3309 intel_bios_init_panel(display, panel, devdata, NULL, false); in intel_bios_init_panel_early()
3314 const struct intel_bios_encoder_data *devdata, in intel_bios_init_panel_late() argument
3317 intel_bios_init_panel(display, panel, devdata, drm_edid, true); in intel_bios_init_panel_late()
3326 struct intel_bios_encoder_data *devdata, *nd; in intel_bios_driver_remove() local
3329 list_for_each_entry_safe(devdata, nd, &display->vbt.display_devices, in intel_bios_driver_remove()
3331 list_del(&devdata->node); in intel_bios_driver_remove()
3332 kfree(devdata->dsc); in intel_bios_driver_remove()
3333 kfree(devdata); in intel_bios_driver_remove()
3367 const struct intel_bios_encoder_data *devdata; in intel_bios_is_tv_present() local
3375 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_is_tv_present()
3376 const struct child_device_config *child = &devdata->child; in intel_bios_is_tv_present()
3410 const struct intel_bios_encoder_data *devdata; in intel_bios_is_lvds_present() local
3415 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_is_lvds_present()
3416 const struct child_device_config *child = &devdata->child; in intel_bios_is_lvds_present()
3457 const struct intel_bios_encoder_data *devdata; in intel_bios_is_port_present() local
3465 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_is_port_present()
3466 const struct child_device_config *child = &devdata->child; in intel_bios_is_port_present()
3475 bool intel_bios_encoder_supports_dp_dual_mode(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dp_dual_mode() argument
3477 const struct child_device_config *child = &devdata->child; in intel_bios_encoder_supports_dp_dual_mode()
3479 if (!devdata) in intel_bios_encoder_supports_dp_dual_mode()
3482 if (!intel_bios_encoder_supports_dp(devdata) || in intel_bios_encoder_supports_dp_dual_mode()
3483 !intel_bios_encoder_supports_hdmi(devdata)) in intel_bios_encoder_supports_dp_dual_mode()
3507 const struct intel_bios_encoder_data *devdata; in intel_bios_is_dsi_present() local
3509 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_is_dsi_present()
3510 const struct child_device_config *child = &devdata->child; in intel_bios_is_dsi_present()
3604 const struct intel_bios_encoder_data *devdata; in intel_bios_get_dsc_params() local
3606 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_get_dsc_params()
3607 const struct child_device_config *child = &devdata->child; in intel_bios_get_dsc_params()
3613 if (!devdata->dsc) in intel_bios_get_dsc_params()
3616 fill_dsc(crtc_state, devdata->dsc, dsc_max_bpc); in intel_bios_get_dsc_params()
3704 enum aux_ch intel_bios_dp_aux_ch(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_aux_ch() argument
3706 if (!devdata || !devdata->child.aux_channel) in intel_bios_dp_aux_ch()
3709 return map_aux_ch(devdata->display, devdata->child.aux_channel); in intel_bios_dp_aux_ch()
3712 bool intel_bios_dp_has_shared_aux_ch(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_has_shared_aux_ch() argument
3718 if (!devdata || !devdata->child.aux_channel) in intel_bios_dp_has_shared_aux_ch()
3721 display = devdata->display; in intel_bios_dp_has_shared_aux_ch()
3722 aux_channel = devdata->child.aux_channel; in intel_bios_dp_has_shared_aux_ch()
3724 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_dp_has_shared_aux_ch()
3725 if (intel_bios_encoder_supports_dp(devdata) && in intel_bios_dp_has_shared_aux_ch()
3726 aux_channel == devdata->child.aux_channel) in intel_bios_dp_has_shared_aux_ch()
3733 int intel_bios_dp_boost_level(const struct intel_bios_encoder_data *devdata) in intel_bios_dp_boost_level() argument
3735 if (!devdata || devdata->display->vbt.version < 196 || !devdata->child.iboost) in intel_bios_dp_boost_level()
3738 return translate_iboost(devdata->display, devdata->child.dp_iboost_level); in intel_bios_dp_boost_level()
3741 int intel_bios_hdmi_boost_level(const struct intel_bios_encoder_data *devdata) in intel_bios_hdmi_boost_level() argument
3743 if (!devdata || devdata->display->vbt.version < 196 || !devdata->child.iboost) in intel_bios_hdmi_boost_level()
3746 return translate_iboost(devdata->display, devdata->child.hdmi_iboost_level); in intel_bios_hdmi_boost_level()
3749 int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata) in intel_bios_hdmi_ddc_pin() argument
3751 if (!devdata || !devdata->child.ddc_pin) in intel_bios_hdmi_ddc_pin()
3754 return map_ddc_pin(devdata->display, devdata->child.ddc_pin); in intel_bios_hdmi_ddc_pin()
3757 bool intel_bios_encoder_supports_typec_usb(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_typec_usb() argument
3759 return devdata->display->vbt.version >= 195 && devdata->child.dp_usb_type_c; in intel_bios_encoder_supports_typec_usb()
3762 bool intel_bios_encoder_supports_tbt(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_tbt() argument
3764 return devdata->display->vbt.version >= 209 && devdata->child.tbt; in intel_bios_encoder_supports_tbt()
3767 bool intel_bios_encoder_lane_reversal(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_lane_reversal() argument
3769 return devdata && devdata->child.lane_reversal; in intel_bios_encoder_lane_reversal()
3772 bool intel_bios_encoder_hpd_invert(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_hpd_invert() argument
3774 return devdata && devdata->child.hpd_invert; in intel_bios_encoder_hpd_invert()
3780 struct intel_bios_encoder_data *devdata; in intel_bios_encoder_data_lookup() local
3782 list_for_each_entry(devdata, &display->vbt.display_devices, node) { in intel_bios_encoder_data_lookup()
3783 if (intel_bios_encoder_port(devdata) == port) in intel_bios_encoder_data_lookup()
3784 return devdata; in intel_bios_encoder_data_lookup()
3792 const struct intel_bios_encoder_data *devdata)) in intel_bios_for_each_encoder() argument
3794 struct intel_bios_encoder_data *devdata; in intel_bios_for_each_encoder() local
3796 list_for_each_entry(devdata, &display->vbt.display_devices, node) in intel_bios_for_each_encoder()
3797 func(display, devdata); in intel_bios_for_each_encoder()