]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/video/sh_mobile_meram.h
fbdev: sh_mobile_meram: Use genalloc to manage MERAM allocation
[karo-tx-linux.git] / include / video / sh_mobile_meram.h
index af602d602b287aaa6681e0a02667e9857cec19b4..f7700fcb054abe348f0e5bd1064ebb09579089a4 100644 (file)
@@ -25,19 +25,14 @@ struct sh_mobile_meram_info {
 };
 
 /* icb config */
-struct sh_mobile_meram_icb {
-       int marker_icb;         /* ICB # for Marker ICB */
-       int cache_icb;          /* ICB # for Cache ICB */
-       int meram_offset;       /* MERAM Buffer Offset to use */
-       int meram_size;         /* MERAM Buffer Size to use */
-
-       int cache_unit;         /* bytes to cache per ICB */
+struct sh_mobile_meram_icb_cfg {
+       unsigned int marker_icb;        /* ICB # for Marker ICB */
+       unsigned int cache_icb;         /* ICB # for Cache ICB */
+       unsigned int meram_size;        /* MERAM Buffer Size to use */
 };
 
 struct sh_mobile_meram_cfg {
-       struct sh_mobile_meram_icb      icb[2];
-       int                             pixelformat;
-       int                             current_reg;
+       struct sh_mobile_meram_icb_cfg icb[2];
 };
 
 struct module;
@@ -45,20 +40,22 @@ struct sh_mobile_meram_ops {
        struct module   *module;
        /* register usage of meram */
        int (*meram_register)(struct sh_mobile_meram_info *meram_dev,
-                             struct sh_mobile_meram_cfg *cfg,
-                             int xres, int yres, int pixelformat,
+                             const struct sh_mobile_meram_cfg *cfg,
+                             unsigned int xres, unsigned int yres,
+                             unsigned int pixelformat,
                              unsigned long base_addr_y,
                              unsigned long base_addr_c,
                              unsigned long *icb_addr_y,
-                             unsigned long *icb_addr_c, int *pitch);
+                             unsigned long *icb_addr_c,
+                             unsigned int *pitch);
 
        /* unregister usage of meram */
        int (*meram_unregister)(struct sh_mobile_meram_info *meram_dev,
-                               struct sh_mobile_meram_cfg *cfg);
+                               const struct sh_mobile_meram_cfg *cfg);
 
        /* update meram settings */
        int (*meram_update)(struct sh_mobile_meram_info *meram_dev,
-                           struct sh_mobile_meram_cfg *cfg,
+                           const struct sh_mobile_meram_cfg *cfg,
                            unsigned long base_addr_y,
                            unsigned long base_addr_c,
                            unsigned long *icb_addr_y,