46 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Copyright 2019 NXP.4 */5 6#ifndef _DCSS_KMS_H_7#define _DCSS_KMS_H_8 9#include <drm/drm_encoder.h>10 11struct dcss_plane {12 struct drm_plane base;13 14 int ch_num;15};16 17struct dcss_crtc {18 struct drm_crtc base;19 struct drm_crtc_state *state;20 21 struct dcss_plane *plane[3];22 23 int irq;24 25 bool disable_ctxld_kick_irq;26};27 28struct dcss_kms_dev {29 struct drm_device base;30 struct dcss_crtc crtc;31 struct drm_encoder encoder;32 struct drm_connector *connector;33};34 35struct dcss_kms_dev *dcss_kms_attach(struct dcss_dev *dcss);36void dcss_kms_detach(struct dcss_kms_dev *kms);37void dcss_kms_shutdown(struct dcss_kms_dev *kms);38int dcss_crtc_init(struct dcss_crtc *crtc, struct drm_device *drm);39void dcss_crtc_deinit(struct dcss_crtc *crtc, struct drm_device *drm);40struct dcss_plane *dcss_plane_init(struct drm_device *drm,41 unsigned int possible_crtcs,42 enum drm_plane_type type,43 unsigned int zpos);44 45#endif46