aboutsummaryrefslogtreecommitdiffstats
path: root/include/video/sh_mobile_meram.h
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2011-09-19 05:40:31 -0400
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2012-03-12 17:41:09 -0400
commit2a618e0333f5d1d27bbd4d90d70f07e0a8dc0ba7 (patch)
treef7bfe21bf5374ec4997a3640b0411962b8b68b3a /include/video/sh_mobile_meram.h
parenteb4f2304ba029f78516c2fe23213d7e2d0f8d58f (diff)
fbdev: sh_mobile_meram: Add struct sh_mobile_meram_icb
The new structure stores ICB parameters for ICBs. Instead of modifying the struct sh_mobile_meram_cfg instances passed by callers, store the ICB parameters internally and make the public API take const pointers to sh_mobile_meram_cfg. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'include/video/sh_mobile_meram.h')
-rw-r--r--include/video/sh_mobile_meram.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/include/video/sh_mobile_meram.h b/include/video/sh_mobile_meram.h
index 6755e3f89a36..05ca3f92de10 100644
--- a/include/video/sh_mobile_meram.h
+++ b/include/video/sh_mobile_meram.h
@@ -30,14 +30,10 @@ struct sh_mobile_meram_icb_cfg {
30 unsigned int cache_icb; /* ICB # for Cache ICB */ 30 unsigned int cache_icb; /* ICB # for Cache ICB */
31 unsigned int meram_offset; /* MERAM Buffer Offset to use */ 31 unsigned int meram_offset; /* MERAM Buffer Offset to use */
32 unsigned int meram_size; /* MERAM Buffer Size to use */ 32 unsigned int meram_size; /* MERAM Buffer Size to use */
33
34 unsigned int cache_unit; /* bytes to cache per ICB */
35}; 33};
36 34
37struct sh_mobile_meram_cfg { 35struct sh_mobile_meram_cfg {
38 struct sh_mobile_meram_icb_cfg icb[2]; 36 struct sh_mobile_meram_icb_cfg icb[2];
39 int pixelformat;
40 int current_reg;
41}; 37};
42 38
43struct module; 39struct module;
@@ -45,7 +41,7 @@ struct sh_mobile_meram_ops {
45 struct module *module; 41 struct module *module;
46 /* register usage of meram */ 42 /* register usage of meram */
47 int (*meram_register)(struct sh_mobile_meram_info *meram_dev, 43 int (*meram_register)(struct sh_mobile_meram_info *meram_dev,
48 struct sh_mobile_meram_cfg *cfg, 44 const struct sh_mobile_meram_cfg *cfg,
49 unsigned int xres, unsigned int yres, 45 unsigned int xres, unsigned int yres,
50 unsigned int pixelformat, 46 unsigned int pixelformat,
51 unsigned long base_addr_y, 47 unsigned long base_addr_y,
@@ -56,11 +52,11 @@ struct sh_mobile_meram_ops {
56 52
57 /* unregister usage of meram */ 53 /* unregister usage of meram */
58 int (*meram_unregister)(struct sh_mobile_meram_info *meram_dev, 54 int (*meram_unregister)(struct sh_mobile_meram_info *meram_dev,
59 struct sh_mobile_meram_cfg *cfg); 55 const struct sh_mobile_meram_cfg *cfg);
60 56
61 /* update meram settings */ 57 /* update meram settings */
62 int (*meram_update)(struct sh_mobile_meram_info *meram_dev, 58 int (*meram_update)(struct sh_mobile_meram_info *meram_dev,
63 struct sh_mobile_meram_cfg *cfg, 59 const struct sh_mobile_meram_cfg *cfg,
64 unsigned long base_addr_y, 60 unsigned long base_addr_y,
65 unsigned long base_addr_c, 61 unsigned long base_addr_c,
66 unsigned long *icb_addr_y, 62 unsigned long *icb_addr_y,