diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_hdmi.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 4a77639a489d..cb5d1b15755c 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
| @@ -880,15 +880,18 @@ static bool intel_hdmi_get_hw_state(struct intel_encoder *encoder, | |||
| 880 | struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); | 880 | struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); |
| 881 | enum intel_display_power_domain power_domain; | 881 | enum intel_display_power_domain power_domain; |
| 882 | u32 tmp; | 882 | u32 tmp; |
| 883 | bool ret; | ||
| 883 | 884 | ||
| 884 | power_domain = intel_display_port_power_domain(encoder); | 885 | power_domain = intel_display_port_power_domain(encoder); |
| 885 | if (!intel_display_power_is_enabled(dev_priv, power_domain)) | 886 | if (!intel_display_power_get_if_enabled(dev_priv, power_domain)) |
| 886 | return false; | 887 | return false; |
| 887 | 888 | ||
| 889 | ret = false; | ||
| 890 | |||
| 888 | tmp = I915_READ(intel_hdmi->hdmi_reg); | 891 | tmp = I915_READ(intel_hdmi->hdmi_reg); |
| 889 | 892 | ||
| 890 | if (!(tmp & SDVO_ENABLE)) | 893 | if (!(tmp & SDVO_ENABLE)) |
| 891 | return false; | 894 | goto out; |
| 892 | 895 | ||
| 893 | if (HAS_PCH_CPT(dev)) | 896 | if (HAS_PCH_CPT(dev)) |
| 894 | *pipe = PORT_TO_PIPE_CPT(tmp); | 897 | *pipe = PORT_TO_PIPE_CPT(tmp); |
| @@ -897,7 +900,12 @@ static bool intel_hdmi_get_hw_state(struct intel_encoder *encoder, | |||
| 897 | else | 900 | else |
| 898 | *pipe = PORT_TO_PIPE(tmp); | 901 | *pipe = PORT_TO_PIPE(tmp); |
| 899 | 902 | ||
| 900 | return true; | 903 | ret = true; |
| 904 | |||
| 905 | out: | ||
| 906 | intel_display_power_put(dev_priv, power_domain); | ||
| 907 | |||
| 908 | return ret; | ||
| 901 | } | 909 | } |
| 902 | 910 | ||
| 903 | static void intel_hdmi_get_config(struct intel_encoder *encoder, | 911 | static void intel_hdmi_get_config(struct intel_encoder *encoder, |
