mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-17 15:06:02 +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);
|
drm_display_mode_to_videomode(mode, &vm);
|
||||||
mode->vrefresh = drm_mode_vrefresh(mode);
|
mode->vrefresh = drm_mode_vrefresh(mode);
|
||||||
|
|
||||||
/*
|
r = dssdev->ops->check_timings(dssdev, &vm);
|
||||||
* 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!r) {
|
if (!r) {
|
||||||
/* check if vrefresh is still valid */
|
/* check if vrefresh is still valid */
|
||||||
new_mode = drm_mode_duplicate(dev, mode);
|
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;
|
struct omap_dss_device *dssdev = omap_encoder->display;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (dssdev->ops->check_timings) {
|
ret = dssdev->ops->check_timings(dssdev, vm);
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(dev->dev, "could not set timings: %d\n", ret);
|
dev_err(dev->dev, "invalid timings: %d\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user