summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
diff options
context:
space:
mode:
authorLaurent Pinchart2018-06-06 23:17:32 +0200
committerTomi Valkeinen2018-09-03 15:13:30 +0200
commit31cd7afa3086f1206ef4c7434e033669702adf08 (patch)
tree3fca306d5e5489986f30ad65752b8a6aec9b5ba1 /drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
parentdrm/omap: Remove .get_timings() operation from display connectors (diff)
downloadkernel-qcow2-linux-31cd7afa3086f1206ef4c7434e033669702adf08.tar.gz
kernel-qcow2-linux-31cd7afa3086f1206ef4c7434e033669702adf08.tar.xz
kernel-qcow2-linux-31cd7afa3086f1206ef4c7434e033669702adf08.zip
drm/omap: panels: Don't modify fixed timings
Panels drivers store their timings in a device data structure field that is initialized at probe time, either from hardcoded values or from firmware-supplied values. Those timings are then reported through the .get_timings() operation to construct the panel display mode. The panel timings are further modified by the .set_timings() operation, which is called with the timings retrieved by .get_timings(), and mangled by .check_timings(). The latter potentially adjusts the pixel clock only. Conceptually, modifying the panel timings is wrong, as the timings are an intrinsic property of the panel and should thus be fixed. Furthermore, modifying them this way at runtime can result in display modes reported to userspace varying between calls, which is also wrong. There's no actual need to store the mangled pixel clock value in the timings. Don't modify the panel timings in the .set_timings() operation, just forward it to the previous device in the display pipeline. 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>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c')
-rw-r--r--drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index 78ff18c4eb46..f6fc7b8e639b 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -159,11 +159,8 @@ static void nec_8048_disable(struct omap_dss_device *dssdev)
static void nec_8048_set_timings(struct omap_dss_device *dssdev,
const struct videomode *vm)
{
- struct panel_drv_data *ddata = to_panel_data(dssdev);
struct omap_dss_device *src = dssdev->src;
- ddata->vm = *vm;
-
src->ops->set_timings(src, vm);
}