1
linux/drivers/staging
Rob Clark cd5351f4d2 staging: add omapdrm DRM/KMS driver for TI OMAP platforms
A DRM display driver for TI OMAP platform.  Similar to omapfb (fbdev)
and omap_vout (v4l2 display) drivers in the past, this driver uses the
DSS2 driver to access the display hardware, including support for
HDMI, DVI, and various types of LCD panels.  And it implements GEM
support for buffer allocation (for KMS as well as offscreen buffers
used by the xf86-video-omap userspace xorg driver).

The driver maps CRTCs to overlays, encoders to overlay-managers, and
connectors to dssdev's.  Note that this arrangement might change slightly
when support for drm_plane overlays is added.

For GEM support, non-scanout buffers are using the shmem backed pages
provided by GEM core (In drm_gem_object_init()).  In the case of scanout
buffers, which need to be physically contiguous, those are allocated
with CMA and use drm_gem_private_object_init().

See userspace xorg driver:
git://github.com/robclark/xf86-video-omap.git

Refer to this link for CMA (Continuous Memory Allocator):
http://lkml.org/lkml/2011/8/19/302

Links to previous versions of the patch:
v1: http://lwn.net/Articles/458137/
v2: http://patches.linaro.org/4156/
v3: http://patches.linaro.org/4688/
v4: http://patches.linaro.org/4791/

History:

v5: move headers from include/drm at Greg KH's request, minor rebasing
    on 3.2-rc1, pull in private copies of drm_gem_{get,put}_pages()
    because "drm/gem: add functions to get/put pages" patch is not
    merged yet
v4: bit of rework of encoder/connector _dpms() code, modeset_init()
    rework to not use nested functions, update TODO.txt
v3: minor cleanups, improved error handling for dev_load(), some minor
    API changes that will be needed later for tiled buffer support
v2: replace omap_vram with CMA for scanout buffer allocation, remove
    unneeded functions, use dma_addr_t for physical addresses, error
    handling cleanup, refactor attach/detach pages into common drm
    functions, split non-userspace-facing API into omap_priv.h, remove
    plugin API

v1: original

Signed-off-by: Rob Clark <rob@ti.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-26 17:43:30 -08:00
..
asus_oled
bcm Staging: bcm: Fix semaphore locking error when downloading firmware. 2011-11-26 17:14:48 -08:00
comedi Staging: comedi: fix brace coding style issue in ni_atmio.c 2011-10-17 15:11:30 -07:00
cptm1217
crystalhd
cxt1e1 staging: Add module.h to more drivers implicitly using it. 2011-10-31 19:32:10 -04:00
echo
et131x staging: et131x: Remove section comments 2011-11-26 16:21:24 -08:00
frontier
ft1000
gma500 gma500: mark staging broken 2011-11-26 16:05:13 -08:00
hv staging: hv: Use kmemdup rather than duplicating its implementation 2011-11-26 17:03:56 -08:00
iio Staging: iio: fix endian conversion in ad7298_scan_direct() 2011-11-26 16:55:38 -08:00
intel_sst staging: Add module.h to more drivers implicitly using it. 2011-10-31 19:32:10 -04:00
keucr
line6 Staging: line6: Use kmemdup rather than duplicating its implementation 2011-11-26 16:14:57 -08:00
media media/staging: fix allyesconfig build error 2011-11-17 10:29:02 -02:00
mei staging/mei: fix check for allocating host client id 2011-11-26 16:05:14 -08:00
nvec staging: nvec: add device tree support 2011-11-26 17:17:14 -08:00
octeon STAGING: octeon-ethernet: Fix compile error caused by skb_frag_struct change 2011-11-09 17:14:27 +00:00
olpc_dcon
omapdrm staging: add omapdrm DRM/KMS driver for TI OMAP platforms 2011-11-26 17:43:30 -08:00
panel
phison
pohmelfs filesystems: add set_nlink() 2011-11-02 12:53:43 +01:00
quatech_usb2
quickstart
rtl8187se Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2011-10-26 15:39:02 +02:00
rtl8192e staging: rtl8192e: Use kmemdup rather than duplicating its implementation 2011-11-26 17:21:17 -08:00
rtl8192u Staging: rtl8192u: remove api.c file 2011-11-26 16:25:54 -08:00
rtl8712 drivers/staging/rtl8712/rtl871x_mlme.c: eliminate a null pointer dereference 2011-11-26 17:19:23 -08:00
rts5139 staging: Add export.h for THIS_MODULE/EXPORT_SYMBOL to drivers/staging users. 2011-10-31 19:32:08 -04:00
rts_pstor drivers: staging: rts_pstor fixed checkpatch warnings 2011-10-17 15:17:17 -07:00
sbe-2t3e3
sep Staging: sep: potential buffer overflow in ioctl 2011-11-26 17:23:57 -08:00
serial m68k/serial: Remove obsolete IRQ_FLG_* users 2011-11-26 16:22:27 -08:00
serqt_usb2
slicoss staging: slicoss depends on NET 2011-11-18 15:00:48 -08:00
sm7xx
speakup
ste_rmi4
tidspbridge staging: tidspbridge: MMU2 registers are limited to 32-bit data access 2011-10-19 13:42:49 -07:00
usbip staging: Add module.h to more drivers implicitly using it. 2011-10-31 19:32:10 -04:00
vme Driver for GE PIO2 VME Card 2011-11-26 17:25:38 -08:00
vt6655 Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2011-10-26 15:39:02 +02:00
vt6656 Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2011-10-26 15:39:02 +02:00
winbond staging: Add module.h to more drivers implicitly using it. 2011-10-31 19:32:10 -04:00
wlags49_h2 staging: Add module.h to more drivers implicitly using it. 2011-10-31 19:32:10 -04:00
wlags49_h25 Staging: wlags49_h25: Makefile: remove unneeded stuff 2011-10-18 13:36:04 -07:00
wlan-ng
xgifb Merge branch 'fbdev-next' of git://github.com/schandinat/linux-2.6 2011-10-30 15:30:01 -07:00
zcache Merge branch 'staging-next' into Linux 3.1 2011-10-25 09:18:11 +02:00
zram Merge branch 'for-3.2/core' of git://git.kernel.dk/linux-block 2011-11-04 17:06:58 -07:00
Kconfig staging: add omapdrm DRM/KMS driver for TI OMAP platforms 2011-11-26 17:43:30 -08:00
Makefile staging: add omapdrm DRM/KMS driver for TI OMAP platforms 2011-11-26 17:43:30 -08:00
staging.c