#include <linux/hyperv.h>
#include <drm/drm_damage_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_edid.h>
#include <drm/drm_format_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem_atomic_helper.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_gem_shmem_helper.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_simple_kms_helper.h>
#include "hyperv_drm.h"
static int hyperv_blit_to_vram_rect(struct drm_framebuffer *fb,
const struct iosys_map *vmap,
struct drm_rect *rect)
{ … }
static int hyperv_blit_to_vram_fullscreen(struct drm_framebuffer *fb,
const struct iosys_map *map)
{ … }
static int hyperv_connector_get_modes(struct drm_connector *connector)
{ … }
static const struct drm_connector_helper_funcs hyperv_connector_helper_funcs = …;
static const struct drm_connector_funcs hyperv_connector_funcs = …;
static inline int hyperv_conn_init(struct hyperv_drm_device *hv)
{ … }
static int hyperv_check_size(struct hyperv_drm_device *hv, int w, int h,
struct drm_framebuffer *fb)
{ … }
static void hyperv_pipe_enable(struct drm_simple_display_pipe *pipe,
struct drm_crtc_state *crtc_state,
struct drm_plane_state *plane_state)
{ … }
static int hyperv_pipe_check(struct drm_simple_display_pipe *pipe,
struct drm_plane_state *plane_state,
struct drm_crtc_state *crtc_state)
{ … }
static void hyperv_pipe_update(struct drm_simple_display_pipe *pipe,
struct drm_plane_state *old_state)
{ … }
static const struct drm_simple_display_pipe_funcs hyperv_pipe_funcs = …;
static const uint32_t hyperv_formats[] = …;
static const uint64_t hyperv_modifiers[] = …;
static inline int hyperv_pipe_init(struct hyperv_drm_device *hv)
{ … }
static enum drm_mode_status
hyperv_mode_valid(struct drm_device *dev,
const struct drm_display_mode *mode)
{ … }
static const struct drm_mode_config_funcs hyperv_mode_config_funcs = …;
int hyperv_mode_config_init(struct hyperv_drm_device *hv)
{ … }