/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ | |
/* | |
* Copyright (c) 2019 Amlogic, Inc. All rights reserved. | |
*/ | |
#ifndef _OSD_DRM_H_ | |
#define _OSD_DRM_H_ | |
#include <linux/dcache.h> | |
#include "osd.h" | |
struct osd_plane_map_s { | |
u32 plane_index; | |
u32 zorder; | |
u32 phy_addr; | |
u32 format; | |
u32 enable; | |
u32 src_x; | |
u32 src_y; | |
u32 src_w; | |
u32 src_h; | |
u32 dst_x; | |
u32 dst_y; | |
u32 dst_w; | |
u32 dst_h; | |
int byte_stride; | |
u32 background_w; | |
u32 background_h; | |
u32 premult_en; | |
u32 afbc_en; | |
u32 afbc_inter_format; | |
u32 blend_mode; | |
int plane_alpha; | |
u32 reserve; | |
}; | |
int osd_drm_init(struct osd_device_data_s *osd_meson_dev); | |
void osd_drm_debugfs_add(struct dentry **plane_debugfs_dir, | |
char *name, | |
int osd_id); | |
void osd_drm_debugfs_init(void); | |
void osd_drm_debugfs_exit(void); | |
void osd_drm_plane_page_flip(struct osd_plane_map_s *plane_map); | |
void osd_drm_plane_enable_hw(u32 index, u32 enable); | |
void osd_drm_vsync_isr_handler(void); | |
#endif |