#include <drm/drm_atomic.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_blend.h>
#include <drm/drm_gem_atomic_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
#include "omap_dmm_tiler.h"
#include "omap_drv.h"
#define to_omap_plane_state(x) …
struct omap_plane_state { … };
#define to_omap_plane(x) …
struct omap_plane { … };
bool is_omap_plane_dual_overlay(struct drm_plane_state *state)
{ … }
static int omap_plane_prepare_fb(struct drm_plane *plane,
struct drm_plane_state *new_state)
{ … }
static void omap_plane_cleanup_fb(struct drm_plane *plane,
struct drm_plane_state *old_state)
{ … }
static void omap_plane_atomic_update(struct drm_plane *plane,
struct drm_atomic_state *state)
{ … }
static void omap_plane_atomic_disable(struct drm_plane *plane,
struct drm_atomic_state *state)
{ … }
#define FRAC_16_16(mult, div) …
static int omap_plane_atomic_check(struct drm_plane *plane,
struct drm_atomic_state *state)
{ … }
static const struct drm_plane_helper_funcs omap_plane_helper_funcs = …;
static void omap_plane_destroy(struct drm_plane *plane)
{ … }
void omap_plane_install_properties(struct drm_plane *plane,
struct drm_mode_object *obj)
{ … }
static void omap_plane_reset(struct drm_plane *plane)
{ … }
static struct drm_plane_state *
omap_plane_atomic_duplicate_state(struct drm_plane *plane)
{ … }
static void omap_plane_atomic_print_state(struct drm_printer *p,
const struct drm_plane_state *state)
{ … }
static int omap_plane_atomic_set_property(struct drm_plane *plane,
struct drm_plane_state *state,
struct drm_property *property,
u64 val)
{ … }
static int omap_plane_atomic_get_property(struct drm_plane *plane,
const struct drm_plane_state *state,
struct drm_property *property,
u64 *val)
{ … }
static const struct drm_plane_funcs omap_plane_funcs = …;
static bool omap_plane_supports_yuv(struct drm_plane *plane)
{ … }
struct drm_plane *omap_plane_init(struct drm_device *dev,
int idx, enum drm_plane_type type,
u32 possible_crtcs)
{ … }