On Fri, 19 Oct 2018, Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Now that we can actually grab the rotation data from the VBT, > maybe we can get rid of the hardware readout path? My VLV > FFRD is still happy. > > Cc: Hans de Goede <hdegoede@xxxxxxxxxx> > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> I think we need input from Hans on this for the reality check. Whatever you decide, Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx> One note below. > --- > drivers/gpu/drm/i915/vlv_dsi.c | 42 ---------------------------------- > 1 file changed, 42 deletions(-) > > diff --git a/drivers/gpu/drm/i915/vlv_dsi.c b/drivers/gpu/drm/i915/vlv_dsi.c > index a3119ec3189a..6f25571b5800 100644 > --- a/drivers/gpu/drm/i915/vlv_dsi.c > +++ b/drivers/gpu/drm/i915/vlv_dsi.c > @@ -1668,54 +1668,12 @@ static const struct drm_connector_funcs intel_dsi_connector_funcs = { > .atomic_duplicate_state = intel_digital_connector_duplicate_state, > }; > > -static enum drm_panel_orientation > -vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector) > -{ > - struct drm_i915_private *dev_priv = to_i915(connector->base.dev); > - struct intel_encoder *encoder = connector->encoder; > - enum intel_display_power_domain power_domain; > - enum drm_panel_orientation orientation; > - struct intel_plane *plane; > - struct intel_crtc *crtc; > - enum pipe pipe; > - u32 val; > - > - if (!encoder->get_hw_state(encoder, &pipe)) > - return DRM_MODE_PANEL_ORIENTATION_UNKNOWN; > - > - crtc = intel_get_crtc_for_pipe(dev_priv, pipe); > - plane = to_intel_plane(crtc->base.primary); > - > - power_domain = POWER_DOMAIN_PIPE(pipe); > - if (!intel_display_power_get_if_enabled(dev_priv, power_domain)) > - return DRM_MODE_PANEL_ORIENTATION_UNKNOWN; > - > - val = I915_READ(DSPCNTR(plane->i9xx_plane)); > - > - if (!(val & DISPLAY_PLANE_ENABLE)) > - orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN; > - else if (val & DISPPLANE_ROTATE_180) > - orientation = DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP; > - else > - orientation = DRM_MODE_PANEL_ORIENTATION_NORMAL; > - > - intel_display_power_put(dev_priv, power_domain); > - > - return orientation; > -} > - > static enum drm_panel_orientation > intel_dsi_get_panel_orientation(struct intel_connector *connector) > { > struct drm_i915_private *dev_priv = to_i915(connector->base.dev); > enum drm_panel_orientation orientation; > > - if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) { > - orientation = vlv_dsi_get_hw_panel_orientation(connector); > - if (orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN) > - return orientation; > - } > - After this, the function definitely belongs in intel_dsi.c. > orientation = dev_priv->vbt.dsi.orientation; > if (orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN) > return orientation; -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx