#include <linux/pm_runtime.h>
#include <drm/drm.h>
#include <drm/drm_crtc.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_edid.h>
#include <drm/drm_modeset_helper_vtables.h>
#include <drm/drm_simple_kms_helper.h>
#include "cdv_device.h"
#include "psb_drv.h"
#include "psb_intel_drv.h"
#include "psb_intel_reg.h"
#define HDMI_NULL_PACKETS_DURING_VSYNC …
#define HDMI_BORDER_ENABLE …
#define HDMI_AUDIO_ENABLE …
#define HDMI_VSYNC_ACTIVE_HIGH …
#define HDMI_HSYNC_ACTIVE_HIGH …
#define HDMIB_PIPE_B_SELECT …
struct mid_intel_hdmi_priv { … };
static void cdv_hdmi_mode_set(struct drm_encoder *encoder,
struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode)
{ … }
static void cdv_hdmi_dpms(struct drm_encoder *encoder, int mode)
{ … }
static void cdv_hdmi_save(struct drm_connector *connector)
{ … }
static void cdv_hdmi_restore(struct drm_connector *connector)
{ … }
static enum drm_connector_status cdv_hdmi_detect(
struct drm_connector *connector, bool force)
{ … }
static int cdv_hdmi_set_property(struct drm_connector *connector,
struct drm_property *property,
uint64_t value)
{ … }
static int cdv_hdmi_get_modes(struct drm_connector *connector)
{ … }
static enum drm_mode_status cdv_hdmi_mode_valid(struct drm_connector *connector,
struct drm_display_mode *mode)
{ … }
static void cdv_hdmi_destroy(struct drm_connector *connector)
{ … }
static const struct drm_encoder_helper_funcs cdv_hdmi_helper_funcs = …;
static const struct drm_connector_helper_funcs
cdv_hdmi_connector_helper_funcs = …;
static const struct drm_connector_funcs cdv_hdmi_connector_funcs = …;
void cdv_hdmi_init(struct drm_device *dev,
struct psb_intel_mode_device *mode_dev, int reg)
{ … }