TODO
. add video decode/encode support (via syslink3 + codec-engine)
  . NOTE: with dmabuf this probably could be split into different driver
    so perhaps this TODO doesn't belong here
. where should we do eviction (detatch_pages())?  We aren't necessarily
  accessing the pages via a GART, so maybe we need some other threshold
  to put a cap on the # of pages that can be pin'd.  (It is mostly only
  of interest in case you have a swap partition/file.. which a lot of
  these devices do not.. but it doesn't hurt for the driver to do the
  right thing anyways.)
  . Use mm_shrinker to trigger unpinning pages.  Need to figure out how
    to handle next issue first (I think?)
  . Note TTM already has some mm_shrinker stuff..  maybe an argument to
    move to TTM?  Or maybe something that could be factored out in common?
. GEM/shmem backed pages can have existing mappings (kernel linear map,
  etc..), which isn't really ideal.
. Revisit GEM sync object infrastructure.. TTM has some framework for this
  already.  Possibly this could be refactored out and made more common?
  There should be some way to do this with less wheel-reinvention.
. Solve PM sequencing on resume.  DMM/TILER must be reloaded before any
  access is made from any component in the system.  Which means on suspend
  CRTC's should be disabled, and on resume the LUT should be reprogrammed
  before CRTC's are re-enabled, to prevent DSS from trying to DMA from a
  buffer mapped in DMM/TILER before LUT is reloaded.

Userspace:
. git://github.com/robclark/xf86-video-omap.git

Currently tested on
. OMAP3530 beagleboard
. OMAP4430 pandaboard
. OMAP4460 pandaboard
