Files
linux/drivers/gpu/drm/verisilicon/vs_drm.h
Icenowy Zheng dbf21777ca drm: verisilicon: add a driver for Verisilicon display controllers
This is a from-scratch driver targeting Verisilicon DC-series display
controllers, which feature self-identification functionality like their
GC-series GPUs.

Only DC8200 is being supported now, and only the main framebuffer is set
up (as the DRM primary plane). Support for more DC models and more
features is my further targets.

As the display controller is delivered to SoC vendors as a whole part,
this driver does not use component framework and extra bridges inside a
SoC is expected to be implemented as dedicated bridges (this driver
properly supports bridge chaining).

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Tested-by: Han Gao <gaohan@iscas.ac.cn>
Tested-by: Michal Wilczynski <m.wilczynski@samsung.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patch.msgid.link/20260129023922.1527729-4-zhengxingda@iscas.ac.cn
2026-02-05 09:50:28 +01:00

29 lines
596 B
C

/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (C) 2025 Icenowy Zheng <uwu@icenowy.me>
*/
#ifndef _VS_DRM_H_
#define _VS_DRM_H_
#include <linux/platform_device.h>
#include <linux/types.h>
#include <drm/drm_device.h>
struct vs_dc;
struct vs_drm_dev {
struct drm_device base;
struct vs_dc *dc;
struct vs_crtc *crtcs[VSDC_MAX_OUTPUTS];
};
int vs_drm_initialize(struct vs_dc *dc, struct platform_device *pdev);
void vs_drm_finalize(struct vs_dc *dc);
void vs_drm_shutdown_handler(struct vs_dc *dc);
void vs_drm_handle_irq(struct vs_dc *dc, u32 irqs);
#endif /* _VS_DRM_H_ */