diff options
Diffstat (limited to 'include/video/sh_mobile_meram.h')
-rw-r--r-- | include/video/sh_mobile_meram.h | 45 |
1 files changed, 20 insertions, 25 deletions
diff --git a/include/video/sh_mobile_meram.h b/include/video/sh_mobile_meram.h index af602d602b28..29b2fd3b147e 100644 --- a/include/video/sh_mobile_meram.h +++ b/include/video/sh_mobile_meram.h | |||
@@ -17,52 +17,47 @@ enum { | |||
17 | struct sh_mobile_meram_priv; | 17 | struct sh_mobile_meram_priv; |
18 | struct sh_mobile_meram_ops; | 18 | struct sh_mobile_meram_ops; |
19 | 19 | ||
20 | /* | ||
21 | * struct sh_mobile_meram_info - MERAM platform data | ||
22 | * @reserved_icbs: Bitmask of reserved ICBs (for instance used through UIO) | ||
23 | */ | ||
20 | struct sh_mobile_meram_info { | 24 | struct sh_mobile_meram_info { |
21 | int addr_mode; | 25 | int addr_mode; |
26 | u32 reserved_icbs; | ||
22 | struct sh_mobile_meram_ops *ops; | 27 | struct sh_mobile_meram_ops *ops; |
23 | struct sh_mobile_meram_priv *priv; | 28 | struct sh_mobile_meram_priv *priv; |
24 | struct platform_device *pdev; | 29 | struct platform_device *pdev; |
25 | }; | 30 | }; |
26 | 31 | ||
27 | /* icb config */ | 32 | /* icb config */ |
28 | struct sh_mobile_meram_icb { | 33 | struct sh_mobile_meram_icb_cfg { |
29 | int marker_icb; /* ICB # for Marker ICB */ | 34 | unsigned int meram_size; /* MERAM Buffer Size to use */ |
30 | int cache_icb; /* ICB # for Cache ICB */ | ||
31 | int meram_offset; /* MERAM Buffer Offset to use */ | ||
32 | int meram_size; /* MERAM Buffer Size to use */ | ||
33 | |||
34 | int cache_unit; /* bytes to cache per ICB */ | ||
35 | }; | 35 | }; |
36 | 36 | ||
37 | struct sh_mobile_meram_cfg { | 37 | struct sh_mobile_meram_cfg { |
38 | struct sh_mobile_meram_icb icb[2]; | 38 | struct sh_mobile_meram_icb_cfg icb[2]; |
39 | int pixelformat; | ||
40 | int current_reg; | ||
41 | }; | 39 | }; |
42 | 40 | ||
43 | struct module; | 41 | struct module; |
44 | struct sh_mobile_meram_ops { | 42 | struct sh_mobile_meram_ops { |
45 | struct module *module; | 43 | struct module *module; |
46 | /* register usage of meram */ | 44 | /* register usage of meram */ |
47 | int (*meram_register)(struct sh_mobile_meram_info *meram_dev, | 45 | void *(*meram_register)(struct sh_mobile_meram_info *meram_dev, |
48 | struct sh_mobile_meram_cfg *cfg, | 46 | const struct sh_mobile_meram_cfg *cfg, |
49 | int xres, int yres, int pixelformat, | 47 | unsigned int xres, unsigned int yres, |
50 | unsigned long base_addr_y, | 48 | unsigned int pixelformat, |
51 | unsigned long base_addr_c, | 49 | unsigned int *pitch); |
52 | unsigned long *icb_addr_y, | ||
53 | unsigned long *icb_addr_c, int *pitch); | ||
54 | 50 | ||
55 | /* unregister usage of meram */ | 51 | /* unregister usage of meram */ |
56 | int (*meram_unregister)(struct sh_mobile_meram_info *meram_dev, | 52 | void (*meram_unregister)(struct sh_mobile_meram_info *meram_dev, |
57 | struct sh_mobile_meram_cfg *cfg); | 53 | void *data); |
58 | 54 | ||
59 | /* update meram settings */ | 55 | /* update meram settings */ |
60 | int (*meram_update)(struct sh_mobile_meram_info *meram_dev, | 56 | void (*meram_update)(struct sh_mobile_meram_info *meram_dev, void *data, |
61 | struct sh_mobile_meram_cfg *cfg, | 57 | unsigned long base_addr_y, |
62 | unsigned long base_addr_y, | 58 | unsigned long base_addr_c, |
63 | unsigned long base_addr_c, | 59 | unsigned long *icb_addr_y, |
64 | unsigned long *icb_addr_y, | 60 | unsigned long *icb_addr_c); |
65 | unsigned long *icb_addr_c); | ||
66 | }; | 61 | }; |
67 | 62 | ||
68 | #endif /* __VIDEO_SH_MOBILE_MERAM_H__ */ | 63 | #endif /* __VIDEO_SH_MOBILE_MERAM_H__ */ |