aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/include/plat/dsscomp.h
blob: acb9dcb693040f0fea11f9f21ec7b0a5d1212eac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef _ARCH_ARM_PLAT_OMAP_DSSCOMP_H
#define _ARCH_ARM_PLAT_OMAP_DSSCOMP_H

#include <video/omapdss.h>
#include <video/dsscomp.h>

struct dsscomp_platform_data {
	unsigned int tiler1d_slotsz;
};

/* queuing operations */
typedef struct dsscomp_data *dsscomp_t;		/* handle */

dsscomp_t dsscomp_new(struct omap_overlay_manager *mgr);
u32 dsscomp_get_ovls(dsscomp_t comp);
int dsscomp_set_ovl(dsscomp_t comp, struct dss2_ovl_info *ovl);
int dsscomp_get_ovl(dsscomp_t comp, u32 ix, struct dss2_ovl_info *ovl);
int dsscomp_set_mgr(dsscomp_t comp, struct dss2_mgr_info *mgr);
int dsscomp_get_mgr(dsscomp_t comp, struct dss2_mgr_info *mgr);
int dsscomp_setup(dsscomp_t comp, enum dsscomp_setup_mode mode,
			struct dss2_rect_t win);
int dsscomp_delayed_apply(dsscomp_t comp);
void dsscomp_drop(dsscomp_t c);

struct tiler_pa_info;
int dsscomp_gralloc_queue(struct dsscomp_setup_dispc_data *d,
			struct tiler_pa_info **pas,
			bool early_callback,
			void (*cb_fn)(void *, int), void *cb_arg);

void dsscomp_set_platform_data(struct dsscomp_platform_data *data);

int dsscomp_apply(dsscomp_t comp);
u32 dsscomp_mgr_callback(void *data, int id, int status);

#endif