#include <linux/delay.h>
#include <drm/drm_atomic.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_gem_vram_helper.h>
#include <drm/drm_vblank.h>
#include "hibmc_drm_drv.h"
#include "hibmc_drm_regs.h"
struct hibmc_display_panel_pll { … };
struct hibmc_dislay_pll_config { … };
static const struct hibmc_dislay_pll_config hibmc_pll_table[] = …;
static int hibmc_plane_atomic_check(struct drm_plane *plane,
struct drm_atomic_state *state)
{ … }
static void hibmc_plane_atomic_update(struct drm_plane *plane,
struct drm_atomic_state *state)
{ … }
static const u32 channel_formats1[] = …;
static const struct drm_plane_funcs hibmc_plane_funcs = …;
static const struct drm_plane_helper_funcs hibmc_plane_helper_funcs = …;
static void hibmc_crtc_dpms(struct drm_crtc *crtc, u32 dpms)
{ … }
static void hibmc_crtc_atomic_enable(struct drm_crtc *crtc,
struct drm_atomic_state *state)
{ … }
static void hibmc_crtc_atomic_disable(struct drm_crtc *crtc,
struct drm_atomic_state *state)
{ … }
static enum drm_mode_status
hibmc_crtc_mode_valid(struct drm_crtc *crtc,
const struct drm_display_mode *mode)
{ … }
static u32 format_pll_reg(void)
{ … }
static void set_vclock_hisilicon(struct drm_device *dev, u64 pll)
{ … }
static void get_pll_config(u64 x, u64 y, u32 *pll1, u32 *pll2)
{ … }
static u32 display_ctrl_adjust(struct drm_device *dev,
struct drm_display_mode *mode,
u32 ctrl)
{ … }
static void hibmc_crtc_mode_set_nofb(struct drm_crtc *crtc)
{ … }
static void hibmc_crtc_atomic_begin(struct drm_crtc *crtc,
struct drm_atomic_state *state)
{ … }
static void hibmc_crtc_atomic_flush(struct drm_crtc *crtc,
struct drm_atomic_state *state)
{ … }
static int hibmc_crtc_enable_vblank(struct drm_crtc *crtc)
{ … }
static void hibmc_crtc_disable_vblank(struct drm_crtc *crtc)
{ … }
static void hibmc_crtc_load_lut(struct drm_crtc *crtc)
{ … }
static int hibmc_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
u16 *blue, uint32_t size,
struct drm_modeset_acquire_ctx *ctx)
{ … }
static const struct drm_crtc_funcs hibmc_crtc_funcs = …;
static const struct drm_crtc_helper_funcs hibmc_crtc_helper_funcs = …;
int hibmc_de_init(struct hibmc_drm_private *priv)
{ … }