diff options
| -rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index b31f6db5d0c0..623b50c46bbc 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
| @@ -643,6 +643,28 @@ static void | |||
| 643 | intel_dp_aux_init(struct intel_dp *intel_dp, struct intel_connector *connector) | 643 | intel_dp_aux_init(struct intel_dp *intel_dp, struct intel_connector *connector) |
| 644 | { | 644 | { |
| 645 | struct drm_device *dev = intel_dp_to_dev(intel_dp); | 645 | struct drm_device *dev = intel_dp_to_dev(intel_dp); |
| 646 | struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); | ||
| 647 | enum port port = intel_dig_port->port; | ||
| 648 | |||
| 649 | switch (port) { | ||
| 650 | case PORT_A: | ||
| 651 | intel_dp->aux_ch_ctl_reg = DPA_AUX_CH_CTL; | ||
| 652 | break; | ||
| 653 | case PORT_B: | ||
| 654 | intel_dp->aux_ch_ctl_reg = PCH_DPB_AUX_CH_CTL; | ||
| 655 | break; | ||
| 656 | case PORT_C: | ||
| 657 | intel_dp->aux_ch_ctl_reg = PCH_DPC_AUX_CH_CTL; | ||
| 658 | break; | ||
| 659 | case PORT_D: | ||
| 660 | intel_dp->aux_ch_ctl_reg = PCH_DPD_AUX_CH_CTL; | ||
| 661 | break; | ||
| 662 | default: | ||
| 663 | BUG(); | ||
| 664 | } | ||
| 665 | |||
| 666 | if (!HAS_DDI(dev)) | ||
| 667 | intel_dp->aux_ch_ctl_reg = intel_dp->output_reg + 0x10; | ||
| 646 | 668 | ||
| 647 | intel_dp->aux.dev = dev->dev; | 669 | intel_dp->aux.dev = dev->dev; |
| 648 | intel_dp->aux.transfer = intel_dp_aux_transfer; | 670 | intel_dp->aux.transfer = intel_dp_aux_transfer; |
| @@ -3849,26 +3871,6 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port, | |||
| 3849 | intel_connector->get_hw_state = intel_connector_get_hw_state; | 3871 | intel_connector->get_hw_state = intel_connector_get_hw_state; |
| 3850 | intel_connector->unregister = intel_dp_connector_unregister; | 3872 | intel_connector->unregister = intel_dp_connector_unregister; |
| 3851 | 3873 | ||
| 3852 | intel_dp->aux_ch_ctl_reg = intel_dp->output_reg + 0x10; | ||
| 3853 | if (HAS_DDI(dev)) { | ||
| 3854 | switch (intel_dig_port->port) { | ||
| 3855 | case PORT_A: | ||
| 3856 | intel_dp->aux_ch_ctl_reg = DPA_AUX_CH_CTL; | ||
| 3857 | break; | ||
| 3858 | case PORT_B: | ||
| 3859 | intel_dp->aux_ch_ctl_reg = PCH_DPB_AUX_CH_CTL; | ||
| 3860 | break; | ||
| 3861 | case PORT_C: | ||
| 3862 | intel_dp->aux_ch_ctl_reg = PCH_DPC_AUX_CH_CTL; | ||
| 3863 | break; | ||
| 3864 | case PORT_D: | ||
| 3865 | intel_dp->aux_ch_ctl_reg = PCH_DPD_AUX_CH_CTL; | ||
| 3866 | break; | ||
| 3867 | default: | ||
| 3868 | BUG(); | ||
| 3869 | } | ||
| 3870 | } | ||
| 3871 | |||
| 3872 | /* Set up the DDC bus. */ | 3874 | /* Set up the DDC bus. */ |
| 3873 | switch (port) { | 3875 | switch (port) { |
| 3874 | case PORT_A: | 3876 | case PORT_A: |
