OpenCloudOS-Kernel/drivers/gpu/drm/atmel-hlcdc
Boris Brezillon 9a45d33cdf drm/atmel-hlcdc: Simplify the HLCDC layer logic
An HLCDC layers in Atmel's nomenclature is either a DRM plane or a 'Post
Processing Layer' which can be used to output the results of the HLCDC
composition in a memory buffer.

atmel_hlcdc_layer.c was designed to be generic enough to be re-usable in
both cases, but we're not exposing the post-processing layer yet, and
even if we were, I'm not sure the code would provide the necessary tools
to manipulate this kind of layer.

Moreover, the code in atmel_hlcdc_{plane,layer}.c was designed before the
atomic modesetting API, and was trying solve the
check-setting/commit-if-ok/rollback-otherwise problem, which is now
entirely solved by the existing core infrastructure.

And finally, the code in atmel_hlcdc_layer.c is over-complicated compared
to what we really need. This rework is a good excuse to simplify it. Note
that this rework solves an existing resource leak (leading to a -EBUSY
error) which I failed to clearly identify.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Eric Anholt <eric@anholt.net>
Tested-by: Nicolas Ferre <nicolas.ferre@microchip.com>
2017-02-28 11:57:56 +01:00
..
Kconfig drm/atmel-hlcdc: make fbdev support really optional 2016-07-15 10:28:33 -04:00
Makefile drm/atmel-hlcdc: Simplify the HLCDC layer logic 2017-02-28 11:57:56 +01:00
atmel_hlcdc_crtc.c drm/atmel-hlcdc: Simplify the HLCDC layer logic 2017-02-28 11:57:56 +01:00
atmel_hlcdc_dc.c drm/atmel-hlcdc: Simplify the HLCDC layer logic 2017-02-28 11:57:56 +01:00
atmel_hlcdc_dc.h drm/atmel-hlcdc: Simplify the HLCDC layer logic 2017-02-28 11:57:56 +01:00
atmel_hlcdc_output.c drm: bridge: Link encoder and bridge in core code 2016-12-18 16:31:45 +05:30
atmel_hlcdc_plane.c drm/atmel-hlcdc: Simplify the HLCDC layer logic 2017-02-28 11:57:56 +01:00