#include <linux/delay.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_debugfs.h>
#include <drm/drm_edid.h>
#include <drm/drm_probe_helper.h>
#include "lsdc_drv.h"
#include "lsdc_output.h"
static int ls7a2000_connector_get_modes(struct drm_connector *connector)
{ … }
static struct drm_encoder *
ls7a2000_connector_get_best_encoder(struct drm_connector *connector,
struct drm_atomic_state *state)
{ … }
static const struct drm_connector_helper_funcs ls7a2000_connector_helpers = …;
#define LSDC_HDMI_REG(i, reg) …
static const struct lsdc_reg32 ls7a2000_hdmi0_encoder_regs[] = …;
static const struct lsdc_reg32 ls7a2000_hdmi1_encoder_regs[] = …;
static int ls7a2000_hdmi_encoder_regs_show(struct seq_file *m, void *data)
{ … }
static const struct drm_info_list ls7a2000_hdmi0_debugfs_files[] = …;
static const struct drm_info_list ls7a2000_hdmi1_debugfs_files[] = …;
static void ls7a2000_hdmi0_late_register(struct drm_connector *connector,
struct dentry *root)
{ … }
static void ls7a2000_hdmi1_late_register(struct drm_connector *connector,
struct dentry *root)
{ … }
static enum drm_connector_status
ls7a2000_hdmi0_vga_connector_detect(struct drm_connector *connector, bool force)
{ … }
static enum drm_connector_status
ls7a2000_hdmi1_connector_detect(struct drm_connector *connector, bool force)
{ … }
static const struct drm_connector_funcs ls7a2000_hdmi_connector_funcs[2] = …;
static void ls7a2000_hdmi0_encoder_reset(struct drm_encoder *encoder)
{ … }
static void ls7a2000_hdmi1_encoder_reset(struct drm_encoder *encoder)
{ … }
static const struct drm_encoder_funcs ls7a2000_encoder_funcs[2] = …;
static int ls7a2000_hdmi_set_avi_infoframe(struct drm_encoder *encoder,
struct drm_display_mode *mode)
{ … }
static void ls7a2000_hdmi_atomic_disable(struct drm_encoder *encoder,
struct drm_atomic_state *state)
{ … }
static void ls7a2000_hdmi_atomic_enable(struct drm_encoder *encoder,
struct drm_atomic_state *state)
{ … }
static void ls7a2000_hdmi_phy_pll_config(struct lsdc_device *ldev,
int fin,
unsigned int index)
{ … }
static void ls7a2000_hdmi_atomic_mode_set(struct drm_encoder *encoder,
struct drm_crtc_state *crtc_state,
struct drm_connector_state *conn_state)
{ … }
static const struct drm_encoder_helper_funcs ls7a2000_encoder_helper_funcs = …;
int ls7a2000_output_init(struct drm_device *ddev,
struct lsdc_display_pipe *dispipe,
struct i2c_adapter *ddc,
unsigned int pipe)
{ … }