Re: [PATCH v2 3/8] drm/panel: panel-edp: Implement .get_orientation callback

From: Hsin-Yi Wang
Date: Fri Jun 03 2022 - 00:01:52 EST


On Fri, Jun 3, 2022 at 5:51 AM Doug Anderson <dianders@xxxxxxxxxxxx> wrote:
>
> Hi,
>
> On Wed, Jun 1, 2022 at 2:46 AM Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> wrote:
> >
> > To return the orientation property to drm/kms driver.
> >
> > Signed-off-by: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx>
> > Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx>
> > ---
> > drivers/gpu/drm/panel/panel-edp.c | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
> > index 1732b4f56e38..a2133581a72d 100644
> > --- a/drivers/gpu/drm/panel/panel-edp.c
> > +++ b/drivers/gpu/drm/panel/panel-edp.c
> > @@ -609,6 +609,13 @@ static int panel_edp_get_timings(struct drm_panel *panel,
> > return p->desc->num_timings;
> > }
> >
> > +static enum drm_panel_orientation panel_edp_get_orientation(struct drm_panel *panel)
> > +{
> > + struct panel_edp *p = to_panel_edp(panel);
> > +
> > + return p->orientation;
> > +}
> > +
> > static int detected_panel_show(struct seq_file *s, void *data)
> > {
> > struct drm_panel *panel = s->private;
> > @@ -637,6 +644,7 @@ static const struct drm_panel_funcs panel_edp_funcs = {
> > .prepare = panel_edp_prepare,
> > .enable = panel_edp_enable,
> > .get_modes = panel_edp_get_modes,
> > + .get_orientation = panel_edp_get_orientation,
> > .get_timings = panel_edp_get_timings,
> > .debugfs_init = panel_edp_debugfs_init,
> > };
>
> I'm curious: should we be removing the old
> drm_connector_set_panel_orientation() from panel_edp_get_modes()?
> ...or maybe you want to keep it for now because you're only adding
> support to the mediatek driver and for other drivers the WARN_ON is
> better than no orientation support at all?

Right, for the drm/kms drivers that calls
drm_connector_set_panel_orientation(), the
drm_connector_set_panel_orientation() called in panels is no-op, but
others they still need this to be called in the panel.
>
> Maybe you could put a comment next to the old
> drm_connector_set_panel_orientation() saying that it's deprecated and
> that drm drivers are expected to add a call to get_orientation()? Then
> when people see the WARN_ON splat they'll quickly figure out how to
> fix it. ...and eventually we can probably remove all the old calls
> from get_modes() ?
Sure, sounds good to me. I will add this.

>
> -Doug