On Mon, Jun 10, 2019 at 10:45:14PM +0300, Jani Nikula wrote: > From: Vandita Kulkarni <vandita.kulkarni@xxxxxxxxx> > > Since intel_add_dsi_properties will be used by other > platforms too move it out of platform specific file. > > Signed-off-by: Vandita Kulkarni <vandita.kulkarni@xxxxxxxxx> > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_dsi.c | 32 ++++++++++++++++++++++++ > drivers/gpu/drm/i915/intel_dsi.h | 3 +++ > drivers/gpu/drm/i915/vlv_dsi.c | 42 +------------------------------- > 3 files changed, 36 insertions(+), 41 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c > index 5fec02aceaed..26124a8fe531 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.c > +++ b/drivers/gpu/drm/i915/intel_dsi.c > @@ -116,6 +116,12 @@ 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; > + } > + > orientation = dev_priv->vbt.dsi.orientation; > if (orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN) > return orientation; > @@ -126,3 +132,29 @@ intel_dsi_get_panel_orientation(struct intel_connector *connector) > > return DRM_MODE_PANEL_ORIENTATION_NORMAL; > } > + > +void intel_dsi_add_properties(struct intel_connector *connector) > +{ > + struct drm_i915_private *dev_priv = to_i915(connector->base.dev); > + > + if (connector->panel.fixed_mode) { > + u32 allowed_scalers; > + > + allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) | > + BIT(DRM_MODE_SCALE_FULLSCREEN); > + if (!HAS_GMCH(dev_priv)) > + allowed_scalers |= BIT(DRM_MODE_SCALE_CENTER); > + > + drm_connector_attach_scaling_mode_property(&connector->base, > + allowed_scalers); > + > + connector->base.state->scaling_mode = DRM_MODE_SCALE_ASPECT; > + > + connector->base.display_info.panel_orientation = > + intel_dsi_get_panel_orientation(connector); > + drm_connector_init_panel_orientation_property( > + &connector->base, > + connector->panel.fixed_mode->hdisplay, > + connector->panel.fixed_mode->vdisplay); I think I'd rather just duplicate the required parts in the icl code. That way we don't have to have VLV/CHV specific stuff in the generic code. > + } > +} > diff --git a/drivers/gpu/drm/i915/intel_dsi.h b/drivers/gpu/drm/i915/intel_dsi.h > index 6d20434636cd..11f7bfb28299 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.h > +++ b/drivers/gpu/drm/i915/intel_dsi.h > @@ -162,6 +162,7 @@ int intel_dsi_bitrate(const struct intel_dsi *intel_dsi); > int intel_dsi_tlpx_ns(const struct intel_dsi *intel_dsi); > enum drm_panel_orientation > intel_dsi_get_panel_orientation(struct intel_connector *connector); > +void intel_dsi_add_properties(struct intel_connector *connector); > > /* vlv_dsi.c */ > void vlv_dsi_wait_for_fifo_empty(struct intel_dsi *intel_dsi, enum port port); > @@ -173,6 +174,8 @@ struct intel_dsi_host *intel_dsi_host_init(struct intel_dsi *intel_dsi, > const struct mipi_dsi_host_ops *funcs, > enum port port); > void vlv_dsi_init(struct drm_i915_private *dev_priv); > +enum drm_panel_orientation > +vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector); > > /* vlv_dsi_pll.c */ > int vlv_dsi_pll_compute(struct intel_encoder *encoder, > diff --git a/drivers/gpu/drm/i915/vlv_dsi.c b/drivers/gpu/drm/i915/vlv_dsi.c > index e272d826210a..9f911623d685 100644 > --- a/drivers/gpu/drm/i915/vlv_dsi.c > +++ b/drivers/gpu/drm/i915/vlv_dsi.c > @@ -1591,7 +1591,7 @@ static const struct drm_connector_funcs intel_dsi_connector_funcs = { > .atomic_duplicate_state = intel_digital_connector_duplicate_state, > }; > > -static enum drm_panel_orientation > +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); > @@ -1629,46 +1629,6 @@ vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector) > return orientation; > } > > -static enum drm_panel_orientation > -vlv_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; > - } > - > - return intel_dsi_get_panel_orientation(connector); > -} > - > -static void intel_dsi_add_properties(struct intel_connector *connector) > -{ > - struct drm_i915_private *dev_priv = to_i915(connector->base.dev); > - > - if (connector->panel.fixed_mode) { > - u32 allowed_scalers; > - > - allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) | BIT(DRM_MODE_SCALE_FULLSCREEN); > - if (!HAS_GMCH(dev_priv)) > - allowed_scalers |= BIT(DRM_MODE_SCALE_CENTER); > - > - drm_connector_attach_scaling_mode_property(&connector->base, > - allowed_scalers); > - > - connector->base.state->scaling_mode = DRM_MODE_SCALE_ASPECT; > - > - connector->base.display_info.panel_orientation = > - vlv_dsi_get_panel_orientation(connector); > - drm_connector_init_panel_orientation_property( > - &connector->base, > - connector->panel.fixed_mode->hdisplay, > - connector->panel.fixed_mode->vdisplay); > - } > -} > - > #define NS_KHZ_RATIO 1000000 > > #define PREPARE_CNT_MAX 0x3F > -- > 2.20.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx