xref: /openbmc/linux/drivers/gpu/drm/omapdrm/omap_irq.h (revision caab277b)
1caab277bSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2b5561412SLaurent Pinchart /*
3b5561412SLaurent Pinchart  * omap_irq.h -- OMAP DRM IRQ Handling
4b5561412SLaurent Pinchart  *
5b5561412SLaurent Pinchart  * Copyright (C) 2011 Texas Instruments
6b5561412SLaurent Pinchart  * Author: Rob Clark <rob@ti.com>
7b5561412SLaurent Pinchart  */
8b5561412SLaurent Pinchart 
9b5561412SLaurent Pinchart #ifndef __OMAPDRM_IRQ_H__
10b5561412SLaurent Pinchart #define __OMAPDRM_IRQ_H__
11b5561412SLaurent Pinchart 
12b5561412SLaurent Pinchart #include <linux/types.h>
13b5561412SLaurent Pinchart 
14b5561412SLaurent Pinchart struct drm_crtc;
15b5561412SLaurent Pinchart struct drm_device;
16b5561412SLaurent Pinchart struct omap_irq_wait;
17b5561412SLaurent Pinchart 
18b5561412SLaurent Pinchart int omap_irq_enable_vblank(struct drm_crtc *crtc);
19b5561412SLaurent Pinchart int omap_irq_enable_framedone(struct drm_crtc *crtc, bool enable);
20b5561412SLaurent Pinchart void omap_irq_disable_vblank(struct drm_crtc *crtc);
21b5561412SLaurent Pinchart void omap_drm_irq_uninstall(struct drm_device *dev);
22b5561412SLaurent Pinchart int omap_drm_irq_install(struct drm_device *dev);
23b5561412SLaurent Pinchart 
24dfe9cfccSLaurent Pinchart struct omap_irq_wait *omap_irq_wait_init(struct drm_device *dev,
25b5561412SLaurent Pinchart 		u32 irqmask, int count);
26b5561412SLaurent Pinchart int omap_irq_wait(struct drm_device *dev, struct omap_irq_wait *wait,
27b5561412SLaurent Pinchart 		unsigned long timeout);
28b5561412SLaurent Pinchart 
29 #endif /* __OMAPDRM_IRQ_H__ */
30