drm/omap: Merge display .get_modes() and .get_size() operations
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> Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
870e19d59f
commit
a872d5e92a
|
@ -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,
|
||||
|
||||
|
|
|
@ -457,9 +457,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);
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue