linux/drivers/gpu/drm/exynos/exynos5433_drm_decon.c

// SPDX-License-Identifier: GPL-2.0-only
/* drivers/gpu/drm/exynos5433_drm_decon.c
 *
 * Copyright (C) 2015 Samsung Electronics Co.Ltd
 * Authors:
 *	Joonyoung Shim <[email protected]>
 *	Hyungwon Hwang <[email protected]>
 */

#include <linux/clk.h>
#include <linux/component.h>
#include <linux/iopoll.h>
#include <linux/irq.h>
#include <linux/mfd/syscon.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>

#include <drm/drm_blend.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_vblank.h>

#include "exynos_drm_crtc.h"
#include "exynos_drm_drv.h"
#include "exynos_drm_fb.h"
#include "exynos_drm_plane.h"
#include "regs-decon5433.h"

#define DSD_CFG_MUX
#define DSD_CFG_MUX_TE_UNMASK_GLOBAL

#define WINDOWS_NR
#define PRIMARY_WIN
#define CURSON_WIN

#define MIN_FB_WIDTH_FOR_16WORD_BURST

#define I80_HW_TRG
#define IFTYPE_HDMI

static const char * const decon_clks_name[] =;

struct decon_context {};

static const uint32_t decon_formats[] =;

static const enum drm_plane_type decon_win_types[WINDOWS_NR] =;

static const unsigned int capabilities[WINDOWS_NR] =;

static inline void decon_set_bits(struct decon_context *ctx, u32 reg, u32 mask,
				  u32 val)
{}

static int decon_enable_vblank(struct exynos_drm_crtc *crtc)
{}

static void decon_disable_vblank(struct exynos_drm_crtc *crtc)
{}

/* return number of starts/ends of frame transmissions since reset */
static u32 decon_get_frame_count(struct decon_context *ctx, bool end)
{}

static void decon_setup_trigger(struct decon_context *ctx)
{}

static void decon_commit(struct exynos_drm_crtc *crtc)
{}

static void decon_win_set_bldeq(struct decon_context *ctx, unsigned int win,
				unsigned int alpha, unsigned int pixel_alpha)
{}

static void decon_win_set_bldmod(struct decon_context *ctx, unsigned int win,
				 unsigned int alpha, unsigned int pixel_alpha)
{}

static void decon_win_set_pixfmt(struct decon_context *ctx, unsigned int win,
				 struct drm_framebuffer *fb)
{}

static void decon_shadow_protect(struct decon_context *ctx, bool protect)
{}

static void decon_atomic_begin(struct exynos_drm_crtc *crtc)
{}

#define BIT_VAL(x, e, s)
#define COORDINATE_X(x)
#define COORDINATE_Y(x)

static void decon_update_plane(struct exynos_drm_crtc *crtc,
			       struct exynos_drm_plane *plane)
{}

static void decon_disable_plane(struct exynos_drm_crtc *crtc,
				struct exynos_drm_plane *plane)
{}

static void decon_atomic_flush(struct exynos_drm_crtc *crtc)
{}

static void decon_swreset(struct decon_context *ctx)
{}

static void decon_atomic_enable(struct exynos_drm_crtc *crtc)
{}

static void decon_atomic_disable(struct exynos_drm_crtc *crtc)
{}

static irqreturn_t decon_te_irq_handler(int irq, void *dev_id)
{}

static void decon_clear_channels(struct exynos_drm_crtc *crtc)
{}

static enum drm_mode_status decon_mode_valid(struct exynos_drm_crtc *crtc,
		const struct drm_display_mode *mode)
{}

static const struct exynos_drm_crtc_ops decon_crtc_ops =;

static int decon_bind(struct device *dev, struct device *master, void *data)
{}

static void decon_unbind(struct device *dev, struct device *master, void *data)
{}

static const struct component_ops decon_component_ops =;

static void decon_handle_vblank(struct decon_context *ctx)
{}

static irqreturn_t decon_irq_handler(int irq, void *dev_id)
{}

static int exynos5433_decon_suspend(struct device *dev)
{}

static int exynos5433_decon_resume(struct device *dev)
{}

static DEFINE_RUNTIME_DEV_PM_OPS(exynos5433_decon_pm_ops,
				 exynos5433_decon_suspend,
				 exynos5433_decon_resume, NULL);

static const struct of_device_id exynos5433_decon_driver_dt_match[] =;
MODULE_DEVICE_TABLE(of, exynos5433_decon_driver_dt_match);

static int decon_conf_irq(struct decon_context *ctx, const char *name,
		irq_handler_t handler, unsigned long int flags)
{}

static int exynos5433_decon_probe(struct platform_device *pdev)
{}

static void exynos5433_decon_remove(struct platform_device *pdev)
{}

struct platform_driver exynos5433_decon_driver =;