57 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * VRFB Rotation Engine4 *5 * Copyright (C) 2009 Nokia Corporation6 * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>7 */8 9#ifndef __OMAP_VRFB_H__10#define __OMAP_VRFB_H__11 12#define OMAP_VRFB_LINE_LEN 204813 14struct vrfb {15 u8 context;16 void __iomem *vaddr[4];17 unsigned long paddr[4];18 u16 xres;19 u16 yres;20 u16 xoffset;21 u16 yoffset;22 u8 bytespp;23 bool yuv_mode;24};25 26#ifdef CONFIG_OMAP2_VRFB27extern bool omap_vrfb_supported(void);28extern int omap_vrfb_request_ctx(struct vrfb *vrfb);29extern void omap_vrfb_release_ctx(struct vrfb *vrfb);30extern void omap_vrfb_adjust_size(u16 *width, u16 *height,31 u8 bytespp);32extern u32 omap_vrfb_min_phys_size(u16 width, u16 height, u8 bytespp);33extern u16 omap_vrfb_max_height(u32 phys_size, u16 width, u8 bytespp);34extern void omap_vrfb_setup(struct vrfb *vrfb, unsigned long paddr,35 u16 width, u16 height,36 unsigned bytespp, bool yuv_mode);37extern int omap_vrfb_map_angle(struct vrfb *vrfb, u16 height, u8 rot);38extern void omap_vrfb_restore_context(void);39 40#else41static inline bool omap_vrfb_supported(void) { return false; }42static inline int omap_vrfb_request_ctx(struct vrfb *vrfb) { return 0; }43static inline void omap_vrfb_release_ctx(struct vrfb *vrfb) {}44static inline void omap_vrfb_adjust_size(u16 *width, u16 *height,45 u8 bytespp) {}46static inline u32 omap_vrfb_min_phys_size(u16 width, u16 height, u8 bytespp)47 { return 0; }48static inline u16 omap_vrfb_max_height(u32 phys_size, u16 width, u8 bytespp)49 { return 0; }50static inline void omap_vrfb_setup(struct vrfb *vrfb, unsigned long paddr,51 u16 width, u16 height, unsigned bytespp, bool yuv_mode) {}52static inline int omap_vrfb_map_angle(struct vrfb *vrfb, u16 height, u8 rot)53 { return 0; }54static inline void omap_vrfb_restore_context(void) {}55#endif56#endif /* __VRFB_H */57