1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * shmob_drm_crtc.h -- SH Mobile DRM CRTCs 4 * 5 * Copyright (C) 2012 Renesas Electronics Corporation 6 * 7 * Laurent Pinchart (laurent.pinchart@ideasonboard.com) 8 */ 9 10#ifndef __SHMOB_DRM_CRTC_H__ 11#define __SHMOB_DRM_CRTC_H__ 12 13#include <drm/drm_crtc.h> 14#include <drm/drm_connector.h> 15#include <drm/drm_encoder.h> 16 17#include <linux/wait.h> 18 19#include <video/videomode.h> 20 21struct drm_pending_vblank_event; 22struct shmob_drm_device; 23struct shmob_drm_format_info; 24 25struct shmob_drm_crtc { 26 struct drm_crtc base; 27 28 struct drm_pending_vblank_event *event; 29 wait_queue_head_t flip_wait; 30}; 31 32/* Legacy connector */ 33struct shmob_drm_connector { 34 struct drm_connector base; 35 struct drm_encoder *encoder; 36 const struct videomode *mode; 37}; 38 39int shmob_drm_crtc_create(struct shmob_drm_device *sdev); 40void shmob_drm_crtc_finish_page_flip(struct shmob_drm_crtc *scrtc); 41 42int shmob_drm_encoder_create(struct shmob_drm_device *sdev); 43int shmob_drm_connector_create(struct shmob_drm_device *sdev, 44 struct drm_encoder *encoder); 45 46#endif /* __SHMOB_DRM_CRTC_H__ */ 47