drm/omap: Pass drm_display_mode to .check_timings() and .set_timings()
The omap_dss_device .check_timings() and .set_timings() operations operate on struct videomode, while the DRM API operates on struct drm_display_mode. This forces conversion from to videomode in the callers. While that's not a problem per se, it creates a difference with the drm_bridge API. Replace the videomode parameter to the .check_timings() and .set_timings() operations with a drm_display_mode. This pushed the conversion to videomode down to the DSS devices in some cases. If needed they will be converted to operate on drm_display_mode natively. 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:

committed by
Tomi Valkeinen

parent
d68164fe29
commit
41322aa691
@@ -1127,20 +1127,20 @@ static int dsicm_get_modes(struct omap_dss_device *dssdev,
|
||||
}
|
||||
|
||||
static int dsicm_check_timings(struct omap_dss_device *dssdev,
|
||||
struct videomode *vm)
|
||||
struct drm_display_mode *mode)
|
||||
{
|
||||
struct panel_drv_data *ddata = to_panel_data(dssdev);
|
||||
int ret = 0;
|
||||
|
||||
if (vm->hactive != ddata->vm.hactive)
|
||||
if (mode->hdisplay != ddata->vm.hactive)
|
||||
ret = -EINVAL;
|
||||
|
||||
if (vm->vactive != ddata->vm.vactive)
|
||||
if (mode->vdisplay != ddata->vm.vactive)
|
||||
ret = -EINVAL;
|
||||
|
||||
if (ret) {
|
||||
dev_warn(dssdev->dev, "wrong resolution: %d x %d",
|
||||
vm->hactive, vm->vactive);
|
||||
mode->hdisplay, mode->vdisplay);
|
||||
dev_warn(dssdev->dev, "panel resolution: %d x %d",
|
||||
ddata->vm.hactive, ddata->vm.vactive);
|
||||
}
|
||||
|
Reference in New Issue
Block a user