![Rob Clark](/assets/img/avatar_default.png)
This patch changes the omapdrm KMS to bypass the omapdss "compat" layer and use the core omapdss API directly. This solves some layering issues that would cause unpin confusion vs GO bit status, because we would not know whether a particular pageflip or overlay update has hit the screen or not. Now instead we explicitly manage the GO bits in dispc and handle the vblank/framedone interrupts ourself so that we always know which buffers are being scanned out at any given time, and so on. As an added bonus, we no longer leave the last overlay buffer pinned when the display is disabled, and have been able to add the previously missing vblank event handling. v1: original v2: rebased on latest staging-next and omapdss patches from Tomi and review comments from Archit Taneja Signed-off-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Archit Taneja <archit@ti.com> Reviewed-by: Sumit Semwal <sumit.semwal@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
33 lines
1.6 KiB
Plaintext
33 lines
1.6 KiB
Plaintext
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
|