
This is just used for cleanup in preclose, and with the reworked event handling code this is now done properly by the core. Nuke it! But it also shows that arc totally fails at sending out drm events for flips. Next patch will hack that up. v2: Rebase it! Cc: Carlos Palminha <palminha@synopsys.com> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: linux-snps-arc@lists.infradead.org Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1465388359-8070-2-git-send-email-daniel.vetter@ffwll.ch
50 lines
1.4 KiB
C
50 lines
1.4 KiB
C
/*
|
|
* ARC PGU DRM driver.
|
|
*
|
|
* Copyright (C) 2016 Synopsys, Inc. (www.synopsys.com)
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
*/
|
|
|
|
#ifndef _ARCPGU_H_
|
|
#define _ARCPGU_H_
|
|
|
|
struct arcpgu_drm_private {
|
|
void __iomem *regs;
|
|
struct clk *clk;
|
|
struct drm_fbdev_cma *fbdev;
|
|
struct drm_framebuffer *fb;
|
|
struct drm_crtc crtc;
|
|
struct drm_plane *plane;
|
|
};
|
|
|
|
#define crtc_to_arcpgu_priv(x) container_of(x, struct arcpgu_drm_private, crtc)
|
|
|
|
static inline void arc_pgu_write(struct arcpgu_drm_private *arcpgu,
|
|
unsigned int reg, u32 value)
|
|
{
|
|
iowrite32(value, arcpgu->regs + reg);
|
|
}
|
|
|
|
static inline u32 arc_pgu_read(struct arcpgu_drm_private *arcpgu,
|
|
unsigned int reg)
|
|
{
|
|
return ioread32(arcpgu->regs + reg);
|
|
}
|
|
|
|
int arc_pgu_setup_crtc(struct drm_device *dev);
|
|
int arcpgu_drm_hdmi_init(struct drm_device *drm, struct device_node *np);
|
|
struct drm_fbdev_cma *arcpgu_fbdev_cma_init(struct drm_device *dev,
|
|
unsigned int preferred_bpp, unsigned int num_crtc,
|
|
unsigned int max_conn_count);
|
|
|
|
#endif
|