| /* SPDX-License-Identifier: GPL-2.0 */ |
| * Copyright (C) 2018 Texas Instruments Incorporated - https://www.ti.com/ |
| * Author: Tomi Valkeinen <tomi.valkeinen@ti.com> |
| #include <linux/completion.h> |
| #include <drm/drm_crtc.h> |
| #define to_tidss_crtc(c) container_of((c), struct tidss_crtc, crtc) |
| struct drm_pending_vblank_event *event; |
| struct completion framedone_completion; |
| #define to_tidss_crtc_state(x) container_of(x, struct tidss_crtc_state, base) |
| struct tidss_crtc_state { |
| struct drm_crtc_state base; |
| void tidss_crtc_vblank_irq(struct drm_crtc *crtc); |
| void tidss_crtc_framedone_irq(struct drm_crtc *crtc); |
| void tidss_crtc_error_irq(struct drm_crtc *crtc, u64 irqstatus); |
| struct tidss_crtc *tidss_crtc_create(struct tidss_device *tidss, |
| struct drm_plane *primary); |