mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
- best_encoder cleanup from Boris.
- drm_simple_display_pipe helpers from Noralf. Looks really neat imo, and
there's 2-3 in-flight drivers which look like they could/should use it.
Anyway, with this we have now helpers and everything in place to write
drivers for simple hw with fewer complexity in the driver than what
fbdev would need. That was the last complaint I've heard from embedded
folks after we made atomic happen. Mission accomplished!
- nonblocking commit helpers for atomic, plus a bunch of driver patches
for that.
- Prep patch from Laurent for cleaned up pixel format functions.
- More of Gustavo's cleanup for drm vblank functions.
- and a few oddball things in between
Plus the merge of docs-next to prep the docbook->sphinx conversion as
discussed. Jon cc'ed as fyi.
* tag 'topic/drm-misc-2016-06-15' of git://anongit.freedesktop.org/drm-intel: (108 commits)
drm/atomic-helpers: Clear up cleanup_done a bit
drm/atomic-helpers: Stall on the right commit
drm/vmwgfx: use *_32_bits() macros
drm/virtio: Don't reinvent a flipping wheel
drm/i915: Fix missing unlock on error in i915_ppgtt_info()
drm/gma500: use drm_crtc_vblank_{on,off}()
drm/radeon: use crtc directly in drm_crtc_vblank_put()
drm/amdgpu: use crtc directly in drm_crtc_vblank_put()
drm/radeon: use drm_crtc_vblank_{on,off}()
drm/amdgpu: use drm_crtc_vblank_{on,off}()
drm: make drm_vblank_{get,put}() static
drm: remove legacy drm_arm_vblank_event()
drm: remove legacy drm_send_vblank_event()
drm/nouveau: replace legacy vblank helpers
drm/prime: fix error path deadlock fail
drm/dsi: Add uevent callback
drm: fb: cma: fix memory leak
drm: i915: Rely on the default ->best_encoder() behavior where appropriate
drm: Add helper for simple display pipeline
drm/bridge: dw-hdmi: Use drm_atomic_helper_best_encoder()
...
51 lines
1.4 KiB
C
51 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);
|
|
int arcpgu_drm_sim_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
|