linux/drivers/gpu/drm/sti/sti_cursor.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) STMicroelectronics SA 2014
 * Authors: Vincent Abriou <[email protected]>
 *          Fabien Dessenne <[email protected]>
 *          for STMicroelectronics.
 */

#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"

/* Registers */
#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

/*
 * pixmap dma buffer structure
 *
 * @paddr:  physical address
 * @size:   buffer size
 * @base:   virtual address
 */
struct dma_pixmap {};

/*
 * STI Cursor structure
 *
 * @sti_plane:    sti_plane structure
 * @dev:          driver device
 * @regs:         cursor registers
 * @width:        cursor width
 * @height:       cursor height
 * @clut:         color look up table
 * @clut_paddr:   color look up table physical address
 * @pixmap:       pixmap dma buffer (clut8-format cursor)
 */
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)
{}