Message ID | 20220601094637.1200634-4-hsinyi@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add a panel API to return panel orientation | expand |
Hi, On Wed, Jun 1, 2022 at 2:46 AM Hsin-Yi Wang <hsinyi@chromium.org> wrote: > > To return the orientation property to drm/kms driver. > > Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org> > Reviewed-by: Hans de Goede <hdegoede@redhat.com> > --- > 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? 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() ? -Doug
On Fri, Jun 3, 2022 at 5:51 AM Doug Anderson <dianders@chromium.org> wrote: > > Hi, > > On Wed, Jun 1, 2022 at 2:46 AM Hsin-Yi Wang <hsinyi@chromium.org> wrote: > > > > To return the orientation property to drm/kms driver. > > > > Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org> > > Reviewed-by: Hans de Goede <hdegoede@redhat.com> > > --- > > 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
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, };