#include "dp_panel.h"
#include "dp_utils.h"
#include <drm/drm_connector.h>
#include <drm/drm_edid.h>
#include <drm/drm_of.h>
#include <drm/drm_print.h>
#define DP_MAX_NUM_DP_LANES …
#define DP_LINK_RATE_HBR2 …
struct dp_panel_private { … };
static void dp_panel_read_psr_cap(struct dp_panel_private *panel)
{ … }
static int dp_panel_read_dpcd(struct dp_panel *dp_panel)
{ … }
static u32 dp_panel_get_supported_bpp(struct dp_panel *dp_panel,
u32 mode_edid_bpp, u32 mode_pclk_khz)
{ … }
int dp_panel_read_sink_caps(struct dp_panel *dp_panel,
struct drm_connector *connector)
{ … }
u32 dp_panel_get_mode_bpp(struct dp_panel *dp_panel,
u32 mode_edid_bpp, u32 mode_pclk_khz)
{ … }
int dp_panel_get_modes(struct dp_panel *dp_panel,
struct drm_connector *connector)
{ … }
static u8 dp_panel_get_edid_checksum(const struct edid *edid)
{ … }
void dp_panel_handle_sink_request(struct dp_panel *dp_panel)
{ … }
void dp_panel_tpg_config(struct dp_panel *dp_panel, bool enable)
{ … }
static int dp_panel_setup_vsc_sdp_yuv_420(struct dp_panel *dp_panel)
{ … }
void dp_panel_dump_regs(struct dp_panel *dp_panel)
{ … }
int dp_panel_timing_cfg(struct dp_panel *dp_panel)
{ … }
int dp_panel_init_panel_info(struct dp_panel *dp_panel)
{ … }
static u32 dp_panel_link_frequencies(struct device_node *of_node)
{ … }
static int dp_panel_parse_dt(struct dp_panel *dp_panel)
{ … }
struct dp_panel *dp_panel_get(struct dp_panel_in *in)
{ … }
void dp_panel_put(struct dp_panel *dp_panel)
{ … }