diff options
author | Dave Airlie <airlied@redhat.com> | 2014-06-04 23:22:59 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2014-07-21 02:48:59 -0400 |
commit | d05410f9a450df8848196ce87f1c9ef14ff89cb5 (patch) | |
tree | 3fbccacaf61bc83dc225f62dc133cbe5ed4f4949 | |
parent | 36cd7444c044806cd2a4e450a8385597221d5d25 (diff) |
drm/i915: split conversion function out into separate function
for MST I need to reuse this, so just move it now.
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 008bb3dc88cb..421ea71b2e58 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -4300,6 +4300,23 @@ static void i9xx_pfit_enable(struct intel_crtc *crtc) | |||
4300 | I915_WRITE(BCLRPAT(crtc->pipe), 0); | 4300 | I915_WRITE(BCLRPAT(crtc->pipe), 0); |
4301 | } | 4301 | } |
4302 | 4302 | ||
4303 | static enum intel_display_power_domain port_to_power_domain(enum port port) | ||
4304 | { | ||
4305 | switch (port) { | ||
4306 | case PORT_A: | ||
4307 | return POWER_DOMAIN_PORT_DDI_A_4_LANES; | ||
4308 | case PORT_B: | ||
4309 | return POWER_DOMAIN_PORT_DDI_B_4_LANES; | ||
4310 | case PORT_C: | ||
4311 | return POWER_DOMAIN_PORT_DDI_C_4_LANES; | ||
4312 | case PORT_D: | ||
4313 | return POWER_DOMAIN_PORT_DDI_D_4_LANES; | ||
4314 | default: | ||
4315 | WARN_ON_ONCE(1); | ||
4316 | return POWER_DOMAIN_PORT_OTHER; | ||
4317 | } | ||
4318 | } | ||
4319 | |||
4303 | #define for_each_power_domain(domain, mask) \ | 4320 | #define for_each_power_domain(domain, mask) \ |
4304 | for ((domain) = 0; (domain) < POWER_DOMAIN_NUM; (domain)++) \ | 4321 | for ((domain) = 0; (domain) < POWER_DOMAIN_NUM; (domain)++) \ |
4305 | if ((1 << (domain)) & (mask)) | 4322 | if ((1 << (domain)) & (mask)) |
@@ -4318,19 +4335,7 @@ intel_display_port_power_domain(struct intel_encoder *intel_encoder) | |||
4318 | case INTEL_OUTPUT_HDMI: | 4335 | case INTEL_OUTPUT_HDMI: |
4319 | case INTEL_OUTPUT_EDP: | 4336 | case INTEL_OUTPUT_EDP: |
4320 | intel_dig_port = enc_to_dig_port(&intel_encoder->base); | 4337 | intel_dig_port = enc_to_dig_port(&intel_encoder->base); |
4321 | switch (intel_dig_port->port) { | 4338 | return port_to_power_domain(intel_dig_port->port); |
4322 | case PORT_A: | ||
4323 | return POWER_DOMAIN_PORT_DDI_A_4_LANES; | ||
4324 | case PORT_B: | ||
4325 | return POWER_DOMAIN_PORT_DDI_B_4_LANES; | ||
4326 | case PORT_C: | ||
4327 | return POWER_DOMAIN_PORT_DDI_C_4_LANES; | ||
4328 | case PORT_D: | ||
4329 | return POWER_DOMAIN_PORT_DDI_D_4_LANES; | ||
4330 | default: | ||
4331 | WARN_ON_ONCE(1); | ||
4332 | return POWER_DOMAIN_PORT_OTHER; | ||
4333 | } | ||
4334 | case INTEL_OUTPUT_ANALOG: | 4339 | case INTEL_OUTPUT_ANALOG: |
4335 | return POWER_DOMAIN_PORT_CRT; | 4340 | return POWER_DOMAIN_PORT_CRT; |
4336 | case INTEL_OUTPUT_DSI: | 4341 | case INTEL_OUTPUT_DSI: |