Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v4.17-rc2 95 lines 2.5 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __VIDEO_SH_MOBILE_MERAM_H__ 3#define __VIDEO_SH_MOBILE_MERAM_H__ 4 5/* For sh_mobile_meram_info.addr_mode */ 6enum { 7 SH_MOBILE_MERAM_MODE0 = 0, 8 SH_MOBILE_MERAM_MODE1 9}; 10 11enum { 12 SH_MOBILE_MERAM_PF_NV = 0, 13 SH_MOBILE_MERAM_PF_RGB, 14 SH_MOBILE_MERAM_PF_NV24 15}; 16 17 18struct sh_mobile_meram_priv; 19 20/* 21 * struct sh_mobile_meram_info - MERAM platform data 22 * @reserved_icbs: Bitmask of reserved ICBs (for instance used through UIO) 23 */ 24struct sh_mobile_meram_info { 25 int addr_mode; 26 u32 reserved_icbs; 27 struct sh_mobile_meram_priv *priv; 28 struct platform_device *pdev; 29}; 30 31/* icb config */ 32struct sh_mobile_meram_icb_cfg { 33 unsigned int meram_size; /* MERAM Buffer Size to use */ 34}; 35 36struct sh_mobile_meram_cfg { 37 struct sh_mobile_meram_icb_cfg icb[2]; 38}; 39 40#if defined(CONFIG_FB_SH_MOBILE_MERAM) || \ 41 defined(CONFIG_FB_SH_MOBILE_MERAM_MODULE) 42unsigned long sh_mobile_meram_alloc(struct sh_mobile_meram_info *meram_dev, 43 size_t size); 44void sh_mobile_meram_free(struct sh_mobile_meram_info *meram_dev, 45 unsigned long mem, size_t size); 46void *sh_mobile_meram_cache_alloc(struct sh_mobile_meram_info *dev, 47 const struct sh_mobile_meram_cfg *cfg, 48 unsigned int xres, unsigned int yres, 49 unsigned int pixelformat, 50 unsigned int *pitch); 51void sh_mobile_meram_cache_free(struct sh_mobile_meram_info *dev, void *data); 52void sh_mobile_meram_cache_update(struct sh_mobile_meram_info *dev, void *data, 53 unsigned long base_addr_y, 54 unsigned long base_addr_c, 55 unsigned long *icb_addr_y, 56 unsigned long *icb_addr_c); 57#else 58static inline unsigned long 59sh_mobile_meram_alloc(struct sh_mobile_meram_info *meram_dev, size_t size) 60{ 61 return 0; 62} 63 64static inline void 65sh_mobile_meram_free(struct sh_mobile_meram_info *meram_dev, 66 unsigned long mem, size_t size) 67{ 68} 69 70static inline void * 71sh_mobile_meram_cache_alloc(struct sh_mobile_meram_info *dev, 72 const struct sh_mobile_meram_cfg *cfg, 73 unsigned int xres, unsigned int yres, 74 unsigned int pixelformat, 75 unsigned int *pitch) 76{ 77 return ERR_PTR(-ENODEV); 78} 79 80static inline void 81sh_mobile_meram_cache_free(struct sh_mobile_meram_info *dev, void *data) 82{ 83} 84 85static inline void 86sh_mobile_meram_cache_update(struct sh_mobile_meram_info *dev, void *data, 87 unsigned long base_addr_y, 88 unsigned long base_addr_c, 89 unsigned long *icb_addr_y, 90 unsigned long *icb_addr_c) 91{ 92} 93#endif 94 95#endif /* __VIDEO_SH_MOBILE_MERAM_H__ */