#include <linux/export.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/io.h>
#include <linux/err.h>
#include <drm/drm_color_mgmt.h>
#include <video/imx-ipu-v3.h>
#include "ipu-prv.h"
#define DP_SYNC …
#define DP_ASYNC0 …
#define DP_ASYNC1 …
#define DP_COM_CONF …
#define DP_GRAPH_WIND_CTRL …
#define DP_FG_POS …
#define DP_CSC_A_0 …
#define DP_CSC_A_1 …
#define DP_CSC_A_2 …
#define DP_CSC_A_3 …
#define DP_CSC_0 …
#define DP_CSC_1 …
#define DP_COM_CONF_FG_EN …
#define DP_COM_CONF_GWSEL …
#define DP_COM_CONF_GWAM …
#define DP_COM_CONF_GWCKE …
#define DP_COM_CONF_CSC_DEF_MASK …
#define DP_COM_CONF_CSC_DEF_OFFSET …
#define DP_COM_CONF_CSC_DEF_FG …
#define DP_COM_CONF_CSC_DEF_BG …
#define DP_COM_CONF_CSC_DEF_BOTH …
#define IPUV3_NUM_FLOWS …
struct ipu_dp_priv;
struct ipu_dp { … };
struct ipu_flow { … };
struct ipu_dp_priv { … };
static u32 ipu_dp_flow_base[] = …;
static inline struct ipu_flow *to_flow(struct ipu_dp *dp)
{ … }
int ipu_dp_set_global_alpha(struct ipu_dp *dp, bool enable,
u8 alpha, bool bg_chan)
{ … }
EXPORT_SYMBOL_GPL(…);
int ipu_dp_set_window_pos(struct ipu_dp *dp, u16 x_pos, u16 y_pos)
{ … }
EXPORT_SYMBOL_GPL(…);
static void ipu_dp_csc_init(struct ipu_flow *flow,
enum drm_color_encoding ycbcr_enc,
enum drm_color_range range,
enum ipu_color_space in,
enum ipu_color_space out,
u32 place)
{ … }
int ipu_dp_setup_channel(struct ipu_dp *dp,
enum drm_color_encoding ycbcr_enc,
enum drm_color_range range,
enum ipu_color_space in,
enum ipu_color_space out)
{ … }
EXPORT_SYMBOL_GPL(…);
int ipu_dp_enable(struct ipu_soc *ipu)
{ … }
EXPORT_SYMBOL_GPL(…);
int ipu_dp_enable_channel(struct ipu_dp *dp)
{ … }
EXPORT_SYMBOL_GPL(…);
void ipu_dp_disable_channel(struct ipu_dp *dp, bool sync)
{ … }
EXPORT_SYMBOL_GPL(…);
void ipu_dp_disable(struct ipu_soc *ipu)
{ … }
EXPORT_SYMBOL_GPL(…);
struct ipu_dp *ipu_dp_get(struct ipu_soc *ipu, unsigned int flow)
{ … }
EXPORT_SYMBOL_GPL(…);
void ipu_dp_put(struct ipu_dp *dp)
{ … }
EXPORT_SYMBOL_GPL(…);
int ipu_dp_init(struct ipu_soc *ipu, struct device *dev, unsigned long base)
{ … }
void ipu_dp_exit(struct ipu_soc *ipu)
{ … }