#include "vmwgfx_bo.h"
#include "vmwgfx_kms.h"
#include "vmwgfx_vkms.h"
#include <drm/drm_atomic.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_fourcc.h>
#define vmw_crtc_to_ldu(x) …
#define vmw_encoder_to_ldu(x) …
#define vmw_connector_to_ldu(x) …
struct vmw_legacy_display { … };
struct vmw_legacy_display_unit { … };
static void vmw_ldu_destroy(struct vmw_legacy_display_unit *ldu)
{ … }
static void vmw_ldu_crtc_destroy(struct drm_crtc *crtc)
{ … }
static int vmw_ldu_commit_list(struct vmw_private *dev_priv)
{ … }
static int vmw_ldu_fb_pin(struct vmw_framebuffer *vfb)
{ … }
static int vmw_ldu_fb_unpin(struct vmw_framebuffer *vfb)
{ … }
static int vmw_ldu_del_active(struct vmw_private *vmw_priv,
struct vmw_legacy_display_unit *ldu)
{ … }
static int vmw_ldu_add_active(struct vmw_private *vmw_priv,
struct vmw_legacy_display_unit *ldu,
struct vmw_framebuffer *vfb)
{ … }
static void vmw_ldu_crtc_mode_set_nofb(struct drm_crtc *crtc)
{ … }
static const struct drm_crtc_funcs vmw_legacy_crtc_funcs = …;
static void vmw_ldu_encoder_destroy(struct drm_encoder *encoder)
{ … }
static const struct drm_encoder_funcs vmw_legacy_encoder_funcs = …;
static void vmw_ldu_connector_destroy(struct drm_connector *connector)
{ … }
static const struct drm_connector_funcs vmw_legacy_connector_funcs = …;
static const struct
drm_connector_helper_funcs vmw_ldu_connector_helper_funcs = …;
static int vmw_kms_ldu_do_bo_dirty(struct vmw_private *dev_priv,
struct vmw_framebuffer *framebuffer,
unsigned int flags, unsigned int color,
struct drm_mode_rect *clips,
unsigned int num_clips);
static void
vmw_ldu_primary_plane_atomic_update(struct drm_plane *plane,
struct drm_atomic_state *state)
{ … }
static const struct drm_plane_funcs vmw_ldu_plane_funcs = …;
static const struct drm_plane_funcs vmw_ldu_cursor_funcs = …;
static const struct
drm_plane_helper_funcs vmw_ldu_cursor_plane_helper_funcs = …;
static const struct
drm_plane_helper_funcs vmw_ldu_primary_plane_helper_funcs = …;
static const struct drm_crtc_helper_funcs vmw_ldu_crtc_helper_funcs = …;
static int vmw_ldu_init(struct vmw_private *dev_priv, unsigned unit)
{ … }
int vmw_kms_ldu_init_display(struct vmw_private *dev_priv)
{ … }
int vmw_kms_ldu_close_display(struct vmw_private *dev_priv)
{ … }
static int vmw_kms_ldu_do_bo_dirty(struct vmw_private *dev_priv,
struct vmw_framebuffer *framebuffer,
unsigned int flags, unsigned int color,
struct drm_mode_rect *clips,
unsigned int num_clips)
{ … }