aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h
diff options
context:
space:
mode:
authorXu YiPing <xuyiping@hisilicon.com>2019-08-20 23:06:12 +0000
committerSam Ravnborg <sam@ravnborg.org>2019-08-21 19:15:37 +0200
commitc11a03f6eb5ff525c3253f693e31813ba4eabcbe (patch)
treea45ee9fc677eb2a3a89279b1fe1f65790ad420fe /drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h
parentdrm: kirin: Move workqueue to ade_hw_ctx structure (diff)
downloadlinux-dev-c11a03f6eb5ff525c3253f693e31813ba4eabcbe.tar.xz
linux-dev-c11a03f6eb5ff525c3253f693e31813ba4eabcbe.zip
drm: kirin: Move kirin_crtc, kirin_plane, kirin_format to kirin_drm_drv.h
As part of refactoring the kirin driver to better support different hardware revisions, this patch moves some shared structures and helpers to the common kirin_drm_drv.h These structures will later used by both kirin620 and future kirin960 driver Cc: Rongrong Zou <zourongrong@gmail.com> Cc: Xinliang Liu <z.liuxinliang@hisilicon.com> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: dri-devel <dri-devel@lists.freedesktop.org> Cc: Sam Ravnborg <sam@ravnborg.org> Acked-by: Xinliang Liu <z.liuxinliang@hisilicon.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Xu YiPing <xuyiping@hisilicon.com> [jstultz: reworded commit message] Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Link: https://patchwork.freedesktop.org/patch/msgid/20190820230626.23253-12-john.stultz@linaro.org
Diffstat (limited to 'drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h')
-rw-r--r--drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h
index 22d1291668cd..d47cbb427979 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h
@@ -9,6 +9,30 @@
#define MAX_CRTC 2
+#define to_kirin_crtc(crtc) \
+ container_of(crtc, struct kirin_crtc, base)
+
+#define to_kirin_plane(plane) \
+ container_of(plane, struct kirin_plane, base)
+
+/* kirin-format translate table */
+struct kirin_format {
+ u32 pixel_format;
+ u32 hw_format;
+};
+
+struct kirin_crtc {
+ struct drm_crtc base;
+ void *hw_ctx;
+ bool enable;
+};
+
+struct kirin_plane {
+ struct drm_plane base;
+ void *hw_ctx;
+ u32 ch;
+};
+
/* display controller init/cleanup ops */
struct kirin_dc_ops {
int (*init)(struct platform_device *pdev);