 96f60e37dc
			
		
	
	
	96f60e37dc
	
	
	
		
			
			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. Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Reviewed-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (C) 2012 Russell King
 | |
|  *  With inspiration from the i915 driver
 | |
|  *
 | |
|  * 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.
 | |
|  */
 | |
| #ifndef DRM_ARMADA_IOCTL_H
 | |
| #define DRM_ARMADA_IOCTL_H
 | |
| 
 | |
| #define DRM_ARMADA_GEM_CREATE		0x00
 | |
| #define DRM_ARMADA_GEM_MMAP		0x02
 | |
| #define DRM_ARMADA_GEM_PWRITE		0x03
 | |
| 
 | |
| #define ARMADA_IOCTL(dir, name, str) \
 | |
| 	DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str)
 | |
| 
 | |
| struct drm_armada_gem_create {
 | |
| 	uint32_t handle;
 | |
| 	uint32_t size;
 | |
| };
 | |
| #define DRM_IOCTL_ARMADA_GEM_CREATE \
 | |
| 	ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create)
 | |
| 
 | |
| struct drm_armada_gem_mmap {
 | |
| 	uint32_t handle;
 | |
| 	uint32_t pad;
 | |
| 	uint64_t offset;
 | |
| 	uint64_t size;
 | |
| 	uint64_t addr;
 | |
| };
 | |
| #define DRM_IOCTL_ARMADA_GEM_MMAP \
 | |
| 	ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap)
 | |
| 
 | |
| struct drm_armada_gem_pwrite {
 | |
| 	uint64_t ptr;
 | |
| 	uint32_t handle;
 | |
| 	uint32_t offset;
 | |
| 	uint32_t size;
 | |
| };
 | |
| #define DRM_IOCTL_ARMADA_GEM_PWRITE \
 | |
| 	ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite)
 | |
| 
 | |
| #endif
 |