#include <linux/dma-mapping.h>
#include <linux/seq_file.h>
#include <drm/drm_atomic.h>
#include <drm/drm_device.h>
#include <drm/drm_fb_dma_helper.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem_dma_helper.h>
#include "sti_compositor.h"
#include "sti_cursor.h"
#include "sti_plane.h"
#include "sti_vtg.h"
#define CUR_CTL …
#define CUR_VPO …
#define CUR_PML …
#define CUR_PMP …
#define CUR_SIZE …
#define CUR_CML …
#define CUR_AWS …
#define CUR_AWE …
#define CUR_CTL_CLUT_UPDATE …
#define STI_CURS_MIN_SIZE …
#define STI_CURS_MAX_SIZE …
struct dma_pixmap { … };
struct sti_cursor { … };
static const uint32_t cursor_supported_formats[] = …;
#define to_sti_cursor(x) …
#define DBGFS_DUMP(reg) …
static void cursor_dbg_vpo(struct seq_file *s, u32 val)
{ … }
static void cursor_dbg_size(struct seq_file *s, u32 val)
{ … }
static void cursor_dbg_pml(struct seq_file *s,
struct sti_cursor *cursor, u32 val)
{ … }
static void cursor_dbg_cml(struct seq_file *s,
struct sti_cursor *cursor, u32 val)
{ … }
static int cursor_dbg_show(struct seq_file *s, void *data)
{ … }
static struct drm_info_list cursor_debugfs_files[] = …;
static void cursor_debugfs_init(struct sti_cursor *cursor,
struct drm_minor *minor)
{ … }
static void sti_cursor_argb8888_to_clut8(struct sti_cursor *cursor, u32 *src)
{ … }
static void sti_cursor_init(struct sti_cursor *cursor)
{ … }
static int sti_cursor_atomic_check(struct drm_plane *drm_plane,
struct drm_atomic_state *state)
{ … }
static void sti_cursor_atomic_update(struct drm_plane *drm_plane,
struct drm_atomic_state *state)
{ … }
static void sti_cursor_atomic_disable(struct drm_plane *drm_plane,
struct drm_atomic_state *state)
{ … }
static const struct drm_plane_helper_funcs sti_cursor_helpers_funcs = …;
static int sti_cursor_late_register(struct drm_plane *drm_plane)
{ … }
static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = …;
struct drm_plane *sti_cursor_create(struct drm_device *drm_dev,
struct device *dev, int desc,
void __iomem *baseaddr,
unsigned int possible_crtcs)
{ … }