| /* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ |
| /* |
| * Copyright (c) 2019 Amlogic, Inc. All rights reserved. |
| */ |
| |
| #ifndef _AUTOWR_H_ |
| #define _AUTOWR_H_ |
| |
| /*FR support 2 fd*/ |
| /*DS support 1 fd*/ |
| enum frame_plane { |
| NV12_Y = 0, |
| NV12_UV, |
| RGB, |
| }; |
| |
| /* for autowr dma buf define */ |
| struct autowr_dmabuf_req_s { |
| int plane_id; // select plane |
| int frame_index;// select frame, package it as DMA fd. |
| u32 phy_addr; // buffer phy address (NV12_Y,NV12_UV) |
| int index; |
| unsigned int len; |
| unsigned int dma_dir; |
| }; |
| |
| struct autowr_dmabuf_exp_s { |
| int index; |
| unsigned int flags; |
| int fd; |
| }; |
| |
| struct autowr_packed_buf_s { |
| int alloc_status; |
| int count; |
| unsigned int path_type; |
| unsigned int flags; |
| }; |
| |
| extern unsigned int autowr_log_level; |
| |
| enum autowr_log_type { |
| LOG_CRIT = 0, |
| LOG_ERR = 0, |
| LOG_INFO = 0, |
| LOG_WARNING, |
| LOG_DEBUG, |
| LOG_MAX |
| }; |
| |
| #define autowr_log(level, fmt, ...) \ |
| do { \ |
| if ((level) <= autowr_log_level)\ |
| pr_info("autowr: %s: " fmt, __func__, ##__VA_ARGS__);\ |
| } while (0) |
| |
| #define BUF_VALID 0xFEEDBEEF |
| #define BUF_INVALID 0xDEADBEEF |
| #endif // __AUTOWR_H__ |