mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-17 00:57:33 +07:00
drm/omap: Remove unneeded fallback for missing .check_timings()
The .check_timings() operation is present in all panels and connectors. The fallback that uses .get_timings() in the absence of .check_timings() is thus unneeded. While it could be argued that the fallback implements a useful check that should be extended to cover all fixed-resolution panels, the code is currently unused and gets in the way of the ongoing refactoring. Remove it, a similar feature can always be added later. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
bb23800c88
commit
138fe53ef8
@ -261,30 +261,7 @@ static int omap_connector_mode_valid(struct drm_connector *connector,
|
||||
drm_display_mode_to_videomode(mode, &vm);
|
||||
mode->vrefresh = drm_mode_vrefresh(mode);
|
||||
|
||||
/*
|
||||
* if the panel driver doesn't have a check_timings, it's most likely
|
||||
* a fixed resolution panel, check if the timings match with the
|
||||
* panel's timings
|
||||
*/
|
||||
if (dssdev->ops->check_timings) {
|
||||
r = dssdev->ops->check_timings(dssdev, &vm);
|
||||
} else {
|
||||
struct videomode t = {0};
|
||||
|
||||
dssdev->ops->get_timings(dssdev, &t);
|
||||
|
||||
/*
|
||||
* Ignore the flags, as we don't get them from
|
||||
* drm_display_mode_to_videomode.
|
||||
*/
|
||||
t.flags = 0;
|
||||
|
||||
if (memcmp(&vm, &t, sizeof(vm)))
|
||||
r = -EINVAL;
|
||||
else
|
||||
r = 0;
|
||||
}
|
||||
|
||||
r = dssdev->ops->check_timings(dssdev, &vm);
|
||||
if (!r) {
|
||||
/* check if vrefresh is still valid */
|
||||
new_mode = drm_mode_duplicate(dev, mode);
|
||||
|
@ -101,21 +101,9 @@ static int omap_encoder_update(struct drm_encoder *encoder,
|
||||
struct omap_dss_device *dssdev = omap_encoder->display;
|
||||
int ret;
|
||||
|
||||
if (dssdev->ops->check_timings) {
|
||||
ret = dssdev->ops->check_timings(dssdev, vm);
|
||||
} else {
|
||||
struct videomode t = {0};
|
||||
|
||||
dssdev->ops->get_timings(dssdev, &t);
|
||||
|
||||
if (memcmp(vm, &t, sizeof(*vm)))
|
||||
ret = -EINVAL;
|
||||
else
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
ret = dssdev->ops->check_timings(dssdev, vm);
|
||||
if (ret) {
|
||||
dev_err(dev->dev, "could not set timings: %d\n", ret);
|
||||
dev_err(dev->dev, "invalid timings: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user