[Intel-gfx] [PATCH 1/4] drm/i915: stop using is_cpu_edp() in intel_disable/post_disable_dp
Imre Deak
imre.deak at intel.com
Tue May 21 12:29:52 CEST 2013
On Tue, 2013-05-21 at 11:15 +0200, Daniel Vetter wrote:
> On Thu, May 16, 2013 at 02:40:34PM +0300, Imre Deak wrote:
> > On port A and for Valleyview on port C we can have only eDP and in both
> > cases it's a CPU port. So we can replace is_cpu_edp() with a port check
> > for these two cases. This allows us to remove is_cpu_edp() completely in
> > a later patch.
> >
> > Signed-off-by: Imre Deak <imre.deak at intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_dp.c | 7 +++++--
> > 1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> > index 4dae01a..90ae58a 100644
> > --- a/drivers/gpu/drm/i915/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > @@ -1350,6 +1350,8 @@ static bool intel_dp_get_hw_state(struct intel_encoder *encoder,
> > static void intel_disable_dp(struct intel_encoder *encoder)
> > {
> > struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> > + enum port port = dp_to_dig_port(intel_dp)->port;
> > + struct drm_device *dev = encoder->base.dev;
> >
> > /* Make sure the panel is off before trying to change the mode. But also
> > * ensure that we have vdd while we switch off the panel. */
> > @@ -1359,16 +1361,17 @@ static void intel_disable_dp(struct intel_encoder *encoder)
> > ironlake_edp_panel_off(intel_dp);
> >
> > /* cpu edp my only be disable _after_ the cpu pipe/plane is disabled. */
> > - if (!is_cpu_edp(intel_dp))
> > + if (port != PORT_A && (port != PORT_C || !IS_VALLEYVIEW(dev)))
>
> I think this would read easier as port !(port == A || IS_VLV). I think
> that should also be more correct since there's no reason (besides
> hard-coding) that DP on port B (or external DP fwiw) should work different
> on vlv.
I don't have the VLV spec to verify this, so this is just keeping the
current behavior. I'll try to get the spec and follow up on this.
--Imre
> -Daniel
>
> > intel_dp_link_down(intel_dp);
> > }
> >
> > static void intel_post_disable_dp(struct intel_encoder *encoder)
> > {
> > struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> > + enum port port = dp_to_dig_port(intel_dp)->port;
> > struct drm_device *dev = encoder->base.dev;
> >
> > - if (is_cpu_edp(intel_dp)) {
> > + if (port == PORT_A || (port == PORT_C && IS_VALLEYVIEW(dev))) {
> > intel_dp_link_down(intel_dp);
> > if (!IS_VALLEYVIEW(dev))
> > ironlake_edp_pll_off(intel_dp);
> > --
> > 1.7.10.4
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
More information about the Intel-gfx
mailing list