summaryrefslogtreecommitdiffstats
path: root/include/video
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2013-05-24 13:18:52 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2013-06-17 14:00:59 +0300
commit0b24edb1c7d5aeadde0e38337b9b86fe16064505 (patch)
tree185138c46f3129daa146c6f9470b2915cea7008e /include/video
parent4635c17d32359e10bcaba3d1835e4aaaea685298 (diff)
downloadlinux-0b24edb1c7d5aeadde0e38337b9b86fe16064505.tar.bz2
OMAPDSS: DPI: Add ops
Add "ops" style method for using DPI functionality. Ops style calls will allow us to have arbitrarily long display pipelines, where each entity can call ops in the previous display entity. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'include/video')
-rw-r--r--include/video/omapdss.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/video/omapdss.h b/include/video/omapdss.h
index cff514eec584..71fe1566ce01 100644
--- a/include/video/omapdss.h
+++ b/include/video/omapdss.h
@@ -573,6 +573,25 @@ struct omap_dss_writeback_info {
u8 pre_mult_alpha;
};
+struct omapdss_dpi_ops {
+ int (*connect)(struct omap_dss_device *dssdev,
+ struct omap_dss_device *dst);
+ void (*disconnect)(struct omap_dss_device *dssdev,
+ struct omap_dss_device *dst);
+
+ int (*enable)(struct omap_dss_device *dssdev);
+ void (*disable)(struct omap_dss_device *dssdev);
+
+ int (*check_timings)(struct omap_dss_device *dssdev,
+ struct omap_video_timings *timings);
+ void (*set_timings)(struct omap_dss_device *dssdev,
+ struct omap_video_timings *timings);
+ void (*get_timings)(struct omap_dss_device *dssdev,
+ struct omap_video_timings *timings);
+
+ void (*set_data_lines)(struct omap_dss_device *dssdev, int data_lines);
+};
+
struct omap_dss_device {
/* old device, to be removed */
struct device old_dev;
@@ -638,6 +657,10 @@ struct omap_dss_device {
struct omap_dss_driver *driver;
+ union {
+ const struct omapdss_dpi_ops *dpi;
+ } ops;
+
/* helper variable for driver suspend/resume */
bool activate_after_resume;