#include <linux/iopoll.h>
#include <drm/drm_managed.h>
#include "dpu_hw_mdss.h"
#include "dpu_hwio.h"
#include "dpu_hw_catalog.h"
#include "dpu_hw_pingpong.h"
#include "dpu_kms.h"
#include "dpu_trace.h"
#define PP_TEAR_CHECK_EN …
#define PP_SYNC_CONFIG_VSYNC …
#define PP_SYNC_CONFIG_HEIGHT …
#define PP_SYNC_WRCOUNT …
#define PP_VSYNC_INIT_VAL …
#define PP_INT_COUNT_VAL …
#define PP_SYNC_THRESH …
#define PP_START_POS …
#define PP_RD_PTR_IRQ …
#define PP_WR_PTR_IRQ …
#define PP_OUT_LINE_COUNT …
#define PP_LINE_COUNT …
#define PP_AUTOREFRESH_CONFIG …
#define PP_FBC_MODE …
#define PP_FBC_BUDGET_CTL …
#define PP_FBC_LOSSY_MODE …
#define PP_DSC_MODE …
#define PP_DCE_DATA_IN_SWAP …
#define PP_DCE_DATA_OUT_SWAP …
#define PP_DITHER_EN …
#define PP_DITHER_BITDEPTH …
#define PP_DITHER_MATRIX …
#define DITHER_DEPTH_MAP_INDEX …
static u32 dither_depth_map[DITHER_DEPTH_MAP_INDEX] = …;
static void dpu_hw_pp_setup_dither(struct dpu_hw_pingpong *pp,
struct dpu_hw_dither_cfg *cfg)
{ … }
static int dpu_hw_pp_enable_te(struct dpu_hw_pingpong *pp,
struct dpu_hw_tear_check *te)
{ … }
static void dpu_hw_pp_setup_autorefresh_config(struct dpu_hw_pingpong *pp,
u32 frame_count, bool enable)
{ … }
static bool dpu_hw_pp_get_autorefresh_config(struct dpu_hw_pingpong *pp,
u32 *frame_count)
{ … }
static int dpu_hw_pp_disable_te(struct dpu_hw_pingpong *pp)
{ … }
static int dpu_hw_pp_connect_external_te(struct dpu_hw_pingpong *pp,
bool enable_external_te)
{ … }
static int dpu_hw_pp_get_vsync_info(struct dpu_hw_pingpong *pp,
struct dpu_hw_pp_vsync_info *info)
{ … }
static u32 dpu_hw_pp_get_line_count(struct dpu_hw_pingpong *pp)
{ … }
static void dpu_hw_pp_disable_autorefresh(struct dpu_hw_pingpong *pp,
uint32_t encoder_id, u16 vdisplay)
{ … }
static int dpu_hw_pp_dsc_enable(struct dpu_hw_pingpong *pp)
{ … }
static void dpu_hw_pp_dsc_disable(struct dpu_hw_pingpong *pp)
{ … }
static int dpu_hw_pp_setup_dsc(struct dpu_hw_pingpong *pp)
{ … }
struct dpu_hw_pingpong *dpu_hw_pingpong_init(struct drm_device *dev,
const struct dpu_pingpong_cfg *cfg,
void __iomem *addr,
const struct dpu_mdss_version *mdss_rev)
{ … }