linux/drivers/gpu/drm/imx/dcss/dcss-kms.h
<<
>>
Prefs
   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);
  37int dcss_crtc_init(struct dcss_crtc *crtc, struct drm_device *drm);
  38void dcss_crtc_deinit(struct dcss_crtc *crtc, struct drm_device *drm);
  39struct dcss_plane *dcss_plane_init(struct drm_device *drm,
  40                                   unsigned int possible_crtcs,
  41                                   enum drm_plane_type type,
  42                                   unsigned int zpos);
  43
  44#endif
  45