Lines Matching refs:devdata
622 const struct intel_bios_encoder_data *devdata, in opregion_get_panel_type() argument
629 const struct intel_bios_encoder_data *devdata, in vbt_get_panel_type() argument
645 if (devdata && devdata->child.handle == DEVICE_HANDLE_LFP2) in vbt_get_panel_type()
648 drm_WARN_ON(&i915->drm, devdata && devdata->child.handle != DEVICE_HANDLE_LFP1); in vbt_get_panel_type()
654 const struct intel_bios_encoder_data *devdata, in pnpid_get_panel_type() argument
703 const struct intel_bios_encoder_data *devdata, in fallback_get_panel_type() argument
717 const struct intel_bios_encoder_data *devdata, in get_panel_type() argument
723 const struct intel_bios_encoder_data *devdata, in get_panel_type()
747 panel_types[i].panel_type = panel_types[i].get_panel_type(i915, devdata, edid); in get_panel_type()
1204 const struct intel_bios_encoder_data *devdata; in parse_sdvo_device_mapping() local
1217 list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) { in parse_sdvo_device_mapping()
1218 child = &devdata->child; in parse_sdvo_device_mapping()
2075 struct intel_bios_encoder_data *devdata; in parse_compression_parameters() local
2100 list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) { in parse_compression_parameters()
2101 child = &devdata->child; in parse_compression_parameters()
2120 devdata->dsc = kmemdup(¶ms->data[index], in parse_compression_parameters()
2121 sizeof(*devdata->dsc), GFP_KERNEL); in parse_compression_parameters()
2227 const struct intel_bios_encoder_data *devdata; in get_port_by_ddc_pin() local
2234 devdata = i915->display.vbt.ports[port]; in get_port_by_ddc_pin()
2236 if (devdata && ddc_pin == devdata->child.ddc_pin) in get_port_by_ddc_pin()
2243 static void sanitize_ddc_pin(struct intel_bios_encoder_data *devdata, in sanitize_ddc_pin() argument
2246 struct drm_i915_private *i915 = devdata->i915; in sanitize_ddc_pin()
2251 if (!devdata->child.ddc_pin) in sanitize_ddc_pin()
2254 mapped_ddc_pin = map_ddc_pin(i915, devdata->child.ddc_pin); in sanitize_ddc_pin()
2260 devdata->child.ddc_pin = 0; in sanitize_ddc_pin()
2264 p = get_port_by_ddc_pin(i915, devdata->child.ddc_pin); in sanitize_ddc_pin()
2293 const struct intel_bios_encoder_data *devdata; in get_port_by_aux_ch() local
2300 devdata = i915->display.vbt.ports[port]; in get_port_by_aux_ch()
2302 if (devdata && aux_ch == devdata->child.aux_channel) in get_port_by_aux_ch()
2309 static void sanitize_aux_ch(struct intel_bios_encoder_data *devdata, in sanitize_aux_ch() argument
2312 struct drm_i915_private *i915 = devdata->i915; in sanitize_aux_ch()
2316 p = get_port_by_aux_ch(i915, devdata->child.aux_channel); in sanitize_aux_ch()
2323 port_name(port), devdata->child.aux_channel, in sanitize_aux_ch()
2507 static int _intel_bios_dp_max_link_rate(const struct intel_bios_encoder_data *devdata) in _intel_bios_dp_max_link_rate() argument
2509 if (!devdata || devdata->i915->display.vbt.version < 216) in _intel_bios_dp_max_link_rate()
2512 if (devdata->i915->display.vbt.version >= 230) in _intel_bios_dp_max_link_rate()
2513 return parse_bdb_230_dp_max_link_rate(devdata->child.dp_max_link_rate); in _intel_bios_dp_max_link_rate()
2515 return parse_bdb_216_dp_max_link_rate(devdata->child.dp_max_link_rate); in _intel_bios_dp_max_link_rate()
2518 static int _intel_bios_dp_max_lane_count(const struct intel_bios_encoder_data *devdata) in _intel_bios_dp_max_lane_count() argument
2520 if (!devdata || devdata->i915->display.vbt.version < 244) in _intel_bios_dp_max_lane_count()
2523 return devdata->child.dp_max_lane_count + 1; in _intel_bios_dp_max_lane_count()
2526 static void sanitize_device_type(struct intel_bios_encoder_data *devdata, in sanitize_device_type() argument
2529 struct drm_i915_private *i915 = devdata->i915; in sanitize_device_type()
2535 if (!intel_bios_encoder_supports_dvi(devdata)) in sanitize_device_type()
2538 is_hdmi = intel_bios_encoder_supports_hdmi(devdata); in sanitize_device_type()
2543 devdata->child.device_type &= ~DEVICE_TYPE_TMDS_DVI_SIGNALING; in sanitize_device_type()
2544 devdata->child.device_type |= DEVICE_TYPE_NOT_HDMI_OUTPUT; in sanitize_device_type()
2548 intel_bios_encoder_supports_crt(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_crt() argument
2550 return devdata->child.device_type & DEVICE_TYPE_ANALOG_OUTPUT; in intel_bios_encoder_supports_crt()
2554 intel_bios_encoder_supports_dvi(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dvi() argument
2556 return devdata->child.device_type & DEVICE_TYPE_TMDS_DVI_SIGNALING; in intel_bios_encoder_supports_dvi()
2560 intel_bios_encoder_supports_hdmi(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_hdmi() argument
2562 return intel_bios_encoder_supports_dvi(devdata) && in intel_bios_encoder_supports_hdmi()
2563 (devdata->child.device_type & DEVICE_TYPE_NOT_HDMI_OUTPUT) == 0; in intel_bios_encoder_supports_hdmi()
2567 intel_bios_encoder_supports_dp(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dp() argument
2569 return devdata->child.device_type & DEVICE_TYPE_DISPLAYPORT_OUTPUT; in intel_bios_encoder_supports_dp()
2573 intel_bios_encoder_supports_edp(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_edp() argument
2575 return intel_bios_encoder_supports_dp(devdata) && in intel_bios_encoder_supports_edp()
2576 devdata->child.device_type & DEVICE_TYPE_INTERNAL_CONNECTOR; in intel_bios_encoder_supports_edp()
2579 static int _intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata) in _intel_bios_hdmi_level_shift() argument
2581 if (!devdata || devdata->i915->display.vbt.version < 158) in _intel_bios_hdmi_level_shift()
2584 return devdata->child.hdmi_level_shifter_value; in _intel_bios_hdmi_level_shift()
2587 static int _intel_bios_max_tmds_clock(const struct intel_bios_encoder_data *devdata) in _intel_bios_max_tmds_clock() argument
2589 if (!devdata || devdata->i915->display.vbt.version < 204) in _intel_bios_max_tmds_clock()
2592 switch (devdata->child.hdmi_max_data_rate) { in _intel_bios_max_tmds_clock()
2594 MISSING_CASE(devdata->child.hdmi_max_data_rate); in _intel_bios_max_tmds_clock()
2624 static void print_ddi_port(const struct intel_bios_encoder_data *devdata, in print_ddi_port() argument
2627 struct drm_i915_private *i915 = devdata->i915; in print_ddi_port()
2628 const struct child_device_config *child = &devdata->child; in print_ddi_port()
2632 is_dvi = intel_bios_encoder_supports_dvi(devdata); in print_ddi_port()
2633 is_dp = intel_bios_encoder_supports_dp(devdata); in print_ddi_port()
2634 is_crt = intel_bios_encoder_supports_crt(devdata); in print_ddi_port()
2635 is_hdmi = intel_bios_encoder_supports_hdmi(devdata); in print_ddi_port()
2636 is_edp = intel_bios_encoder_supports_edp(devdata); in print_ddi_port()
2638 supports_typec_usb = intel_bios_encoder_supports_typec_usb(devdata); in print_ddi_port()
2639 supports_tbt = intel_bios_encoder_supports_tbt(devdata); in print_ddi_port()
2646 devdata->dsc != NULL); in print_ddi_port()
2648 hdmi_level_shift = _intel_bios_hdmi_level_shift(devdata); in print_ddi_port()
2655 max_tmds_clock = _intel_bios_max_tmds_clock(devdata); in print_ddi_port()
2662 dp_boost_level = intel_bios_encoder_dp_boost_level(devdata); in print_ddi_port()
2668 hdmi_boost_level = intel_bios_encoder_hdmi_boost_level(devdata); in print_ddi_port()
2674 dp_max_link_rate = _intel_bios_dp_max_link_rate(devdata); in print_ddi_port()
2681 static void parse_ddi_port(struct intel_bios_encoder_data *devdata) in parse_ddi_port() argument
2683 struct drm_i915_private *i915 = devdata->i915; in parse_ddi_port()
2684 const struct child_device_config *child = &devdata->child; in parse_ddi_port()
2705 sanitize_device_type(devdata, port); in parse_ddi_port()
2707 if (intel_bios_encoder_supports_dvi(devdata)) in parse_ddi_port()
2708 sanitize_ddc_pin(devdata, port); in parse_ddi_port()
2710 if (intel_bios_encoder_supports_dp(devdata)) in parse_ddi_port()
2711 sanitize_aux_ch(devdata, port); in parse_ddi_port()
2713 i915->display.vbt.ports[port] = devdata; in parse_ddi_port()
2723 struct intel_bios_encoder_data *devdata; in parse_ddi_ports() local
2729 list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) in parse_ddi_ports()
2730 parse_ddi_port(devdata); in parse_ddi_ports()
2742 struct intel_bios_encoder_data *devdata; in parse_general_definitions() local
2815 devdata = kzalloc(sizeof(*devdata), GFP_KERNEL); in parse_general_definitions()
2816 if (!devdata) in parse_general_definitions()
2819 devdata->i915 = i915; in parse_general_definitions()
2826 memcpy(&devdata->child, child, in parse_general_definitions()
2829 list_add_tail(&devdata->node, &i915->display.vbt.display_devices); in parse_general_definitions()
2885 struct intel_bios_encoder_data *devdata; in init_vbt_missing_defaults() local
2897 devdata = kzalloc(sizeof(*devdata), GFP_KERNEL); in init_vbt_missing_defaults()
2898 if (!devdata) in init_vbt_missing_defaults()
2901 devdata->i915 = i915; in init_vbt_missing_defaults()
2902 child = &devdata->child; in init_vbt_missing_defaults()
2920 list_add_tail(&devdata->node, &i915->display.vbt.display_devices); in init_vbt_missing_defaults()
3180 const struct intel_bios_encoder_data *devdata, in intel_bios_init_panel() argument
3185 panel->vbt.panel_type = get_panel_type(i915, devdata, edid); in intel_bios_init_panel()
3206 struct intel_bios_encoder_data *devdata, *nd; in intel_bios_driver_remove() local
3209 list_for_each_entry_safe(devdata, nd, &i915->display.vbt.display_devices, node) { in intel_bios_driver_remove()
3210 list_del(&devdata->node); in intel_bios_driver_remove()
3211 kfree(devdata->dsc); in intel_bios_driver_remove()
3212 kfree(devdata); in intel_bios_driver_remove()
3246 const struct intel_bios_encoder_data *devdata; in intel_bios_is_tv_present() local
3255 list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) { in intel_bios_is_tv_present()
3256 child = &devdata->child; in intel_bios_is_tv_present()
3289 const struct intel_bios_encoder_data *devdata; in intel_bios_is_lvds_present() local
3295 list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) { in intel_bios_is_lvds_present()
3296 child = &devdata->child; in intel_bios_is_lvds_present()
3353 const struct intel_bios_encoder_data *devdata = in intel_bios_is_port_edp() local
3356 return devdata && intel_bios_encoder_supports_edp(devdata); in intel_bios_is_port_edp()
3359 static bool intel_bios_encoder_supports_dp_dual_mode(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_dp_dual_mode() argument
3361 const struct child_device_config *child = &devdata->child; in intel_bios_encoder_supports_dp_dual_mode()
3363 if (!intel_bios_encoder_supports_dp(devdata) || in intel_bios_encoder_supports_dp_dual_mode()
3364 !intel_bios_encoder_supports_hdmi(devdata)) in intel_bios_encoder_supports_dp_dual_mode()
3381 const struct intel_bios_encoder_data *devdata = in intel_bios_is_port_dp_dual_mode() local
3384 return devdata && intel_bios_encoder_supports_dp_dual_mode(devdata); in intel_bios_is_port_dp_dual_mode()
3397 const struct intel_bios_encoder_data *devdata; in intel_bios_is_dsi_present() local
3401 list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) { in intel_bios_is_dsi_present()
3402 child = &devdata->child; in intel_bios_is_dsi_present()
3497 const struct intel_bios_encoder_data *devdata; in intel_bios_get_dsc_params() local
3500 list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) { in intel_bios_get_dsc_params()
3501 child = &devdata->child; in intel_bios_get_dsc_params()
3507 if (!devdata->dsc) in intel_bios_get_dsc_params()
3511 fill_dsc(crtc_state, devdata->dsc, dsc_max_bpc); in intel_bios_get_dsc_params()
3531 const struct intel_bios_encoder_data *devdata = i915->display.vbt.ports[port]; in intel_bios_is_port_hpd_inverted() local
3537 return devdata && devdata->child.hpd_invert; in intel_bios_is_port_hpd_inverted()
3551 const struct intel_bios_encoder_data *devdata = i915->display.vbt.ports[port]; in intel_bios_is_lspcon_present() local
3553 return HAS_LSPCON(i915) && devdata && devdata->child.lspcon; in intel_bios_is_lspcon_present()
3567 const struct intel_bios_encoder_data *devdata = i915->display.vbt.ports[port]; in intel_bios_is_lane_reversal_needed() local
3569 return devdata && devdata->child.lane_reversal; in intel_bios_is_lane_reversal_needed()
3575 const struct intel_bios_encoder_data *devdata = i915->display.vbt.ports[port]; in intel_bios_port_aux_ch() local
3578 if (!devdata || !devdata->child.aux_channel) { in intel_bios_port_aux_ch()
3594 switch (devdata->child.aux_channel) { in intel_bios_port_aux_ch()
3655 MISSING_CASE(devdata->child.aux_channel); in intel_bios_port_aux_ch()
3669 const struct intel_bios_encoder_data *devdata = i915->display.vbt.ports[encoder->port]; in intel_bios_max_tmds_clock() local
3671 return _intel_bios_max_tmds_clock(devdata); in intel_bios_max_tmds_clock()
3678 const struct intel_bios_encoder_data *devdata = i915->display.vbt.ports[encoder->port]; in intel_bios_hdmi_level_shift() local
3680 return _intel_bios_hdmi_level_shift(devdata); in intel_bios_hdmi_level_shift()
3683 int intel_bios_encoder_dp_boost_level(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_dp_boost_level() argument
3685 if (!devdata || devdata->i915->display.vbt.version < 196 || !devdata->child.iboost) in intel_bios_encoder_dp_boost_level()
3688 return translate_iboost(devdata->child.dp_iboost_level); in intel_bios_encoder_dp_boost_level()
3691 int intel_bios_encoder_hdmi_boost_level(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_hdmi_boost_level() argument
3693 if (!devdata || devdata->i915->display.vbt.version < 196 || !devdata->child.iboost) in intel_bios_encoder_hdmi_boost_level()
3696 return translate_iboost(devdata->child.hdmi_iboost_level); in intel_bios_encoder_hdmi_boost_level()
3702 const struct intel_bios_encoder_data *devdata = i915->display.vbt.ports[encoder->port]; in intel_bios_dp_max_link_rate() local
3704 return _intel_bios_dp_max_link_rate(devdata); in intel_bios_dp_max_link_rate()
3710 const struct intel_bios_encoder_data *devdata = i915->display.vbt.ports[encoder->port]; in intel_bios_dp_max_lane_count() local
3712 return _intel_bios_dp_max_lane_count(devdata); in intel_bios_dp_max_lane_count()
3718 const struct intel_bios_encoder_data *devdata = i915->display.vbt.ports[encoder->port]; in intel_bios_alternate_ddc_pin() local
3720 if (!devdata || !devdata->child.ddc_pin) in intel_bios_alternate_ddc_pin()
3723 return map_ddc_pin(i915, devdata->child.ddc_pin); in intel_bios_alternate_ddc_pin()
3726 bool intel_bios_encoder_supports_typec_usb(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_typec_usb() argument
3728 return devdata->i915->display.vbt.version >= 195 && devdata->child.dp_usb_type_c; in intel_bios_encoder_supports_typec_usb()
3731 bool intel_bios_encoder_supports_tbt(const struct intel_bios_encoder_data *devdata) in intel_bios_encoder_supports_tbt() argument
3733 return devdata->i915->display.vbt.version >= 209 && devdata->child.tbt; in intel_bios_encoder_supports_tbt()