History

DRM: Armada: Add Armada DRM driver

This patch adds support for the pair of LCD controllers on the Marvell Armada 510 SoCs. This driver supports: - multiple contiguous scanout buffers for video and graphics - shm backed cacheable buffer objects for X pixmaps for Vivante GPU acceleration - dual lcd0 and lcd1 crt operation - video overlay on each LCD crt via DRM planes - page flipping of the main scanout buffers - DRM prime for buffer export/import This driver is trivial to extend to other Armada SoCs. Included in this commit is the core driver with no output support; output support is platform and encoder driver dependent.

Russell King committed 14 years ago

Commit 96f60e31 parent 15c03dd24 files · +4015 −0Browse files

Showing the changes to include/uapi (1 of 24 files). Show all

Unified · Split

include/uapi/drm/armada_drm.h+45−0
@@ -0,0 +1,45 @@
1+/*
2+ * Copyright (C) 2012 Russell King
3+ * With inspiration from the i915 driver
4+ *
5+ * This program is free software; you can redistribute it and/or modify
6+ * it under the terms of the GNU General Public License version 2 as
7+ * published by the Free Software Foundation.
8+ */
9+#ifndef DRM_ARMADA_IOCTL_H
10+#define DRM_ARMADA_IOCTL_H
11+
12+#define DRM_ARMADA_GEM_CREATE 0x00
13+#define DRM_ARMADA_GEM_MMAP 0x02
14+#define DRM_ARMADA_GEM_PWRITE 0x03
15+
16+#define ARMADA_IOCTL(dir, name, str) \
17+ DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str)
18+
19+struct drm_armada_gem_create {
20+ uint32_t handle;
21+ uint32_t size;
22+};
23+#define DRM_IOCTL_ARMADA_GEM_CREATE \
24+ ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create)
25+
26+struct drm_armada_gem_mmap {
27+ uint32_t handle;
28+ uint32_t pad;
29+ uint64_t offset;
30+ uint64_t size;
31+ uint64_t addr;
32+};
33+#define DRM_IOCTL_ARMADA_GEM_MMAP \
34+ ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap)
35+
36+struct drm_armada_gem_pwrite {
37+ uint64_t ptr;
38+ uint32_t handle;
39+ uint32_t offset;
40+ uint32_t size;
41+};
42+#define DRM_IOCTL_ARMADA_GEM_PWRITE \
43+ ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite)
44+
45+#endif

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t