1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#ifndef _XILINX_OSD_H_
19#define _XILINX_OSD_H_
20
21
22#define OSD_MAX_ALPHA 0x100
23
24struct xilinx_osd;
25struct xilinx_osd_layer;
26
27
28void xilinx_osd_layer_set_alpha(struct xilinx_osd_layer *layer, u32 alpha);
29void xilinx_osd_layer_enable_alpha(struct xilinx_osd_layer *layer, bool enable);
30void xilinx_osd_layer_set_priority(struct xilinx_osd_layer *layer, u32 prio);
31void xilinx_osd_layer_set_dimension(struct xilinx_osd_layer *layer,
32 u16 xstart, u16 ystart,
33 u16 xsize, u16 ysize);
34
35
36void xilinx_osd_layer_enable(struct xilinx_osd_layer *layer);
37void xilinx_osd_layer_disable(struct xilinx_osd_layer *layer);
38struct xilinx_osd_layer *xilinx_osd_layer_get(struct xilinx_osd *osd);
39void xilinx_osd_layer_put(struct xilinx_osd_layer *layer);
40
41
42void xilinx_osd_set_color(struct xilinx_osd *osd, u8 r, u8 g, u8 b);
43void xilinx_osd_set_dimension(struct xilinx_osd *osd, u32 width, u32 height);
44
45unsigned int xilinx_osd_get_num_layers(struct xilinx_osd *osd);
46unsigned int xilinx_osd_get_max_width(struct xilinx_osd *osd);
47unsigned int xilinx_osd_get_format(struct xilinx_osd *osd);
48
49
50void xilinx_osd_reset(struct xilinx_osd *osd);
51void xilinx_osd_enable(struct xilinx_osd *osd);
52void xilinx_osd_disable(struct xilinx_osd *osd);
53void xilinx_osd_enable_rue(struct xilinx_osd *osd);
54void xilinx_osd_disable_rue(struct xilinx_osd *osd);
55
56struct device;
57struct device_node;
58
59struct xilinx_osd *xilinx_osd_probe(struct device *dev,
60 struct device_node *node);
61
62#endif
63