linux/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * RZ/G2L Display Unit VSP-Based Compositor
 *
 * Copyright (C) 2023 Renesas Electronics Corporation
 *
 * Based on rcar_du_vsp.c
 */

#include <drm/drm_atomic.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_blend.h>
#include <drm/drm_crtc.h>
#include <drm/drm_fb_dma_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem_atomic_helper.h>
#include <drm/drm_gem_dma_helper.h>
#include <drm/drm_managed.h>
#include <drm/drm_vblank.h>

#include <linux/bitops.h>
#include <linux/dma-mapping.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/scatterlist.h>

#include <media/vsp1.h>

#include "rzg2l_du_drv.h"
#include "rzg2l_du_kms.h"
#include "rzg2l_du_vsp.h"

static void rzg2l_du_vsp_complete(void *private, unsigned int status, u32 crc)
{}

void rzg2l_du_vsp_enable(struct rzg2l_du_crtc *crtc)
{}

void rzg2l_du_vsp_disable(struct rzg2l_du_crtc *crtc)
{}

void rzg2l_du_vsp_atomic_flush(struct rzg2l_du_crtc *crtc)
{}

struct drm_plane *rzg2l_du_vsp_get_drm_plane(struct rzg2l_du_crtc *crtc,
					     unsigned int pipe_index)
{}

static const u32 rzg2l_du_vsp_formats[] =;

static void rzg2l_du_vsp_plane_setup(struct rzg2l_du_vsp_plane *plane)
{}

static int __rzg2l_du_vsp_plane_atomic_check(struct drm_plane *plane,
					     struct drm_plane_state *state,
					     const struct rzg2l_du_format_info **format)
{}

static int rzg2l_du_vsp_plane_atomic_check(struct drm_plane *plane,
					   struct drm_atomic_state *state)
{}

static void rzg2l_du_vsp_plane_atomic_update(struct drm_plane *plane,
					     struct drm_atomic_state *state)
{}

static const struct drm_plane_helper_funcs rzg2l_du_vsp_plane_helper_funcs =;

static struct drm_plane_state *
rzg2l_du_vsp_plane_atomic_duplicate_state(struct drm_plane *plane)
{}

static void rzg2l_du_vsp_plane_atomic_destroy_state(struct drm_plane *plane,
						    struct drm_plane_state *state)
{}

static void rzg2l_du_vsp_plane_reset(struct drm_plane *plane)
{}

static const struct drm_plane_funcs rzg2l_du_vsp_plane_funcs =;

static void rzg2l_du_vsp_cleanup(struct drm_device *dev, void *res)
{}

int rzg2l_du_vsp_init(struct rzg2l_du_vsp *vsp, struct device_node *np,
		      unsigned int crtcs)
{}