Lines Matching defs:devdata

625 				   const struct intel_bios_encoder_data *devdata,
632 const struct intel_bios_encoder_data *devdata,
648 if (devdata && devdata->child.handle == DEVICE_HANDLE_LFP2)
652 devdata && devdata->child.handle != DEVICE_HANDLE_LFP1);
658 const struct intel_bios_encoder_data *devdata,
708 const struct intel_bios_encoder_data *devdata,
722 const struct intel_bios_encoder_data *devdata,
728 const struct intel_bios_encoder_data *devdata,
752 panel_types[i].panel_type = panel_types[i].get_panel_type(display, devdata,
1220 const struct intel_bios_encoder_data *devdata;
1232 list_for_each_entry(devdata, &display->vbt.display_devices, node) {
1233 const struct child_device_config *child = &devdata->child;
2134 struct intel_bios_encoder_data *devdata;
2158 list_for_each_entry(devdata, &display->vbt.display_devices, node) {
2159 const struct child_device_config *child = &devdata->child;
2178 devdata->dsc = kmemdup(&params->data[index],
2179 sizeof(*devdata->dsc), GFP_KERNEL);
2431 enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata)
2433 struct intel_display *display = devdata->display;
2434 const struct child_device_config *child = &devdata->child;
2482 int intel_bios_dp_max_link_rate(const struct intel_bios_encoder_data *devdata)
2484 if (!devdata || devdata->display->vbt.version < 216)
2487 if (devdata->display->vbt.version >= 230)
2488 return parse_bdb_230_dp_max_link_rate(devdata->child.dp_max_link_rate);
2490 return parse_bdb_216_dp_max_link_rate(devdata->child.dp_max_link_rate);
2493 int intel_bios_dp_max_lane_count(const struct intel_bios_encoder_data *devdata)
2495 if (!devdata || devdata->display->vbt.version < 244)
2498 return devdata->child.dp_max_lane_count + 1;
2501 static void sanitize_device_type(struct intel_bios_encoder_data *devdata,
2504 struct intel_display *display = devdata->display;
2510 if (!intel_bios_encoder_supports_dvi(devdata))
2513 is_hdmi = intel_bios_encoder_supports_hdmi(devdata);
2518 devdata->child.device_type &= ~DEVICE_TYPE_TMDS_DVI_SIGNALING;
2519 devdata->child.device_type |= DEVICE_TYPE_NOT_HDMI_OUTPUT;
2522 static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata,
2525 struct intel_display *display = devdata->display;
2527 if (!intel_bios_encoder_supports_dvi(devdata))
2535 if (display->platform.broadwell && devdata->child.hdmi_level_shifter_value > 9) {
2538 port_name(port), devdata->child.hdmi_level_shifter_value, 9);
2540 devdata->child.hdmi_level_shifter_value = 9;
2545 intel_bios_encoder_supports_crt(const struct intel_bios_encoder_data *devdata)
2547 return devdata->child.device_type & DEVICE_TYPE_ANALOG_OUTPUT;
2551 intel_bios_encoder_supports_dvi(const struct intel_bios_encoder_data *devdata)
2553 return devdata->child.device_type & DEVICE_TYPE_TMDS_DVI_SIGNALING;
2557 intel_bios_encoder_supports_hdmi(const struct intel_bios_encoder_data *devdata)
2559 return intel_bios_encoder_supports_dvi(devdata) &&
2560 (devdata->child.device_type & DEVICE_TYPE_NOT_HDMI_OUTPUT) == 0;
2564 intel_bios_encoder_supports_dp(const struct intel_bios_encoder_data *devdata)
2566 return devdata->child.device_type & DEVICE_TYPE_DISPLAYPORT_OUTPUT;
2570 intel_bios_encoder_supports_edp(const struct intel_bios_encoder_data *devdata)
2572 return intel_bios_encoder_supports_dp(devdata) &&
2573 devdata->child.device_type & DEVICE_TYPE_INTERNAL_CONNECTOR;
2577 intel_bios_encoder_supports_dsi(const struct intel_bios_encoder_data *devdata)
2579 return devdata->child.device_type & DEVICE_TYPE_MIPI_OUTPUT;
2583 intel_bios_encoder_is_lspcon(const struct intel_bios_encoder_data *devdata)
2585 return devdata && HAS_LSPCON(devdata->display) && devdata->child.lspcon;
2589 int intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata)
2591 if (!devdata || devdata->display->vbt.version < 158 ||
2592 DISPLAY_VER(devdata->display) >= 14)
2595 return devdata->child.hdmi_level_shifter_value;
2598 int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata)
2600 if (!devdata || devdata->display->vbt.version < 204)
2603 switch (devdata->child.hdmi_max_data_rate) {
2605 MISSING_CASE(devdata->child.hdmi_max_data_rate);
2635 static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
2637 struct intel_display *display = devdata->display;
2638 const struct child_device_config *child = &devdata->child;
2643 port = intel_bios_encoder_port(devdata);
2647 is_dvi = intel_bios_encoder_supports_dvi(devdata);
2648 is_dp = intel_bios_encoder_supports_dp(devdata);
2649 is_crt = intel_bios_encoder_supports_crt(devdata);
2650 is_hdmi = intel_bios_encoder_supports_hdmi(devdata);
2651 is_edp = intel_bios_encoder_supports_edp(devdata);
2652 is_dsi = intel_bios_encoder_supports_dsi(devdata);
2654 supports_typec_usb = intel_bios_encoder_supports_typec_usb(devdata);
2655 supports_tbt = intel_bios_encoder_supports_tbt(devdata);
2660 intel_bios_encoder_supports_dp_dual_mode(devdata),
2661 intel_bios_encoder_is_lspcon(devdata),
2663 devdata->dsc != NULL);
2665 hdmi_level_shift = intel_bios_hdmi_level_shift(devdata);
2672 max_tmds_clock = intel_bios_hdmi_max_tmds_clock(devdata);
2679 dp_boost_level = intel_bios_dp_boost_level(devdata);
2685 hdmi_boost_level = intel_bios_hdmi_boost_level(devdata);
2691 dp_max_link_rate = intel_bios_dp_max_link_rate(devdata);
2706 static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
2708 struct intel_display *display = devdata->display;
2711 port = intel_bios_encoder_port(devdata);
2722 sanitize_device_type(devdata, port);
2723 sanitize_hdmi_level_shift(devdata, port);
2733 struct intel_bios_encoder_data *devdata;
2738 list_for_each_entry(devdata, &display->vbt.display_devices, node)
2739 parse_ddi_port(devdata);
2741 list_for_each_entry(devdata, &display->vbt.display_devices, node)
2742 print_ddi_port(devdata);
2800 struct intel_bios_encoder_data *devdata;
2841 devdata = kzalloc(sizeof(*devdata), GFP_KERNEL);
2842 if (!devdata)
2845 devdata->display = display;
2852 memcpy(&devdata->child, child,
2855 list_add_tail(&devdata->node, &display->vbt.display_devices);
2912 struct intel_bios_encoder_data *devdata;
2924 devdata = kzalloc(sizeof(*devdata), GFP_KERNEL);
2925 if (!devdata)
2928 devdata->display = display;
2929 child = &devdata->child;
2947 list_add_tail(&devdata->node, &display->vbt.display_devices);
3203 const struct intel_bios_encoder_data *devdata,
3213 panel->vbt.panel_type = get_panel_type(display, devdata,
3237 const struct intel_bios_encoder_data *devdata)
3239 intel_bios_init_panel(display, panel, devdata, NULL, false);
3244 const struct intel_bios_encoder_data *devdata,
3247 intel_bios_init_panel(display, panel, devdata, drm_edid, true);
3256 struct intel_bios_encoder_data *devdata, *nd;
3259 list_for_each_entry_safe(devdata, nd, &display->vbt.display_devices,
3261 list_del(&devdata->node);
3262 kfree(devdata->dsc);
3263 kfree(devdata);
3297 const struct intel_bios_encoder_data *devdata;
3305 list_for_each_entry(devdata, &display->vbt.display_devices, node) {
3306 const struct child_device_config *child = &devdata->child;
3339 const struct intel_bios_encoder_data *devdata;
3344 list_for_each_entry(devdata, &display->vbt.display_devices, node) {
3345 const struct child_device_config *child = &devdata->child;
3386 const struct intel_bios_encoder_data *devdata;
3394 list_for_each_entry(devdata, &display->vbt.display_devices, node) {
3395 const struct child_device_config *child = &devdata->child;
3404 bool intel_bios_encoder_supports_dp_dual_mode(const struct intel_bios_encoder_data *devdata)
3406 const struct child_device_config *child = &devdata->child;
3408 if (!devdata)
3411 if (!intel_bios_encoder_supports_dp(devdata) ||
3412 !intel_bios_encoder_supports_hdmi(devdata))
3436 const struct intel_bios_encoder_data *devdata;
3438 list_for_each_entry(devdata, &display->vbt.display_devices, node) {
3439 const struct child_device_config *child = &devdata->child;
3533 const struct intel_bios_encoder_data *devdata;
3535 list_for_each_entry(devdata, &display->vbt.display_devices, node) {
3536 const struct child_device_config *child = &devdata->child;
3542 if (!devdata->dsc)
3545 fill_dsc(crtc_state, devdata->dsc, dsc_max_bpc);
3632 enum aux_ch intel_bios_dp_aux_ch(const struct intel_bios_encoder_data *devdata)
3634 if (!devdata || !devdata->child.aux_channel)
3637 return map_aux_ch(devdata->display, devdata->child.aux_channel);
3640 bool intel_bios_dp_has_shared_aux_ch(const struct intel_bios_encoder_data *devdata)
3646 if (!devdata || !devdata->child.aux_channel)
3649 display = devdata->display;
3650 aux_channel = devdata->child.aux_channel;
3652 list_for_each_entry(devdata, &display->vbt.display_devices, node) {
3653 if (intel_bios_encoder_supports_dp(devdata) &&
3654 aux_channel == devdata->child.aux_channel)
3661 int intel_bios_dp_boost_level(const struct intel_bios_encoder_data *devdata)
3663 if (!devdata || devdata->display->vbt.version < 196 || !devdata->child.iboost)
3666 return translate_iboost(devdata->display, devdata->child.dp_iboost_level);
3669 int intel_bios_hdmi_boost_level(const struct intel_bios_encoder_data *devdata)
3671 if (!devdata || devdata->display->vbt.version < 196 || !devdata->child.iboost)
3674 return translate_iboost(devdata->display, devdata->child.hdmi_iboost_level);
3677 int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata)
3679 if (!devdata || !devdata->child.ddc_pin)
3682 return map_ddc_pin(devdata->display, devdata->child.ddc_pin);
3685 bool intel_bios_encoder_supports_typec_usb(const struct intel_bios_encoder_data *devdata)
3687 return devdata->display->vbt.version >= 195 && devdata->child.dp_usb_type_c;
3690 bool intel_bios_encoder_supports_tbt(const struct intel_bios_encoder_data *devdata)
3692 return devdata->display->vbt.version >= 209 && devdata->child.tbt;
3695 bool intel_bios_encoder_lane_reversal(const struct intel_bios_encoder_data *devdata)
3697 return devdata && devdata->child.lane_reversal;
3700 bool intel_bios_encoder_hpd_invert(const struct intel_bios_encoder_data *devdata)
3702 return devdata && devdata->child.hpd_invert;
3708 struct intel_bios_encoder_data *devdata;
3710 list_for_each_entry(devdata, &display->vbt.display_devices, node) {
3711 if (intel_bios_encoder_port(devdata) == port)
3712 return devdata;
3720 const struct intel_bios_encoder_data *devdata))
3722 struct intel_bios_encoder_data *devdata;
3724 list_for_each_entry(devdata, &display->vbt.display_devices, node)
3725 func(display, devdata);