Message ID | 20181205150022.24200-14-laurent.pinchart@ideasonboard.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | omapdrm: Last large refactoring for drm_bridge transition | expand |
Hi, On Wed, Dec 05, 2018 at 05:00:06PM +0200, Laurent Pinchart wrote: > Now that the .get_modes() operations takes a drm_connector and fills it > with modes, it becomes easy to fill display information in the same > operation without requiring a separate .get_size() opearation. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> -- Sebastian > drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 14 +++----------- > drivers/gpu/drm/omapdrm/dss/omapdss.h | 3 --- > drivers/gpu/drm/omapdrm/omap_connector.c | 15 ++------------- > 3 files changed, 5 insertions(+), 27 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > index 9cd9ab487a24..c5f570106a17 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > @@ -1117,6 +1117,9 @@ static int dsicm_get_modes(struct omap_dss_device *dssdev, > { > struct panel_drv_data *ddata = to_panel_data(dssdev); > > + connector->display_info.width_mm = ddata->width_mm; > + connector->display_info.height_mm = ddata->height_mm; > + > return omapdss_display_get_modes(connector, &ddata->vm); > } > > @@ -1142,15 +1145,6 @@ static int dsicm_check_timings(struct omap_dss_device *dssdev, > return ret; > } > > -static void dsicm_get_size(struct omap_dss_device *dssdev, > - unsigned int *width, unsigned int *height) > -{ > - struct panel_drv_data *ddata = to_panel_data(dssdev); > - > - *width = ddata->width_mm; > - *height = ddata->height_mm; > -} > - > static const struct omap_dss_device_ops dsicm_ops = { > .connect = dsicm_connect, > .disconnect = dsicm_disconnect, > @@ -1166,8 +1160,6 @@ static const struct omap_dss_driver dsicm_dss_driver = { > .update = dsicm_update, > .sync = dsicm_sync, > > - .get_size = dsicm_get_size, > - > .enable_te = dsicm_enable_te, > .get_te = dsicm_get_te, > > diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h > index 3be8d3153d1a..561f404a58f2 100644 > --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h > +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h > @@ -462,9 +462,6 @@ struct omap_dss_driver { > int (*memory_read)(struct omap_dss_device *dssdev, > void *buf, size_t size, > u16 x, u16 y, u16 w, u16 h); > - > - void (*get_size)(struct omap_dss_device *dssdev, > - unsigned int *width, unsigned int *height); > }; > > struct dss_device *omapdss_get_dss(void); > diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c > index 93b31bf07d05..c21a2016d03f 100644 > --- a/drivers/gpu/drm/omapdrm/omap_connector.c > +++ b/drivers/gpu/drm/omapdrm/omap_connector.c > @@ -225,19 +225,8 @@ static int omap_connector_get_modes(struct drm_connector *connector) > return omap_connector_get_modes_edid(connector, dssdev); > > /* > - * Otherwise we have either a fixed resolution panel or an output that > - * doesn't support modes discovery (e.g. DVI or VGA with the DDC bus > - * unconnected, or analog TV). Start by querying the size. > - */ > - dssdev = omap_connector->display; > - if (dssdev->driver && dssdev->driver->get_size) > - dssdev->driver->get_size(dssdev, > - &connector->display_info.width_mm, > - &connector->display_info.height_mm); > - > - /* > - * If the display pipeline reports modes (e.g. with a fixed resolution > - * panel or an analog TV output), query it. > + * Otherwise if the display pipeline reports modes (e.g. with a fixed > + * resolution panel or an analog TV output), query it. > */ > for (dssdev = omap_connector->display; dssdev; dssdev = dssdev->src) { > if (dssdev->ops->get_modes) > -- > Regards, > > Laurent Pinchart > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c index 9cd9ab487a24..c5f570106a17 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c @@ -1117,6 +1117,9 @@ static int dsicm_get_modes(struct omap_dss_device *dssdev, { struct panel_drv_data *ddata = to_panel_data(dssdev); + connector->display_info.width_mm = ddata->width_mm; + connector->display_info.height_mm = ddata->height_mm; + return omapdss_display_get_modes(connector, &ddata->vm); } @@ -1142,15 +1145,6 @@ static int dsicm_check_timings(struct omap_dss_device *dssdev, return ret; } -static void dsicm_get_size(struct omap_dss_device *dssdev, - unsigned int *width, unsigned int *height) -{ - struct panel_drv_data *ddata = to_panel_data(dssdev); - - *width = ddata->width_mm; - *height = ddata->height_mm; -} - static const struct omap_dss_device_ops dsicm_ops = { .connect = dsicm_connect, .disconnect = dsicm_disconnect, @@ -1166,8 +1160,6 @@ static const struct omap_dss_driver dsicm_dss_driver = { .update = dsicm_update, .sync = dsicm_sync, - .get_size = dsicm_get_size, - .enable_te = dsicm_enable_te, .get_te = dsicm_get_te, diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h index 3be8d3153d1a..561f404a58f2 100644 --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h @@ -462,9 +462,6 @@ struct omap_dss_driver { int (*memory_read)(struct omap_dss_device *dssdev, void *buf, size_t size, u16 x, u16 y, u16 w, u16 h); - - void (*get_size)(struct omap_dss_device *dssdev, - unsigned int *width, unsigned int *height); }; struct dss_device *omapdss_get_dss(void); diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c index 93b31bf07d05..c21a2016d03f 100644 --- a/drivers/gpu/drm/omapdrm/omap_connector.c +++ b/drivers/gpu/drm/omapdrm/omap_connector.c @@ -225,19 +225,8 @@ static int omap_connector_get_modes(struct drm_connector *connector) return omap_connector_get_modes_edid(connector, dssdev); /* - * Otherwise we have either a fixed resolution panel or an output that - * doesn't support modes discovery (e.g. DVI or VGA with the DDC bus - * unconnected, or analog TV). Start by querying the size. - */ - dssdev = omap_connector->display; - if (dssdev->driver && dssdev->driver->get_size) - dssdev->driver->get_size(dssdev, - &connector->display_info.width_mm, - &connector->display_info.height_mm); - - /* - * If the display pipeline reports modes (e.g. with a fixed resolution - * panel or an analog TV output), query it. + * Otherwise if the display pipeline reports modes (e.g. with a fixed + * resolution panel or an analog TV output), query it. */ for (dssdev = omap_connector->display; dssdev; dssdev = dssdev->src) { if (dssdev->ops->get_modes)
Now that the .get_modes() operations takes a drm_connector and fills it with modes, it becomes easy to fill display information in the same operation without requiring a separate .get_size() opearation. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 14 +++----------- drivers/gpu/drm/omapdrm/dss/omapdss.h | 3 --- drivers/gpu/drm/omapdrm/omap_connector.c | 15 ++------------- 3 files changed, 5 insertions(+), 27 deletions(-)