diff options
| -rw-r--r-- | drivers/gpu/drm/i915/i915_debugfs.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_ddi.c | 13 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 13 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 103 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_dp_mst.c | 6 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_dpio_phy.c | 12 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 17 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_pipe_crc.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_psr.c | 4 |
10 files changed, 87 insertions, 92 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 39883cd915db..d89321f0468c 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c | |||
| @@ -3603,7 +3603,7 @@ static int i915_dp_mst_info(struct seq_file *m, void *unused) | |||
| 3603 | continue; | 3603 | continue; |
| 3604 | 3604 | ||
| 3605 | seq_printf(m, "MST Source Port %c\n", | 3605 | seq_printf(m, "MST Source Port %c\n", |
| 3606 | port_name(intel_dig_port->port)); | 3606 | port_name(intel_dig_port->base.port)); |
| 3607 | drm_dp_mst_dump_topology(m, &intel_dig_port->dp.mst_mgr); | 3607 | drm_dp_mst_dump_topology(m, &intel_dig_port->dp.mst_mgr); |
| 3608 | } | 3608 | } |
| 3609 | drm_connector_list_iter_end(&conn_iter); | 3609 | drm_connector_list_iter_end(&conn_iter); |
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c index ace674cd79b9..65ab55496ab7 100644 --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c | |||
| @@ -1801,8 +1801,8 @@ static void skl_ddi_set_iboost(struct intel_encoder *encoder, | |||
| 1801 | int level, enum intel_output_type type) | 1801 | int level, enum intel_output_type type) |
| 1802 | { | 1802 | { |
| 1803 | struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base); | 1803 | struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base); |
| 1804 | struct drm_i915_private *dev_priv = to_i915(intel_dig_port->base.base.dev); | 1804 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); |
| 1805 | enum port port = intel_dig_port->port; | 1805 | enum port port = encoder->port; |
| 1806 | uint8_t iboost; | 1806 | uint8_t iboost; |
| 1807 | 1807 | ||
| 1808 | if (type == INTEL_OUTPUT_HDMI) | 1808 | if (type == INTEL_OUTPUT_HDMI) |
| @@ -2470,7 +2470,7 @@ void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp) | |||
| 2470 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); | 2470 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); |
| 2471 | struct drm_i915_private *dev_priv = | 2471 | struct drm_i915_private *dev_priv = |
| 2472 | to_i915(intel_dig_port->base.base.dev); | 2472 | to_i915(intel_dig_port->base.base.dev); |
| 2473 | enum port port = intel_dig_port->port; | 2473 | enum port port = intel_dig_port->base.port; |
| 2474 | uint32_t val; | 2474 | uint32_t val; |
| 2475 | bool wait = false; | 2475 | bool wait = false; |
| 2476 | 2476 | ||
| @@ -2698,7 +2698,7 @@ static struct intel_connector * | |||
| 2698 | intel_ddi_init_dp_connector(struct intel_digital_port *intel_dig_port) | 2698 | intel_ddi_init_dp_connector(struct intel_digital_port *intel_dig_port) |
| 2699 | { | 2699 | { |
| 2700 | struct intel_connector *connector; | 2700 | struct intel_connector *connector; |
| 2701 | enum port port = intel_dig_port->port; | 2701 | enum port port = intel_dig_port->base.port; |
| 2702 | 2702 | ||
| 2703 | connector = intel_connector_alloc(); | 2703 | connector = intel_connector_alloc(); |
| 2704 | if (!connector) | 2704 | if (!connector) |
| @@ -2717,7 +2717,7 @@ static struct intel_connector * | |||
| 2717 | intel_ddi_init_hdmi_connector(struct intel_digital_port *intel_dig_port) | 2717 | intel_ddi_init_hdmi_connector(struct intel_digital_port *intel_dig_port) |
| 2718 | { | 2718 | { |
| 2719 | struct intel_connector *connector; | 2719 | struct intel_connector *connector; |
| 2720 | enum port port = intel_dig_port->port; | 2720 | enum port port = intel_dig_port->base.port; |
| 2721 | 2721 | ||
| 2722 | connector = intel_connector_alloc(); | 2722 | connector = intel_connector_alloc(); |
| 2723 | if (!connector) | 2723 | if (!connector) |
| @@ -2733,7 +2733,7 @@ static bool intel_ddi_a_force_4_lanes(struct intel_digital_port *dport) | |||
| 2733 | { | 2733 | { |
| 2734 | struct drm_i915_private *dev_priv = to_i915(dport->base.base.dev); | 2734 | struct drm_i915_private *dev_priv = to_i915(dport->base.base.dev); |
| 2735 | 2735 | ||
| 2736 | if (dport->port != PORT_A) | 2736 | if (dport->base.port != PORT_A) |
| 2737 | return false; | 2737 | return false; |
| 2738 | 2738 | ||
| 2739 | if (dport->saved_port_bits & DDI_A_4_LANES) | 2739 | if (dport->saved_port_bits & DDI_A_4_LANES) |
| @@ -2836,7 +2836,6 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port) | |||
| 2836 | intel_encoder->suspend = intel_dp_encoder_suspend; | 2836 | intel_encoder->suspend = intel_dp_encoder_suspend; |
| 2837 | intel_encoder->get_power_domains = intel_ddi_get_power_domains; | 2837 | intel_encoder->get_power_domains = intel_ddi_get_power_domains; |
| 2838 | 2838 | ||
| 2839 | intel_dig_port->port = port; | ||
| 2840 | intel_dig_port->saved_port_bits = I915_READ(DDI_BUF_CTL(port)) & | 2839 | intel_dig_port->saved_port_bits = I915_READ(DDI_BUF_CTL(port)) & |
| 2841 | (DDI_BUF_PORT_REVERSAL | | 2840 | (DDI_BUF_PORT_REVERSAL | |
| 2842 | DDI_A_4_LANES); | 2841 | DDI_A_4_LANES); |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 84817ccc5305..435dc18aa239 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
| @@ -1701,7 +1701,7 @@ void vlv_wait_port_ready(struct drm_i915_private *dev_priv, | |||
| 1701 | u32 port_mask; | 1701 | u32 port_mask; |
| 1702 | i915_reg_t dpll_reg; | 1702 | i915_reg_t dpll_reg; |
| 1703 | 1703 | ||
| 1704 | switch (dport->port) { | 1704 | switch (dport->base.port) { |
| 1705 | case PORT_B: | 1705 | case PORT_B: |
| 1706 | port_mask = DPLL_PORTB_READY_MASK; | 1706 | port_mask = DPLL_PORTB_READY_MASK; |
| 1707 | dpll_reg = DPLL(0); | 1707 | dpll_reg = DPLL(0); |
| @@ -1723,7 +1723,8 @@ void vlv_wait_port_ready(struct drm_i915_private *dev_priv, | |||
| 1723 | dpll_reg, port_mask, expected_mask, | 1723 | dpll_reg, port_mask, expected_mask, |
| 1724 | 1000)) | 1724 | 1000)) |
| 1725 | WARN(1, "timed out waiting for port %c ready: got 0x%x, expected 0x%x\n", | 1725 | WARN(1, "timed out waiting for port %c ready: got 0x%x, expected 0x%x\n", |
| 1726 | port_name(dport->port), I915_READ(dpll_reg) & port_mask, expected_mask); | 1726 | port_name(dport->base.port), |
| 1727 | I915_READ(dpll_reg) & port_mask, expected_mask); | ||
| 1727 | } | 1728 | } |
| 1728 | 1729 | ||
| 1729 | static void ironlake_enable_pch_transcoder(struct drm_i915_private *dev_priv, | 1730 | static void ironlake_enable_pch_transcoder(struct drm_i915_private *dev_priv, |
| @@ -4481,7 +4482,7 @@ intel_trans_dp_port_sel(struct intel_crtc *crtc) | |||
| 4481 | for_each_encoder_on_crtc(dev, &crtc->base, encoder) { | 4482 | for_each_encoder_on_crtc(dev, &crtc->base, encoder) { |
| 4482 | if (encoder->type == INTEL_OUTPUT_DP || | 4483 | if (encoder->type == INTEL_OUTPUT_DP || |
| 4483 | encoder->type == INTEL_OUTPUT_EDP) | 4484 | encoder->type == INTEL_OUTPUT_EDP) |
| 4484 | return enc_to_dig_port(&encoder->base)->port; | 4485 | return encoder->port; |
| 4485 | } | 4486 | } |
| 4486 | 4487 | ||
| 4487 | return -1; | 4488 | return -1; |
| @@ -7632,7 +7633,7 @@ static void ironlake_init_pch_refclk(struct drm_i915_private *dev_priv) | |||
| 7632 | break; | 7633 | break; |
| 7633 | case INTEL_OUTPUT_EDP: | 7634 | case INTEL_OUTPUT_EDP: |
| 7634 | has_panel = true; | 7635 | has_panel = true; |
| 7635 | if (enc_to_dig_port(&encoder->base)->port == PORT_A) | 7636 | if (encoder->port == PORT_A) |
| 7636 | has_cpu_edp = true; | 7637 | has_cpu_edp = true; |
| 7637 | break; | 7638 | break; |
| 7638 | default: | 7639 | default: |
| @@ -10755,7 +10756,7 @@ static bool check_digital_port_conflicts(struct drm_atomic_state *state) | |||
| 10755 | case INTEL_OUTPUT_DP: | 10756 | case INTEL_OUTPUT_DP: |
| 10756 | case INTEL_OUTPUT_HDMI: | 10757 | case INTEL_OUTPUT_HDMI: |
| 10757 | case INTEL_OUTPUT_EDP: | 10758 | case INTEL_OUTPUT_EDP: |
| 10758 | port_mask = 1 << enc_to_dig_port(&encoder->base)->port; | 10759 | port_mask = 1 << encoder->port; |
| 10759 | 10760 | ||
| 10760 | /* the same port mustn't appear more than once */ | 10761 | /* the same port mustn't appear more than once */ |
| 10761 | if (used_ports & port_mask) | 10762 | if (used_ports & port_mask) |
| @@ -10765,7 +10766,7 @@ static bool check_digital_port_conflicts(struct drm_atomic_state *state) | |||
| 10765 | break; | 10766 | break; |
| 10766 | case INTEL_OUTPUT_DP_MST: | 10767 | case INTEL_OUTPUT_DP_MST: |
| 10767 | used_mst_ports |= | 10768 | used_mst_ports |= |
| 10768 | 1 << enc_to_mst(&encoder->base)->primary->port; | 10769 | 1 << encoder->port; |
| 10769 | break; | 10770 | break; |
| 10770 | default: | 10771 | default: |
| 10771 | break; | 10772 | break; |
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 0151c8d18b79..9b0c6dea40bc 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
| @@ -223,7 +223,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp) | |||
| 223 | { | 223 | { |
| 224 | struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); | 224 | struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); |
| 225 | struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); | 225 | struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); |
| 226 | enum port port = dig_port->port; | 226 | enum port port = dig_port->base.port; |
| 227 | const int *source_rates; | 227 | const int *source_rates; |
| 228 | int size; | 228 | int size; |
| 229 | u32 voltage; | 229 | u32 voltage; |
| @@ -479,11 +479,11 @@ vlv_power_sequencer_kick(struct intel_dp *intel_dp) | |||
| 479 | 479 | ||
| 480 | if (WARN(I915_READ(intel_dp->output_reg) & DP_PORT_EN, | 480 | if (WARN(I915_READ(intel_dp->output_reg) & DP_PORT_EN, |
| 481 | "skipping pipe %c power seqeuncer kick due to port %c being active\n", | 481 | "skipping pipe %c power seqeuncer kick due to port %c being active\n", |
| 482 | pipe_name(pipe), port_name(intel_dig_port->port))) | 482 | pipe_name(pipe), port_name(intel_dig_port->base.port))) |
| 483 | return; | 483 | return; |
| 484 | 484 | ||
| 485 | DRM_DEBUG_KMS("kicking pipe %c power sequencer for port %c\n", | 485 | DRM_DEBUG_KMS("kicking pipe %c power sequencer for port %c\n", |
| 486 | pipe_name(pipe), port_name(intel_dig_port->port)); | 486 | pipe_name(pipe), port_name(intel_dig_port->base.port)); |
| 487 | 487 | ||
| 488 | /* Preserve the BIOS-computed detected bit. This is | 488 | /* Preserve the BIOS-computed detected bit. This is |
| 489 | * supposed to be read-only. | 489 | * supposed to be read-only. |
| @@ -610,7 +610,7 @@ vlv_power_sequencer_pipe(struct intel_dp *intel_dp) | |||
| 610 | 610 | ||
| 611 | DRM_DEBUG_KMS("picked pipe %c power sequencer for port %c\n", | 611 | DRM_DEBUG_KMS("picked pipe %c power sequencer for port %c\n", |
| 612 | pipe_name(intel_dp->pps_pipe), | 612 | pipe_name(intel_dp->pps_pipe), |
| 613 | port_name(intel_dig_port->port)); | 613 | port_name(intel_dig_port->base.port)); |
| 614 | 614 | ||
| 615 | /* init power sequencer on this pipe and port */ | 615 | /* init power sequencer on this pipe and port */ |
| 616 | intel_dp_init_panel_power_sequencer(dev, intel_dp); | 616 | intel_dp_init_panel_power_sequencer(dev, intel_dp); |
| @@ -706,7 +706,7 @@ vlv_initial_power_sequencer_setup(struct intel_dp *intel_dp) | |||
| 706 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); | 706 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); |
| 707 | struct drm_device *dev = intel_dig_port->base.base.dev; | 707 | struct drm_device *dev = intel_dig_port->base.base.dev; |
| 708 | struct drm_i915_private *dev_priv = to_i915(dev); | 708 | struct drm_i915_private *dev_priv = to_i915(dev); |
| 709 | enum port port = intel_dig_port->port; | 709 | enum port port = intel_dig_port->base.port; |
| 710 | 710 | ||
| 711 | lockdep_assert_held(&dev_priv->pps_mutex); | 711 | lockdep_assert_held(&dev_priv->pps_mutex); |
| 712 | 712 | ||
| @@ -966,7 +966,7 @@ static uint32_t ilk_get_aux_clock_divider(struct intel_dp *intel_dp, int index) | |||
| 966 | * like to run at 2MHz. So, take the cdclk or PCH rawclk value and | 966 | * like to run at 2MHz. So, take the cdclk or PCH rawclk value and |
| 967 | * divide by 2000 and use that | 967 | * divide by 2000 and use that |
| 968 | */ | 968 | */ |
| 969 | if (intel_dig_port->port == PORT_A) | 969 | if (intel_dig_port->base.port == PORT_A) |
| 970 | return DIV_ROUND_CLOSEST(dev_priv->cdclk.hw.cdclk, 2000); | 970 | return DIV_ROUND_CLOSEST(dev_priv->cdclk.hw.cdclk, 2000); |
| 971 | else | 971 | else |
| 972 | return DIV_ROUND_CLOSEST(dev_priv->rawclk_freq, 2000); | 972 | return DIV_ROUND_CLOSEST(dev_priv->rawclk_freq, 2000); |
| @@ -977,7 +977,7 @@ static uint32_t hsw_get_aux_clock_divider(struct intel_dp *intel_dp, int index) | |||
| 977 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); | 977 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); |
| 978 | struct drm_i915_private *dev_priv = to_i915(intel_dig_port->base.base.dev); | 978 | struct drm_i915_private *dev_priv = to_i915(intel_dig_port->base.base.dev); |
| 979 | 979 | ||
| 980 | if (intel_dig_port->port != PORT_A && HAS_PCH_LPT_H(dev_priv)) { | 980 | if (intel_dig_port->base.port != PORT_A && HAS_PCH_LPT_H(dev_priv)) { |
| 981 | /* Workaround for non-ULT HSW */ | 981 | /* Workaround for non-ULT HSW */ |
| 982 | switch (index) { | 982 | switch (index) { |
| 983 | case 0: return 63; | 983 | case 0: return 63; |
| @@ -1447,7 +1447,7 @@ static void intel_aux_reg_init(struct intel_dp *intel_dp) | |||
| 1447 | { | 1447 | { |
| 1448 | struct drm_i915_private *dev_priv = to_i915(intel_dp_to_dev(intel_dp)); | 1448 | struct drm_i915_private *dev_priv = to_i915(intel_dp_to_dev(intel_dp)); |
| 1449 | enum port port = intel_aux_port(dev_priv, | 1449 | enum port port = intel_aux_port(dev_priv, |
| 1450 | dp_to_dig_port(intel_dp)->port); | 1450 | dp_to_dig_port(intel_dp)->base.port); |
| 1451 | int i; | 1451 | int i; |
| 1452 | 1452 | ||
| 1453 | intel_dp->aux_ch_ctl_reg = intel_aux_ctl_reg(dev_priv, port); | 1453 | intel_dp->aux_ch_ctl_reg = intel_aux_ctl_reg(dev_priv, port); |
| @@ -1465,7 +1465,7 @@ static void | |||
| 1465 | intel_dp_aux_init(struct intel_dp *intel_dp) | 1465 | intel_dp_aux_init(struct intel_dp *intel_dp) |
| 1466 | { | 1466 | { |
| 1467 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); | 1467 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); |
| 1468 | enum port port = intel_dig_port->port; | 1468 | enum port port = intel_dig_port->base.port; |
| 1469 | 1469 | ||
| 1470 | intel_aux_reg_init(intel_dp); | 1470 | intel_aux_reg_init(intel_dp); |
| 1471 | drm_dp_aux_init(&intel_dp->aux); | 1471 | drm_dp_aux_init(&intel_dp->aux); |
| @@ -1635,7 +1635,7 @@ intel_dp_compute_config(struct intel_encoder *encoder, | |||
| 1635 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); | 1635 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); |
| 1636 | struct drm_display_mode *adjusted_mode = &pipe_config->base.adjusted_mode; | 1636 | struct drm_display_mode *adjusted_mode = &pipe_config->base.adjusted_mode; |
| 1637 | struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); | 1637 | struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); |
| 1638 | enum port port = dp_to_dig_port(intel_dp)->port; | 1638 | enum port port = encoder->port; |
| 1639 | struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->base.crtc); | 1639 | struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->base.crtc); |
| 1640 | struct intel_connector *intel_connector = intel_dp->attached_connector; | 1640 | struct intel_connector *intel_connector = intel_dp->attached_connector; |
| 1641 | struct intel_digital_connector_state *intel_conn_state = | 1641 | struct intel_digital_connector_state *intel_conn_state = |
| @@ -1859,7 +1859,7 @@ static void intel_dp_prepare(struct intel_encoder *encoder, | |||
| 1859 | struct drm_device *dev = encoder->base.dev; | 1859 | struct drm_device *dev = encoder->base.dev; |
| 1860 | struct drm_i915_private *dev_priv = to_i915(dev); | 1860 | struct drm_i915_private *dev_priv = to_i915(dev); |
| 1861 | struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); | 1861 | struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); |
| 1862 | enum port port = dp_to_dig_port(intel_dp)->port; | 1862 | enum port port = encoder->port; |
| 1863 | struct intel_crtc *crtc = to_intel_crtc(pipe_config->base.crtc); | 1863 | struct intel_crtc *crtc = to_intel_crtc(pipe_config->base.crtc); |
| 1864 | const struct drm_display_mode *adjusted_mode = &pipe_config->base.adjusted_mode; | 1864 | const struct drm_display_mode *adjusted_mode = &pipe_config->base.adjusted_mode; |
| 1865 | 1865 | ||
| @@ -2074,7 +2074,7 @@ static bool edp_panel_vdd_on(struct intel_dp *intel_dp) | |||
| 2074 | intel_display_power_get(dev_priv, intel_dp->aux_power_domain); | 2074 | intel_display_power_get(dev_priv, intel_dp->aux_power_domain); |
| 2075 | 2075 | ||
| 2076 | DRM_DEBUG_KMS("Turning eDP port %c VDD on\n", | 2076 | DRM_DEBUG_KMS("Turning eDP port %c VDD on\n", |
| 2077 | port_name(intel_dig_port->port)); | 2077 | port_name(intel_dig_port->base.port)); |
| 2078 | 2078 | ||
| 2079 | if (!edp_have_panel_power(intel_dp)) | 2079 | if (!edp_have_panel_power(intel_dp)) |
| 2080 | wait_panel_power_cycle(intel_dp); | 2080 | wait_panel_power_cycle(intel_dp); |
| @@ -2094,7 +2094,7 @@ static bool edp_panel_vdd_on(struct intel_dp *intel_dp) | |||
| 2094 | */ | 2094 | */ |
| 2095 | if (!edp_have_panel_power(intel_dp)) { | 2095 | if (!edp_have_panel_power(intel_dp)) { |
| 2096 | DRM_DEBUG_KMS("eDP port %c panel power wasn't enabled\n", | 2096 | DRM_DEBUG_KMS("eDP port %c panel power wasn't enabled\n", |
| 2097 | port_name(intel_dig_port->port)); | 2097 | port_name(intel_dig_port->base.port)); |
| 2098 | msleep(intel_dp->panel_power_up_delay); | 2098 | msleep(intel_dp->panel_power_up_delay); |
| 2099 | } | 2099 | } |
| 2100 | 2100 | ||
| @@ -2120,7 +2120,7 @@ void intel_edp_panel_vdd_on(struct intel_dp *intel_dp) | |||
| 2120 | pps_unlock(intel_dp); | 2120 | pps_unlock(intel_dp); |
| 2121 | 2121 | ||
| 2122 | I915_STATE_WARN(!vdd, "eDP port %c VDD already requested on\n", | 2122 | I915_STATE_WARN(!vdd, "eDP port %c VDD already requested on\n", |
| 2123 | port_name(dp_to_dig_port(intel_dp)->port)); | 2123 | port_name(dp_to_dig_port(intel_dp)->base.port)); |
| 2124 | } | 2124 | } |
| 2125 | 2125 | ||
| 2126 | static void edp_panel_vdd_off_sync(struct intel_dp *intel_dp) | 2126 | static void edp_panel_vdd_off_sync(struct intel_dp *intel_dp) |
| @@ -2140,7 +2140,7 @@ static void edp_panel_vdd_off_sync(struct intel_dp *intel_dp) | |||
| 2140 | return; | 2140 | return; |
| 2141 | 2141 | ||
| 2142 | DRM_DEBUG_KMS("Turning eDP port %c VDD off\n", | 2142 | DRM_DEBUG_KMS("Turning eDP port %c VDD off\n", |
| 2143 | port_name(intel_dig_port->port)); | 2143 | port_name(intel_dig_port->base.port)); |
| 2144 | 2144 | ||
| 2145 | pp = ironlake_get_pp_control(intel_dp); | 2145 | pp = ironlake_get_pp_control(intel_dp); |
| 2146 | pp &= ~EDP_FORCE_VDD; | 2146 | pp &= ~EDP_FORCE_VDD; |
| @@ -2200,7 +2200,7 @@ static void edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync) | |||
| 2200 | return; | 2200 | return; |
| 2201 | 2201 | ||
| 2202 | I915_STATE_WARN(!intel_dp->want_panel_vdd, "eDP port %c VDD not forced on", | 2202 | I915_STATE_WARN(!intel_dp->want_panel_vdd, "eDP port %c VDD not forced on", |
| 2203 | port_name(dp_to_dig_port(intel_dp)->port)); | 2203 | port_name(dp_to_dig_port(intel_dp)->base.port)); |
| 2204 | 2204 | ||
| 2205 | intel_dp->want_panel_vdd = false; | 2205 | intel_dp->want_panel_vdd = false; |
| 2206 | 2206 | ||
| @@ -2223,11 +2223,11 @@ static void edp_panel_on(struct intel_dp *intel_dp) | |||
| 2223 | return; | 2223 | return; |
| 2224 | 2224 | ||
| 2225 | DRM_DEBUG_KMS("Turn eDP port %c panel power on\n", | 2225 | DRM_DEBUG_KMS("Turn eDP port %c panel power on\n", |
| 2226 | port_name(dp_to_dig_port(intel_dp)->port)); | 2226 | port_name(dp_to_dig_port(intel_dp)->base.port)); |
| 2227 | 2227 | ||
| 2228 | if (WARN(edp_have_panel_power(intel_dp), | 2228 | if (WARN(edp_have_panel_power(intel_dp), |
| 2229 | "eDP port %c panel power already on\n", | 2229 | "eDP port %c panel power already on\n", |
| 2230 | port_name(dp_to_dig_port(intel_dp)->port))) | 2230 | port_name(dp_to_dig_port(intel_dp)->base.port))) |
| 2231 | return; | 2231 | return; |
| 2232 | 2232 | ||
| 2233 | wait_panel_power_cycle(intel_dp); | 2233 | wait_panel_power_cycle(intel_dp); |
| @@ -2282,10 +2282,10 @@ static void edp_panel_off(struct intel_dp *intel_dp) | |||
| 2282 | return; | 2282 | return; |
| 2283 | 2283 | ||
| 2284 | DRM_DEBUG_KMS("Turn eDP port %c panel power off\n", | 2284 | DRM_DEBUG_KMS("Turn eDP port %c panel power off\n", |
| 2285 | port_name(dp_to_dig_port(intel_dp)->port)); | 2285 | port_name(dp_to_dig_port(intel_dp)->base.port)); |
| 2286 | 2286 | ||
| 2287 | WARN(!intel_dp->want_panel_vdd, "Need eDP port %c VDD to turn off panel\n", | 2287 | WARN(!intel_dp->want_panel_vdd, "Need eDP port %c VDD to turn off panel\n", |
| 2288 | port_name(dp_to_dig_port(intel_dp)->port)); | 2288 | port_name(dp_to_dig_port(intel_dp)->base.port)); |
| 2289 | 2289 | ||
| 2290 | pp = ironlake_get_pp_control(intel_dp); | 2290 | pp = ironlake_get_pp_control(intel_dp); |
| 2291 | /* We need to switch off panel power _and_ force vdd, for otherwise some | 2291 | /* We need to switch off panel power _and_ force vdd, for otherwise some |
| @@ -2437,7 +2437,7 @@ static void assert_dp_port(struct intel_dp *intel_dp, bool state) | |||
| 2437 | 2437 | ||
| 2438 | I915_STATE_WARN(cur_state != state, | 2438 | I915_STATE_WARN(cur_state != state, |
| 2439 | "DP port %c state assertion failure (expected %s, current %s)\n", | 2439 | "DP port %c state assertion failure (expected %s, current %s)\n", |
| 2440 | port_name(dig_port->port), | 2440 | port_name(dig_port->base.port), |
| 2441 | onoff(state), onoff(cur_state)); | 2441 | onoff(state), onoff(cur_state)); |
| 2442 | } | 2442 | } |
| 2443 | #define assert_dp_port_disabled(d) assert_dp_port((d), false) | 2443 | #define assert_dp_port_disabled(d) assert_dp_port((d), false) |
| @@ -2570,7 +2570,7 @@ static bool intel_dp_get_hw_state(struct intel_encoder *encoder, | |||
| 2570 | enum pipe *pipe) | 2570 | enum pipe *pipe) |
| 2571 | { | 2571 | { |
| 2572 | struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); | 2572 | struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); |
| 2573 | enum port port = dp_to_dig_port(intel_dp)->port; | 2573 | enum port port = encoder->port; |
| 2574 | struct drm_device *dev = encoder->base.dev; | 2574 | struct drm_device *dev = encoder->base.dev; |
| 2575 | struct drm_i915_private *dev_priv = to_i915(dev); | 2575 | struct drm_i915_private *dev_priv = to_i915(dev); |
| 2576 | u32 tmp; | 2576 | u32 tmp; |
| @@ -2625,7 +2625,7 @@ static void intel_dp_get_config(struct intel_encoder *encoder, | |||
| 2625 | u32 tmp, flags = 0; | 2625 | u32 tmp, flags = 0; |
| 2626 | struct drm_device *dev = encoder->base.dev; | 2626 | struct drm_device *dev = encoder->base.dev; |
| 2627 | struct drm_i915_private *dev_priv = to_i915(dev); | 2627 | struct drm_i915_private *dev_priv = to_i915(dev); |
| 2628 | enum port port = dp_to_dig_port(intel_dp)->port; | 2628 | enum port port = encoder->port; |
| 2629 | struct intel_crtc *crtc = to_intel_crtc(pipe_config->base.crtc); | 2629 | struct intel_crtc *crtc = to_intel_crtc(pipe_config->base.crtc); |
| 2630 | 2630 | ||
| 2631 | if (encoder->type == INTEL_OUTPUT_EDP) | 2631 | if (encoder->type == INTEL_OUTPUT_EDP) |
| @@ -2794,7 +2794,7 @@ _intel_dp_set_link_train(struct intel_dp *intel_dp, | |||
| 2794 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); | 2794 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); |
| 2795 | struct drm_device *dev = intel_dig_port->base.base.dev; | 2795 | struct drm_device *dev = intel_dig_port->base.base.dev; |
| 2796 | struct drm_i915_private *dev_priv = to_i915(dev); | 2796 | struct drm_i915_private *dev_priv = to_i915(dev); |
| 2797 | enum port port = intel_dig_port->port; | 2797 | enum port port = intel_dig_port->base.port; |
| 2798 | 2798 | ||
| 2799 | if (dp_train_pat & DP_TRAINING_PATTERN_MASK) | 2799 | if (dp_train_pat & DP_TRAINING_PATTERN_MASK) |
| 2800 | DRM_DEBUG_KMS("Using DP training pattern TPS%d\n", | 2800 | DRM_DEBUG_KMS("Using DP training pattern TPS%d\n", |
| @@ -2969,7 +2969,7 @@ static void g4x_pre_enable_dp(struct intel_encoder *encoder, | |||
| 2969 | const struct drm_connector_state *conn_state) | 2969 | const struct drm_connector_state *conn_state) |
| 2970 | { | 2970 | { |
| 2971 | struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); | 2971 | struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); |
| 2972 | enum port port = dp_to_dig_port(intel_dp)->port; | 2972 | enum port port = encoder->port; |
| 2973 | 2973 | ||
| 2974 | intel_dp_prepare(encoder, pipe_config); | 2974 | intel_dp_prepare(encoder, pipe_config); |
| 2975 | 2975 | ||
| @@ -3002,7 +3002,7 @@ static void vlv_detach_power_sequencer(struct intel_dp *intel_dp) | |||
| 3002 | * from a port. | 3002 | * from a port. |
| 3003 | */ | 3003 | */ |
| 3004 | DRM_DEBUG_KMS("detaching pipe %c power sequencer from port %c\n", | 3004 | DRM_DEBUG_KMS("detaching pipe %c power sequencer from port %c\n", |
| 3005 | pipe_name(pipe), port_name(intel_dig_port->port)); | 3005 | pipe_name(pipe), port_name(intel_dig_port->base.port)); |
| 3006 | I915_WRITE(pp_on_reg, 0); | 3006 | I915_WRITE(pp_on_reg, 0); |
| 3007 | POSTING_READ(pp_on_reg); | 3007 | POSTING_READ(pp_on_reg); |
| 3008 | 3008 | ||
| @@ -3026,7 +3026,7 @@ static void vlv_steal_power_sequencer(struct drm_device *dev, | |||
| 3026 | continue; | 3026 | continue; |
| 3027 | 3027 | ||
| 3028 | intel_dp = enc_to_intel_dp(&encoder->base); | 3028 | intel_dp = enc_to_intel_dp(&encoder->base); |
| 3029 | port = dp_to_dig_port(intel_dp)->port; | 3029 | port = dp_to_dig_port(intel_dp)->base.port; |
| 3030 | 3030 | ||
| 3031 | WARN(intel_dp->active_pipe == pipe, | 3031 | WARN(intel_dp->active_pipe == pipe, |
| 3032 | "stealing pipe %c power sequencer from active (e)DP port %c\n", | 3032 | "stealing pipe %c power sequencer from active (e)DP port %c\n", |
| @@ -3178,7 +3178,7 @@ uint8_t | |||
| 3178 | intel_dp_voltage_max(struct intel_dp *intel_dp) | 3178 | intel_dp_voltage_max(struct intel_dp *intel_dp) |
| 3179 | { | 3179 | { |
| 3180 | struct drm_i915_private *dev_priv = to_i915(intel_dp_to_dev(intel_dp)); | 3180 | struct drm_i915_private *dev_priv = to_i915(intel_dp_to_dev(intel_dp)); |
| 3181 | enum port port = dp_to_dig_port(intel_dp)->port; | 3181 | enum port port = dp_to_dig_port(intel_dp)->base.port; |
| 3182 | 3182 | ||
| 3183 | if (INTEL_GEN(dev_priv) >= 9) { | 3183 | if (INTEL_GEN(dev_priv) >= 9) { |
| 3184 | struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; | 3184 | struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; |
| @@ -3197,7 +3197,7 @@ uint8_t | |||
| 3197 | intel_dp_pre_emphasis_max(struct intel_dp *intel_dp, uint8_t voltage_swing) | 3197 | intel_dp_pre_emphasis_max(struct intel_dp *intel_dp, uint8_t voltage_swing) |
| 3198 | { | 3198 | { |
| 3199 | struct drm_i915_private *dev_priv = to_i915(intel_dp_to_dev(intel_dp)); | 3199 | struct drm_i915_private *dev_priv = to_i915(intel_dp_to_dev(intel_dp)); |
| 3200 | enum port port = dp_to_dig_port(intel_dp)->port; | 3200 | enum port port = dp_to_dig_port(intel_dp)->base.port; |
| 3201 | 3201 | ||
| 3202 | if (INTEL_GEN(dev_priv) >= 9) { | 3202 | if (INTEL_GEN(dev_priv) >= 9) { |
| 3203 | switch (voltage_swing & DP_TRAIN_VOLTAGE_SWING_MASK) { | 3203 | switch (voltage_swing & DP_TRAIN_VOLTAGE_SWING_MASK) { |
| @@ -3531,7 +3531,7 @@ void | |||
| 3531 | intel_dp_set_signal_levels(struct intel_dp *intel_dp) | 3531 | intel_dp_set_signal_levels(struct intel_dp *intel_dp) |
| 3532 | { | 3532 | { |
| 3533 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); | 3533 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); |
| 3534 | enum port port = intel_dig_port->port; | 3534 | enum port port = intel_dig_port->base.port; |
| 3535 | struct drm_device *dev = intel_dig_port->base.base.dev; | 3535 | struct drm_device *dev = intel_dig_port->base.base.dev; |
| 3536 | struct drm_i915_private *dev_priv = to_i915(dev); | 3536 | struct drm_i915_private *dev_priv = to_i915(dev); |
| 3537 | uint32_t signal_levels, mask = 0; | 3537 | uint32_t signal_levels, mask = 0; |
| @@ -3591,7 +3591,7 @@ void intel_dp_set_idle_link_train(struct intel_dp *intel_dp) | |||
| 3591 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); | 3591 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); |
| 3592 | struct drm_device *dev = intel_dig_port->base.base.dev; | 3592 | struct drm_device *dev = intel_dig_port->base.base.dev; |
| 3593 | struct drm_i915_private *dev_priv = to_i915(dev); | 3593 | struct drm_i915_private *dev_priv = to_i915(dev); |
| 3594 | enum port port = intel_dig_port->port; | 3594 | enum port port = intel_dig_port->base.port; |
| 3595 | uint32_t val; | 3595 | uint32_t val; |
| 3596 | 3596 | ||
| 3597 | if (!HAS_DDI(dev_priv)) | 3597 | if (!HAS_DDI(dev_priv)) |
| @@ -4490,7 +4490,7 @@ static bool ibx_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4490 | { | 4490 | { |
| 4491 | u32 bit; | 4491 | u32 bit; |
| 4492 | 4492 | ||
| 4493 | switch (port->port) { | 4493 | switch (port->base.port) { |
| 4494 | case PORT_B: | 4494 | case PORT_B: |
| 4495 | bit = SDE_PORTB_HOTPLUG; | 4495 | bit = SDE_PORTB_HOTPLUG; |
| 4496 | break; | 4496 | break; |
| @@ -4501,7 +4501,7 @@ static bool ibx_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4501 | bit = SDE_PORTD_HOTPLUG; | 4501 | bit = SDE_PORTD_HOTPLUG; |
| 4502 | break; | 4502 | break; |
| 4503 | default: | 4503 | default: |
| 4504 | MISSING_CASE(port->port); | 4504 | MISSING_CASE(port->base.port); |
| 4505 | return false; | 4505 | return false; |
| 4506 | } | 4506 | } |
| 4507 | 4507 | ||
| @@ -4513,7 +4513,7 @@ static bool cpt_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4513 | { | 4513 | { |
| 4514 | u32 bit; | 4514 | u32 bit; |
| 4515 | 4515 | ||
| 4516 | switch (port->port) { | 4516 | switch (port->base.port) { |
| 4517 | case PORT_B: | 4517 | case PORT_B: |
| 4518 | bit = SDE_PORTB_HOTPLUG_CPT; | 4518 | bit = SDE_PORTB_HOTPLUG_CPT; |
| 4519 | break; | 4519 | break; |
| @@ -4524,7 +4524,7 @@ static bool cpt_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4524 | bit = SDE_PORTD_HOTPLUG_CPT; | 4524 | bit = SDE_PORTD_HOTPLUG_CPT; |
| 4525 | break; | 4525 | break; |
| 4526 | default: | 4526 | default: |
| 4527 | MISSING_CASE(port->port); | 4527 | MISSING_CASE(port->base.port); |
| 4528 | return false; | 4528 | return false; |
| 4529 | } | 4529 | } |
| 4530 | 4530 | ||
| @@ -4536,7 +4536,7 @@ static bool spt_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4536 | { | 4536 | { |
| 4537 | u32 bit; | 4537 | u32 bit; |
| 4538 | 4538 | ||
| 4539 | switch (port->port) { | 4539 | switch (port->base.port) { |
| 4540 | case PORT_A: | 4540 | case PORT_A: |
| 4541 | bit = SDE_PORTA_HOTPLUG_SPT; | 4541 | bit = SDE_PORTA_HOTPLUG_SPT; |
| 4542 | break; | 4542 | break; |
| @@ -4555,7 +4555,7 @@ static bool g4x_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4555 | { | 4555 | { |
| 4556 | u32 bit; | 4556 | u32 bit; |
| 4557 | 4557 | ||
| 4558 | switch (port->port) { | 4558 | switch (port->base.port) { |
| 4559 | case PORT_B: | 4559 | case PORT_B: |
| 4560 | bit = PORTB_HOTPLUG_LIVE_STATUS_G4X; | 4560 | bit = PORTB_HOTPLUG_LIVE_STATUS_G4X; |
| 4561 | break; | 4561 | break; |
| @@ -4566,7 +4566,7 @@ static bool g4x_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4566 | bit = PORTD_HOTPLUG_LIVE_STATUS_G4X; | 4566 | bit = PORTD_HOTPLUG_LIVE_STATUS_G4X; |
| 4567 | break; | 4567 | break; |
| 4568 | default: | 4568 | default: |
| 4569 | MISSING_CASE(port->port); | 4569 | MISSING_CASE(port->base.port); |
| 4570 | return false; | 4570 | return false; |
| 4571 | } | 4571 | } |
| 4572 | 4572 | ||
| @@ -4578,7 +4578,7 @@ static bool gm45_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4578 | { | 4578 | { |
| 4579 | u32 bit; | 4579 | u32 bit; |
| 4580 | 4580 | ||
| 4581 | switch (port->port) { | 4581 | switch (port->base.port) { |
| 4582 | case PORT_B: | 4582 | case PORT_B: |
| 4583 | bit = PORTB_HOTPLUG_LIVE_STATUS_GM45; | 4583 | bit = PORTB_HOTPLUG_LIVE_STATUS_GM45; |
| 4584 | break; | 4584 | break; |
| @@ -4589,7 +4589,7 @@ static bool gm45_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4589 | bit = PORTD_HOTPLUG_LIVE_STATUS_GM45; | 4589 | bit = PORTD_HOTPLUG_LIVE_STATUS_GM45; |
| 4590 | break; | 4590 | break; |
| 4591 | default: | 4591 | default: |
| 4592 | MISSING_CASE(port->port); | 4592 | MISSING_CASE(port->base.port); |
| 4593 | return false; | 4593 | return false; |
| 4594 | } | 4594 | } |
| 4595 | 4595 | ||
| @@ -4599,7 +4599,7 @@ static bool gm45_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4599 | static bool ilk_digital_port_connected(struct drm_i915_private *dev_priv, | 4599 | static bool ilk_digital_port_connected(struct drm_i915_private *dev_priv, |
| 4600 | struct intel_digital_port *port) | 4600 | struct intel_digital_port *port) |
| 4601 | { | 4601 | { |
| 4602 | if (port->port == PORT_A) | 4602 | if (port->base.port == PORT_A) |
| 4603 | return I915_READ(DEISR) & DE_DP_A_HOTPLUG; | 4603 | return I915_READ(DEISR) & DE_DP_A_HOTPLUG; |
| 4604 | else | 4604 | else |
| 4605 | return ibx_digital_port_connected(dev_priv, port); | 4605 | return ibx_digital_port_connected(dev_priv, port); |
| @@ -4608,7 +4608,7 @@ static bool ilk_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4608 | static bool snb_digital_port_connected(struct drm_i915_private *dev_priv, | 4608 | static bool snb_digital_port_connected(struct drm_i915_private *dev_priv, |
| 4609 | struct intel_digital_port *port) | 4609 | struct intel_digital_port *port) |
| 4610 | { | 4610 | { |
| 4611 | if (port->port == PORT_A) | 4611 | if (port->base.port == PORT_A) |
| 4612 | return I915_READ(DEISR) & DE_DP_A_HOTPLUG; | 4612 | return I915_READ(DEISR) & DE_DP_A_HOTPLUG; |
| 4613 | else | 4613 | else |
| 4614 | return cpt_digital_port_connected(dev_priv, port); | 4614 | return cpt_digital_port_connected(dev_priv, port); |
| @@ -4617,7 +4617,7 @@ static bool snb_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4617 | static bool ivb_digital_port_connected(struct drm_i915_private *dev_priv, | 4617 | static bool ivb_digital_port_connected(struct drm_i915_private *dev_priv, |
| 4618 | struct intel_digital_port *port) | 4618 | struct intel_digital_port *port) |
| 4619 | { | 4619 | { |
| 4620 | if (port->port == PORT_A) | 4620 | if (port->base.port == PORT_A) |
| 4621 | return I915_READ(DEISR) & DE_DP_A_HOTPLUG_IVB; | 4621 | return I915_READ(DEISR) & DE_DP_A_HOTPLUG_IVB; |
| 4622 | else | 4622 | else |
| 4623 | return cpt_digital_port_connected(dev_priv, port); | 4623 | return cpt_digital_port_connected(dev_priv, port); |
| @@ -4626,7 +4626,7 @@ static bool ivb_digital_port_connected(struct drm_i915_private *dev_priv, | |||
| 4626 | static bool bdw_digital_port_connected(struct drm_i915_private *dev_priv, | 4626 | static bool bdw_digital_port_connected(struct drm_i915_private *dev_priv, |
| 4627 | struct intel_digital_port *port) | 4627 | struct intel_digital_port *port) |
| 4628 | { | 4628 | { |
| 4629 | if (port->port == PORT_A) | 4629 | if (port->base.port == PORT_A) |
| 4630 | return I915_READ(GEN8_DE_PORT_ISR) & GEN8_PORT_DP_A_HOTPLUG; | 4630 | return I915_READ(GEN8_DE_PORT_ISR) & GEN8_PORT_DP_A_HOTPLUG; |
| 4631 | else | 4631 | else |
| 4632 | return cpt_digital_port_connected(dev_priv, port); | 4632 | return cpt_digital_port_connected(dev_priv, port); |
| @@ -5109,12 +5109,12 @@ intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd) | |||
| 5109 | * "vdd off -> long hpd -> vdd on -> detect -> vdd off -> ..." | 5109 | * "vdd off -> long hpd -> vdd on -> detect -> vdd off -> ..." |
| 5110 | */ | 5110 | */ |
| 5111 | DRM_DEBUG_KMS("ignoring long hpd on eDP port %c\n", | 5111 | DRM_DEBUG_KMS("ignoring long hpd on eDP port %c\n", |
| 5112 | port_name(intel_dig_port->port)); | 5112 | port_name(intel_dig_port->base.port)); |
| 5113 | return IRQ_HANDLED; | 5113 | return IRQ_HANDLED; |
| 5114 | } | 5114 | } |
| 5115 | 5115 | ||
| 5116 | DRM_DEBUG_KMS("got hpd irq on port %c - %s\n", | 5116 | DRM_DEBUG_KMS("got hpd irq on port %c - %s\n", |
| 5117 | port_name(intel_dig_port->port), | 5117 | port_name(intel_dig_port->base.port), |
| 5118 | long_hpd ? "long" : "short"); | 5118 | long_hpd ? "long" : "short"); |
| 5119 | 5119 | ||
| 5120 | if (long_hpd) { | 5120 | if (long_hpd) { |
| @@ -5364,7 +5364,7 @@ intel_dp_init_panel_power_sequencer_registers(struct drm_device *dev, | |||
| 5364 | u32 pp_on, pp_off, pp_div, port_sel = 0; | 5364 | u32 pp_on, pp_off, pp_div, port_sel = 0; |
| 5365 | int div = dev_priv->rawclk_freq / 1000; | 5365 | int div = dev_priv->rawclk_freq / 1000; |
| 5366 | struct pps_registers regs; | 5366 | struct pps_registers regs; |
| 5367 | enum port port = dp_to_dig_port(intel_dp)->port; | 5367 | enum port port = dp_to_dig_port(intel_dp)->base.port; |
| 5368 | const struct edp_power_seq *seq = &intel_dp->pps_delays; | 5368 | const struct edp_power_seq *seq = &intel_dp->pps_delays; |
| 5369 | 5369 | ||
| 5370 | lockdep_assert_held(&dev_priv->pps_mutex); | 5370 | lockdep_assert_held(&dev_priv->pps_mutex); |
| @@ -5965,9 +5965,9 @@ intel_dp_init_connector_port_info(struct intel_digital_port *intel_dig_port) | |||
| 5965 | struct intel_encoder *encoder = &intel_dig_port->base; | 5965 | struct intel_encoder *encoder = &intel_dig_port->base; |
| 5966 | struct intel_dp *intel_dp = &intel_dig_port->dp; | 5966 | struct intel_dp *intel_dp = &intel_dig_port->dp; |
| 5967 | 5967 | ||
| 5968 | encoder->hpd_pin = intel_hpd_pin(intel_dig_port->port); | 5968 | encoder->hpd_pin = intel_hpd_pin(encoder->port); |
| 5969 | 5969 | ||
| 5970 | switch (intel_dig_port->port) { | 5970 | switch (encoder->port) { |
| 5971 | case PORT_A: | 5971 | case PORT_A: |
| 5972 | intel_dp->aux_power_domain = POWER_DOMAIN_AUX_A; | 5972 | intel_dp->aux_power_domain = POWER_DOMAIN_AUX_A; |
| 5973 | break; | 5973 | break; |
| @@ -5985,7 +5985,7 @@ intel_dp_init_connector_port_info(struct intel_digital_port *intel_dig_port) | |||
| 5985 | intel_dp->aux_power_domain = POWER_DOMAIN_AUX_D; | 5985 | intel_dp->aux_power_domain = POWER_DOMAIN_AUX_D; |
| 5986 | break; | 5986 | break; |
| 5987 | default: | 5987 | default: |
| 5988 | MISSING_CASE(intel_dig_port->port); | 5988 | MISSING_CASE(encoder->port); |
| 5989 | } | 5989 | } |
| 5990 | } | 5990 | } |
| 5991 | 5991 | ||
| @@ -6021,7 +6021,7 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port, | |||
| 6021 | struct intel_encoder *intel_encoder = &intel_dig_port->base; | 6021 | struct intel_encoder *intel_encoder = &intel_dig_port->base; |
| 6022 | struct drm_device *dev = intel_encoder->base.dev; | 6022 | struct drm_device *dev = intel_encoder->base.dev; |
| 6023 | struct drm_i915_private *dev_priv = to_i915(dev); | 6023 | struct drm_i915_private *dev_priv = to_i915(dev); |
| 6024 | enum port port = intel_dig_port->port; | 6024 | enum port port = intel_encoder->port; |
| 6025 | int type; | 6025 | int type; |
| 6026 | 6026 | ||
| 6027 | /* Initialize the work for modeset in case of link train failure */ | 6027 | /* Initialize the work for modeset in case of link train failure */ |
| @@ -6191,7 +6191,6 @@ bool intel_dp_init(struct drm_i915_private *dev_priv, | |||
| 6191 | intel_encoder->disable = g4x_disable_dp; | 6191 | intel_encoder->disable = g4x_disable_dp; |
| 6192 | } | 6192 | } |
| 6193 | 6193 | ||
| 6194 | intel_dig_port->port = port; | ||
| 6195 | intel_dig_port->dp.output_reg = output_reg; | 6194 | intel_dig_port->dp.output_reg = output_reg; |
| 6196 | intel_dig_port->max_lanes = 4; | 6195 | intel_dig_port->max_lanes = 4; |
| 6197 | 6196 | ||
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index 653ca39789b8..c3de0918ee13 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c | |||
| @@ -209,7 +209,7 @@ static void intel_mst_pre_enable_dp(struct intel_encoder *encoder, | |||
| 209 | struct intel_digital_port *intel_dig_port = intel_mst->primary; | 209 | struct intel_digital_port *intel_dig_port = intel_mst->primary; |
| 210 | struct intel_dp *intel_dp = &intel_dig_port->dp; | 210 | struct intel_dp *intel_dp = &intel_dig_port->dp; |
| 211 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); | 211 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); |
| 212 | enum port port = intel_dig_port->port; | 212 | enum port port = intel_dig_port->base.port; |
| 213 | struct intel_connector *connector = | 213 | struct intel_connector *connector = |
| 214 | to_intel_connector(conn_state->connector); | 214 | to_intel_connector(conn_state->connector); |
| 215 | int ret; | 215 | int ret; |
| @@ -253,7 +253,7 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder, | |||
| 253 | struct intel_digital_port *intel_dig_port = intel_mst->primary; | 253 | struct intel_digital_port *intel_dig_port = intel_mst->primary; |
| 254 | struct intel_dp *intel_dp = &intel_dig_port->dp; | 254 | struct intel_dp *intel_dp = &intel_dig_port->dp; |
| 255 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); | 255 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); |
| 256 | enum port port = intel_dig_port->port; | 256 | enum port port = intel_dig_port->base.port; |
| 257 | int ret; | 257 | int ret; |
| 258 | 258 | ||
| 259 | DRM_DEBUG_KMS("active links %d\n", intel_dp->active_mst_links); | 259 | DRM_DEBUG_KMS("active links %d\n", intel_dp->active_mst_links); |
| @@ -552,7 +552,7 @@ intel_dp_create_fake_mst_encoder(struct intel_digital_port *intel_dig_port, enum | |||
| 552 | 552 | ||
| 553 | intel_encoder->type = INTEL_OUTPUT_DP_MST; | 553 | intel_encoder->type = INTEL_OUTPUT_DP_MST; |
| 554 | intel_encoder->power_domain = intel_dig_port->base.power_domain; | 554 | intel_encoder->power_domain = intel_dig_port->base.power_domain; |
| 555 | intel_encoder->port = intel_dig_port->port; | 555 | intel_encoder->port = intel_dig_port->base.port; |
| 556 | intel_encoder->crtc_mask = 0x7; | 556 | intel_encoder->crtc_mask = 0x7; |
| 557 | intel_encoder->cloneable = 0; | 557 | intel_encoder->cloneable = 0; |
| 558 | 558 | ||
diff --git a/drivers/gpu/drm/i915/intel_dpio_phy.c b/drivers/gpu/drm/i915/intel_dpio_phy.c index 5958d3d8b90e..76473e9836c6 100644 --- a/drivers/gpu/drm/i915/intel_dpio_phy.c +++ b/drivers/gpu/drm/i915/intel_dpio_phy.c | |||
| @@ -586,9 +586,8 @@ bxt_ddi_phy_calc_lane_lat_optim_mask(uint8_t lane_count) | |||
| 586 | void bxt_ddi_phy_set_lane_optim_mask(struct intel_encoder *encoder, | 586 | void bxt_ddi_phy_set_lane_optim_mask(struct intel_encoder *encoder, |
| 587 | uint8_t lane_lat_optim_mask) | 587 | uint8_t lane_lat_optim_mask) |
| 588 | { | 588 | { |
| 589 | struct intel_digital_port *dport = enc_to_dig_port(&encoder->base); | 589 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); |
| 590 | struct drm_i915_private *dev_priv = to_i915(dport->base.base.dev); | 590 | enum port port = encoder->port; |
| 591 | enum port port = dport->port; | ||
| 592 | enum dpio_phy phy; | 591 | enum dpio_phy phy; |
| 593 | enum dpio_channel ch; | 592 | enum dpio_channel ch; |
| 594 | int lane; | 593 | int lane; |
| @@ -613,9 +612,8 @@ void bxt_ddi_phy_set_lane_optim_mask(struct intel_encoder *encoder, | |||
| 613 | uint8_t | 612 | uint8_t |
| 614 | bxt_ddi_phy_get_lane_lat_optim_mask(struct intel_encoder *encoder) | 613 | bxt_ddi_phy_get_lane_lat_optim_mask(struct intel_encoder *encoder) |
| 615 | { | 614 | { |
| 616 | struct intel_digital_port *dport = enc_to_dig_port(&encoder->base); | 615 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); |
| 617 | struct drm_i915_private *dev_priv = to_i915(dport->base.base.dev); | 616 | enum port port = encoder->port; |
| 618 | enum port port = dport->port; | ||
| 619 | enum dpio_phy phy; | 617 | enum dpio_phy phy; |
| 620 | enum dpio_channel ch; | 618 | enum dpio_channel ch; |
| 621 | int lane; | 619 | int lane; |
| @@ -641,7 +639,7 @@ void chv_set_phy_signal_level(struct intel_encoder *encoder, | |||
| 641 | { | 639 | { |
| 642 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); | 640 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); |
| 643 | struct intel_digital_port *dport = enc_to_dig_port(&encoder->base); | 641 | struct intel_digital_port *dport = enc_to_dig_port(&encoder->base); |
| 644 | struct intel_crtc *intel_crtc = to_intel_crtc(dport->base.base.crtc); | 642 | struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); |
| 645 | enum dpio_channel ch = vlv_dport_to_channel(dport); | 643 | enum dpio_channel ch = vlv_dport_to_channel(dport); |
| 646 | enum pipe pipe = intel_crtc->pipe; | 644 | enum pipe pipe = intel_crtc->pipe; |
| 647 | u32 val; | 645 | u32 val; |
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 00b488688042..a0a5cead868c 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h | |||
| @@ -1056,7 +1056,6 @@ struct intel_lspcon { | |||
| 1056 | 1056 | ||
| 1057 | struct intel_digital_port { | 1057 | struct intel_digital_port { |
| 1058 | struct intel_encoder base; | 1058 | struct intel_encoder base; |
| 1059 | enum port port; | ||
| 1060 | u32 saved_port_bits; | 1059 | u32 saved_port_bits; |
| 1061 | struct intel_dp dp; | 1060 | struct intel_dp dp; |
| 1062 | struct intel_hdmi hdmi; | 1061 | struct intel_hdmi hdmi; |
| @@ -1088,7 +1087,7 @@ struct intel_dp_mst_encoder { | |||
| 1088 | static inline enum dpio_channel | 1087 | static inline enum dpio_channel |
| 1089 | vlv_dport_to_channel(struct intel_digital_port *dport) | 1088 | vlv_dport_to_channel(struct intel_digital_port *dport) |
| 1090 | { | 1089 | { |
| 1091 | switch (dport->port) { | 1090 | switch (dport->base.port) { |
| 1092 | case PORT_B: | 1091 | case PORT_B: |
| 1093 | case PORT_D: | 1092 | case PORT_D: |
| 1094 | return DPIO_CH0; | 1093 | return DPIO_CH0; |
| @@ -1102,7 +1101,7 @@ vlv_dport_to_channel(struct intel_digital_port *dport) | |||
| 1102 | static inline enum dpio_phy | 1101 | static inline enum dpio_phy |
| 1103 | vlv_dport_to_phy(struct intel_digital_port *dport) | 1102 | vlv_dport_to_phy(struct intel_digital_port *dport) |
| 1104 | { | 1103 | { |
| 1105 | switch (dport->port) { | 1104 | switch (dport->base.port) { |
| 1106 | case PORT_B: | 1105 | case PORT_B: |
| 1107 | case PORT_C: | 1106 | case PORT_C: |
| 1108 | return DPIO_PHY0; | 1107 | return DPIO_PHY0; |
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 1f2258dec09e..2d95db64cdf2 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
| @@ -186,7 +186,7 @@ static bool g4x_infoframe_enabled(struct drm_encoder *encoder, | |||
| 186 | if ((val & VIDEO_DIP_ENABLE) == 0) | 186 | if ((val & VIDEO_DIP_ENABLE) == 0) |
| 187 | return false; | 187 | return false; |
| 188 | 188 | ||
| 189 | if ((val & VIDEO_DIP_PORT_MASK) != VIDEO_DIP_PORT(intel_dig_port->port)) | 189 | if ((val & VIDEO_DIP_PORT_MASK) != VIDEO_DIP_PORT(intel_dig_port->base.port)) |
| 190 | return false; | 190 | return false; |
| 191 | 191 | ||
| 192 | return val & (VIDEO_DIP_ENABLE_AVI | | 192 | return val & (VIDEO_DIP_ENABLE_AVI | |
| @@ -245,7 +245,7 @@ static bool ibx_infoframe_enabled(struct drm_encoder *encoder, | |||
| 245 | if ((val & VIDEO_DIP_ENABLE) == 0) | 245 | if ((val & VIDEO_DIP_ENABLE) == 0) |
| 246 | return false; | 246 | return false; |
| 247 | 247 | ||
| 248 | if ((val & VIDEO_DIP_PORT_MASK) != VIDEO_DIP_PORT(intel_dig_port->port)) | 248 | if ((val & VIDEO_DIP_PORT_MASK) != VIDEO_DIP_PORT(intel_dig_port->base.port)) |
| 249 | return false; | 249 | return false; |
| 250 | 250 | ||
| 251 | return val & (VIDEO_DIP_ENABLE_AVI | | 251 | return val & (VIDEO_DIP_ENABLE_AVI | |
| @@ -362,7 +362,7 @@ static bool vlv_infoframe_enabled(struct drm_encoder *encoder, | |||
| 362 | if ((val & VIDEO_DIP_ENABLE) == 0) | 362 | if ((val & VIDEO_DIP_ENABLE) == 0) |
| 363 | return false; | 363 | return false; |
| 364 | 364 | ||
| 365 | if ((val & VIDEO_DIP_PORT_MASK) != VIDEO_DIP_PORT(intel_dig_port->port)) | 365 | if ((val & VIDEO_DIP_PORT_MASK) != VIDEO_DIP_PORT(intel_dig_port->base.port)) |
| 366 | return false; | 366 | return false; |
| 367 | 367 | ||
| 368 | return val & (VIDEO_DIP_ENABLE_AVI | | 368 | return val & (VIDEO_DIP_ENABLE_AVI | |
| @@ -535,7 +535,7 @@ static void g4x_set_infoframes(struct drm_encoder *encoder, | |||
| 535 | struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi; | 535 | struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi; |
| 536 | i915_reg_t reg = VIDEO_DIP_CTL; | 536 | i915_reg_t reg = VIDEO_DIP_CTL; |
| 537 | u32 val = I915_READ(reg); | 537 | u32 val = I915_READ(reg); |
| 538 | u32 port = VIDEO_DIP_PORT(intel_dig_port->port); | 538 | u32 port = VIDEO_DIP_PORT(intel_dig_port->base.port); |
| 539 | 539 | ||
| 540 | assert_hdmi_port_disabled(intel_hdmi); | 540 | assert_hdmi_port_disabled(intel_hdmi); |
| 541 | 541 | ||
| @@ -686,7 +686,7 @@ static void ibx_set_infoframes(struct drm_encoder *encoder, | |||
| 686 | struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi; | 686 | struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi; |
| 687 | i915_reg_t reg = TVIDEO_DIP_CTL(intel_crtc->pipe); | 687 | i915_reg_t reg = TVIDEO_DIP_CTL(intel_crtc->pipe); |
| 688 | u32 val = I915_READ(reg); | 688 | u32 val = I915_READ(reg); |
| 689 | u32 port = VIDEO_DIP_PORT(intel_dig_port->port); | 689 | u32 port = VIDEO_DIP_PORT(intel_dig_port->base.port); |
| 690 | 690 | ||
| 691 | assert_hdmi_port_disabled(intel_hdmi); | 691 | assert_hdmi_port_disabled(intel_hdmi); |
| 692 | 692 | ||
| @@ -782,7 +782,7 @@ static void vlv_set_infoframes(struct drm_encoder *encoder, | |||
| 782 | struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); | 782 | struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); |
| 783 | i915_reg_t reg = VLV_TVIDEO_DIP_CTL(intel_crtc->pipe); | 783 | i915_reg_t reg = VLV_TVIDEO_DIP_CTL(intel_crtc->pipe); |
| 784 | u32 val = I915_READ(reg); | 784 | u32 val = I915_READ(reg); |
| 785 | u32 port = VIDEO_DIP_PORT(intel_dig_port->port); | 785 | u32 port = VIDEO_DIP_PORT(intel_dig_port->base.port); |
| 786 | 786 | ||
| 787 | assert_hdmi_port_disabled(intel_hdmi); | 787 | assert_hdmi_port_disabled(intel_hdmi); |
| 788 | 788 | ||
| @@ -1545,7 +1545,7 @@ intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool has_edid) | |||
| 1545 | { | 1545 | { |
| 1546 | struct drm_i915_private *dev_priv = to_i915(connector->dev); | 1546 | struct drm_i915_private *dev_priv = to_i915(connector->dev); |
| 1547 | struct intel_hdmi *hdmi = intel_attached_hdmi(connector); | 1547 | struct intel_hdmi *hdmi = intel_attached_hdmi(connector); |
| 1548 | enum port port = hdmi_to_dig_port(hdmi)->port; | 1548 | enum port port = hdmi_to_dig_port(hdmi)->base.port; |
| 1549 | struct i2c_adapter *adapter = | 1549 | struct i2c_adapter *adapter = |
| 1550 | intel_gmbus_get_adapter(dev_priv, hdmi->ddc_bus); | 1550 | intel_gmbus_get_adapter(dev_priv, hdmi->ddc_bus); |
| 1551 | enum drm_dp_dual_mode_type type = drm_dp_dual_mode_detect(adapter); | 1551 | enum drm_dp_dual_mode_type type = drm_dp_dual_mode_detect(adapter); |
| @@ -2015,7 +2015,7 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, | |||
| 2015 | struct intel_encoder *intel_encoder = &intel_dig_port->base; | 2015 | struct intel_encoder *intel_encoder = &intel_dig_port->base; |
| 2016 | struct drm_device *dev = intel_encoder->base.dev; | 2016 | struct drm_device *dev = intel_encoder->base.dev; |
| 2017 | struct drm_i915_private *dev_priv = to_i915(dev); | 2017 | struct drm_i915_private *dev_priv = to_i915(dev); |
| 2018 | enum port port = intel_dig_port->port; | 2018 | enum port port = intel_encoder->port; |
| 2019 | 2019 | ||
| 2020 | DRM_DEBUG_KMS("Adding HDMI connector on port %c\n", | 2020 | DRM_DEBUG_KMS("Adding HDMI connector on port %c\n", |
| 2021 | port_name(port)); | 2021 | port_name(port)); |
| @@ -2135,7 +2135,6 @@ void intel_hdmi_init(struct drm_i915_private *dev_priv, | |||
| 2135 | if (IS_G4X(dev_priv)) | 2135 | if (IS_G4X(dev_priv)) |
| 2136 | intel_encoder->cloneable |= 1 << INTEL_OUTPUT_HDMI; | 2136 | intel_encoder->cloneable |= 1 << INTEL_OUTPUT_HDMI; |
| 2137 | 2137 | ||
| 2138 | intel_dig_port->port = port; | ||
| 2139 | intel_dig_port->hdmi.hdmi_reg = hdmi_reg; | 2138 | intel_dig_port->hdmi.hdmi_reg = hdmi_reg; |
| 2140 | intel_dig_port->dp.output_reg = INVALID_MMIO_REG; | 2139 | intel_dig_port->dp.output_reg = INVALID_MMIO_REG; |
| 2141 | intel_dig_port->max_lanes = 4; | 2140 | intel_dig_port->max_lanes = 4; |
diff --git a/drivers/gpu/drm/i915/intel_pipe_crc.c b/drivers/gpu/drm/i915/intel_pipe_crc.c index 899839f2f7c6..61641d479b93 100644 --- a/drivers/gpu/drm/i915/intel_pipe_crc.c +++ b/drivers/gpu/drm/i915/intel_pipe_crc.c | |||
| @@ -269,7 +269,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv, | |||
| 269 | case INTEL_OUTPUT_DP: | 269 | case INTEL_OUTPUT_DP: |
| 270 | case INTEL_OUTPUT_EDP: | 270 | case INTEL_OUTPUT_EDP: |
| 271 | dig_port = enc_to_dig_port(&encoder->base); | 271 | dig_port = enc_to_dig_port(&encoder->base); |
| 272 | switch (dig_port->port) { | 272 | switch (dig_port->base.port) { |
| 273 | case PORT_B: | 273 | case PORT_B: |
| 274 | *source = INTEL_PIPE_CRC_SOURCE_DP_B; | 274 | *source = INTEL_PIPE_CRC_SOURCE_DP_B; |
| 275 | break; | 275 | break; |
| @@ -281,7 +281,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv, | |||
| 281 | break; | 281 | break; |
| 282 | default: | 282 | default: |
| 283 | WARN(1, "nonexisting DP port %c\n", | 283 | WARN(1, "nonexisting DP port %c\n", |
| 284 | port_name(dig_port->port)); | 284 | port_name(dig_port->base.port)); |
| 285 | break; | 285 | break; |
| 286 | } | 286 | } |
| 287 | break; | 287 | break; |
diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c index 6e3b430fccdc..a1ad85fa5c1a 100644 --- a/drivers/gpu/drm/i915/intel_psr.c +++ b/drivers/gpu/drm/i915/intel_psr.c | |||
| @@ -163,7 +163,7 @@ static void hsw_psr_enable_sink(struct intel_dp *intel_dp) | |||
| 163 | [3] = 1 - 1, | 163 | [3] = 1 - 1, |
| 164 | [4] = DP_SET_POWER_D0, | 164 | [4] = DP_SET_POWER_D0, |
| 165 | }; | 165 | }; |
| 166 | enum port port = dig_port->port; | 166 | enum port port = dig_port->base.port; |
| 167 | u32 aux_ctl; | 167 | u32 aux_ctl; |
| 168 | int i; | 168 | int i; |
| 169 | 169 | ||
| @@ -376,7 +376,7 @@ void intel_psr_compute_config(struct intel_dp *intel_dp, | |||
| 376 | * ones. Since by Display design transcoder EDP is tied to port A | 376 | * ones. Since by Display design transcoder EDP is tied to port A |
| 377 | * we can safely escape based on the port A. | 377 | * we can safely escape based on the port A. |
| 378 | */ | 378 | */ |
| 379 | if (HAS_DDI(dev_priv) && dig_port->port != PORT_A) { | 379 | if (HAS_DDI(dev_priv) && dig_port->base.port != PORT_A) { |
| 380 | DRM_DEBUG_KMS("PSR condition failed: Port not supported\n"); | 380 | DRM_DEBUG_KMS("PSR condition failed: Port not supported\n"); |
| 381 | return; | 381 | return; |
| 382 | } | 382 | } |
