/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __VIDEO_SH_MOBILE_MERAM_H__ #define __VIDEO_SH_MOBILE_MERAM_H__ /* For sh_mobile_meram_info.addr_mode */ enum { SH_MOBILE_MERAM_MODE0 = 0, SH_MOBILE_MERAM_MODE1 }; enum { SH_MOBILE_MERAM_PF_NV = 0, SH_MOBILE_MERAM_PF_RGB, SH_MOBILE_MERAM_PF_NV24 }; struct sh_mobile_meram_priv; /* * struct sh_mobile_meram_info - MERAM platform data * @reserved_icbs: Bitmask of reserved ICBs (for instance used through UIO) */ struct sh_mobile_meram_info { int addr_mode; u32 reserved_icbs; struct sh_mobile_meram_priv *priv; struct platform_device *pdev; }; /* icb config */ struct sh_mobile_meram_icb_cfg { unsigned int meram_size; /* MERAM Buffer Size to use */ }; struct sh_mobile_meram_cfg { struct sh_mobile_meram_icb_cfg icb[2]; }; #if defined(CONFIG_FB_SH_MOBILE_MERAM) || \ defined(CONFIG_FB_SH_MOBILE_MERAM_MODULE) unsigned long sh_mobile_meram_alloc(struct sh_mobile_meram_info *meram_dev, size_t size); void sh_mobile_meram_free(struct sh_mobile_meram_info *meram_dev, unsigned long mem, size_t size); void *sh_mobile_meram_cache_alloc(struct sh_mobile_meram_info *dev, const struct sh_mobile_meram_cfg *cfg, unsigned int xres, unsigned int yres, unsigned int pixelformat, unsigned int *pitch); void sh_mobile_meram_cache_free(struct sh_mobile_meram_info *dev, void *data); void sh_mobile_meram_cache_update(struct sh_mobile_meram_info *dev, void *data, unsigned long base_addr_y, unsigned long base_addr_c, unsigned long *icb_addr_y, unsigned long *icb_addr_c); #else static inline unsigned long sh_mobile_meram_alloc(struct sh_mobile_meram_info *meram_dev, size_t size) { return 0; } static inline void sh_mobile_meram_free(struct sh_mobile_meram_info *meram_dev, unsigned long mem, size_t size) { } static inline void * sh_mobile_meram_cache_alloc(struct sh_mobile_meram_info *dev, const struct sh_mobile_meram_cfg *cfg, unsigned int xres, unsigned int yres, unsigned int pixelformat, unsigned int *pitch) { return ERR_PTR(-ENODEV); } static inline void sh_mobile_meram_cache_free(struct sh_mobile_meram_info *dev, void *data) { } static inline void sh_mobile_meram_cache_update(struct sh_mobile_meram_info *dev, void *data, unsigned long base_addr_y, unsigned long base_addr_c, unsigned long *icb_addr_y, unsigned long *icb_addr_c) { } #endif #endif /* __VIDEO_SH_MOBILE_MERAM_H__ */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
atmel_lcdc.h | File | 6.8 KB | 0644 |
|
aty128.h | File | 13.27 KB | 0644 |
|
auo_k190xfb.h | File | 2.79 KB | 0644 |
|
broadsheetfb.h | File | 2.12 KB | 0644 |
|
cirrus.h | File | 5.67 KB | 0644 |
|
cvisionppc.h | File | 1.54 KB | 0644 |
|
da8xx-fb.h | File | 1.99 KB | 0644 |
|
display_timing.h | File | 3.11 KB | 0644 |
|
edid.h | File | 228 B | 0644 |
|
exynos5433_decon.h | File | 6.82 KB | 0644 |
|
exynos7_decon.h | File | 10.9 KB | 0644 |
|
gbe.h | File | 10.54 KB | 0644 |
|
hecubafb.h | File | 1.5 KB | 0644 |
|
ili9320.h | File | 5.8 KB | 0644 |
|
imx-ipu-image-convert.h | File | 6.97 KB | 0644 |
|
imx-ipu-v3.h | File | 14.88 KB | 0644 |
|
kyro.h | File | 2.36 KB | 0644 |
|
mach64.h | File | 47.14 KB | 0644 |
|
maxinefb.h | File | 1.24 KB | 0644 |
|
mbxfb.h | File | 2.16 KB | 0644 |
|
metronomefb.h | File | 1.48 KB | 0644 |
|
mipi_display.h | File | 4.52 KB | 0644 |
|
mmp_disp.h | File | 7.61 KB | 0644 |
|
neomagic.h | File | 4.9 KB | 0644 |
|
newport.h | File | 18.68 KB | 0644 |
|
of_display_timing.h | File | 968 B | 0644 |
|
of_videomode.h | File | 367 B | 0644 |
|
omap-panel-data.h | File | 2.18 KB | 0644 |
|
omapfb_dss.h | File | 23.44 KB | 0644 |
|
omapvrfb.h | File | 2.38 KB | 0644 |
|
permedia2.h | File | 8.96 KB | 0644 |
|
platform_lcd.h | File | 589 B | 0644 |
|
pm3fb.h | File | 45.31 KB | 0644 |
|
pmag-ba-fb.h | File | 1.02 KB | 0644 |
|
pmagb-b-fb.h | File | 2.34 KB | 0644 |
|
pxa168fb.h | File | 2.67 KB | 0644 |
|
radeon.h | File | 109.21 KB | 0644 |
|
s1d13xxxfb.h | File | 9.95 KB | 0644 |
|
sa1100fb.h | File | 1.26 KB | 0644 |
|
samsung_fimd.h | File | 16.8 KB | 0644 |
|
sh_mobile_lcdc.h | File | 6.11 KB | 0644 |
|
sh_mobile_meram.h | File | 2.44 KB | 0644 |
|
sisfb.h | File | 1.23 KB | 0644 |
|
sstfb.h | File | 11.04 KB | 0644 |
|
tdfx.h | File | 5.32 KB | 0644 |
|
tgafb.h | File | 6.94 KB | 0644 |
|
trident.h | File | 3.23 KB | 0644 |
|
udlfb.h | File | 2.85 KB | 0644 |
|
uvesafb.h | File | 2.85 KB | 0644 |
|
vga.h | File | 13.72 KB | 0644 |
|
videomode.h | File | 1.35 KB | 0644 |
|
w100fb.h | File | 3.72 KB | 0644 |
|