]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/video/omapdss.h
Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
[karo-tx-linux.git] / include / video / omapdss.h
index 44f423ff64bd9b4e8e7a1790043183f8557fa39c..b66ebb2032c6d6b87c928876cab69c235d2425f3 100644 (file)
 #define DISPC_IRQ_WAKEUP               (1 << 16)
 #define DISPC_IRQ_SYNC_LOST2           (1 << 17)
 #define DISPC_IRQ_VSYNC2               (1 << 18)
+#define DISPC_IRQ_VID3_END_WIN         (1 << 19)
+#define DISPC_IRQ_VID3_FIFO_UNDERFLOW  (1 << 20)
 #define DISPC_IRQ_ACBIAS_COUNT_STAT2   (1 << 21)
 #define DISPC_IRQ_FRAMEDONE2           (1 << 22)
+#define DISPC_IRQ_FRAMEDONEWB          (1 << 23)
+#define DISPC_IRQ_FRAMEDONETV          (1 << 24)
+#define DISPC_IRQ_WBBUFFEROVERFLOW     (1 << 25)
 
 struct omap_dss_device;
 struct omap_overlay_manager;
@@ -60,7 +65,8 @@ enum omap_display_type {
 enum omap_plane {
        OMAP_DSS_GFX    = 0,
        OMAP_DSS_VIDEO1 = 1,
-       OMAP_DSS_VIDEO2 = 2
+       OMAP_DSS_VIDEO2 = 2,
+       OMAP_DSS_VIDEO3 = 3,
 };
 
 enum omap_channel {
@@ -176,6 +182,7 @@ enum omap_overlay_caps {
        OMAP_DSS_OVL_CAP_SCALE = 1 << 0,
        OMAP_DSS_OVL_CAP_GLOBAL_ALPHA = 1 << 1,
        OMAP_DSS_OVL_CAP_PRE_MULT_ALPHA = 1 << 2,
+       OMAP_DSS_OVL_CAP_ZORDER = 1 << 3,
 };
 
 enum omap_overlay_manager_caps {
@@ -355,7 +362,6 @@ struct omap_overlay_info {
        bool enabled;
 
        u32 paddr;
-       void __iomem *vaddr;
        u32 p_uv_addr;  /* for NV12 format */
        u16 screen_width;
        u16 width;
@@ -371,6 +377,7 @@ struct omap_overlay_info {
        u16 out_height; /* if 0, out_height == height */
        u8 global_alpha;
        u8 pre_mult_alpha;
+       u8 zorder;
 };
 
 struct omap_overlay {
@@ -410,7 +417,7 @@ struct omap_overlay_manager_info {
        u32 trans_key;
        bool trans_enabled;
 
-       bool alpha_enabled;
+       bool partial_alpha_enabled;
 
        bool cpr_enable;
        struct omap_dss_cpr_coefs cpr_coefs;
@@ -510,6 +517,7 @@ struct omap_dss_device {
                } dispc;
 
                struct {
+                       /* regn is one greater than TRM's REGN value */
                        u16 regn;
                        u16 regm;
                        u16 regm_dispc;
@@ -520,6 +528,7 @@ struct omap_dss_device {
                } dsi;
 
                struct {
+                       /* regn is one greater than TRM's REGN value */
                        u16 regn;
                        u16 regm2;
                } hdmi;
@@ -617,6 +626,9 @@ struct omap_dss_driver {
 
        int (*set_wss)(struct omap_dss_device *dssdev, u32 wss);
        u32 (*get_wss)(struct omap_dss_device *dssdev);
+
+       int (*read_edid)(struct omap_dss_device *dssdev, u8 *buf, int len);
+       bool (*detect)(struct omap_dss_device *dssdev);
 };
 
 int omap_dss_register_driver(struct omap_dss_driver *);