Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sh_mobile_meram.h
Go to the documentation of this file.
1 #ifndef __VIDEO_SH_MOBILE_MERAM_H__
2 #define __VIDEO_SH_MOBILE_MERAM_H__
3 
4 /* For sh_mobile_meram_info.addr_mode */
5 enum {
8 };
9 
10 enum {
14 };
15 
16 
18 
19 /*
20  * struct sh_mobile_meram_info - MERAM platform data
21  * @reserved_icbs: Bitmask of reserved ICBs (for instance used through UIO)
22  */
24  int addr_mode;
28 };
29 
30 /* icb config */
32  unsigned int meram_size; /* MERAM Buffer Size to use */
33 };
34 
37 };
38 
39 #if defined(CONFIG_FB_SH_MOBILE_MERAM) || \
40  defined(CONFIG_FB_SH_MOBILE_MERAM_MODULE)
41 unsigned long sh_mobile_meram_alloc(struct sh_mobile_meram_info *meram_dev,
42  size_t size);
43 void sh_mobile_meram_free(struct sh_mobile_meram_info *meram_dev,
44  unsigned long mem, size_t size);
46  const struct sh_mobile_meram_cfg *cfg,
47  unsigned int xres, unsigned int yres,
48  unsigned int pixelformat,
49  unsigned int *pitch);
52  unsigned long base_addr_y,
53  unsigned long base_addr_c,
54  unsigned long *icb_addr_y,
55  unsigned long *icb_addr_c);
56 #else
57 static inline unsigned long
58 sh_mobile_meram_alloc(struct sh_mobile_meram_info *meram_dev, size_t size)
59 {
60  return 0;
61 }
62 
63 static inline void
65  unsigned long mem, size_t size)
66 {
67 }
68 
69 static inline void *
71  const struct sh_mobile_meram_cfg *cfg,
72  unsigned int xres, unsigned int yres,
73  unsigned int pixelformat,
74  unsigned int *pitch)
75 {
76  return ERR_PTR(-ENODEV);
77 }
78 
79 static inline void
81 {
82 }
83 
84 static inline void
86  unsigned long base_addr_y,
87  unsigned long base_addr_c,
88  unsigned long *icb_addr_y,
89  unsigned long *icb_addr_c)
90 {
91 }
92 #endif
93 
94 #endif /* __VIDEO_SH_MOBILE_MERAM_H__ */