178e561f514fca4863c06a4af3501172e5627eb1 |
|
12-Oct-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
drm/armada: convert to use vblank_on/off calls A future commit changes the way various vblank calls behave, which causes drivers to break. Converting to use the drm_crtc_vblank_on/off calls avoids this breakage. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
c5488307dd679ea3fc23fec77dbf27191c2becda |
|
12-Oct-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
drm/armada: fix page_flip refcounting leak A refcounting leak was found of the original frame buffer attached to the CRTC when using the page_flip ioctl, resulting in the frame buffer never being freed. This was not obvious initially, as if the page flip subsequently re-attaches the original frame buffer, the refcounts will be balanced. However, if the original frame buffer is freed, then it will be leaked. Fix this by ensuring that we take a reference on the incoming fb, but rely on the queued work to drop that ref count. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
9611cb93fa65dde199f4f888bd034ffc80c7adf0 |
|
15-Jun-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
drm/armada: register crtc with port Register the CRTC with the port node so that the DRM OF helpers can find the appropriate CRTC. This is important so that encoders can identify their corresponding possible CRTCs. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
d8c96083cf5e4a910c20836414e8a06ebcf07317 |
|
22-Apr-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
drm/armada: permit CRTCs to be registered as separate devices Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
42e62ba7a484e12a77b9e330a29bbf7c99d3e60e |
|
22-Apr-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
drm/armada: make variant a CRTC thing Move the variant pointer into the armada_crtc structure, and update for the resulting changes. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
3ecea269959afaae50b001deb294cfb9539dbea3 |
|
22-Apr-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
drm/armada: move variant initialisation to CRTC init Move the variant initialisation entirely to the CRTC init function - the variant support is really about the CRTC properties than the whole system, and we want to treat each CRTC individually when we support DT. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
d016540722bb412ffa8376a9db0de757ce915bfb |
|
22-Apr-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
drm/armada: use number of CRTCs registered Use the number of CRTCs registered to size the vblank arrays rather than our own count. Number CRTCs using this as well. This permits us to register CRTCs as components in the near future rather than as part of a single device. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
e5d9ddfbb79667fb4b16db07c3282a2304fbf3ff |
|
26-Apr-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
drm/armada: move IRQ handling into CRTC Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
c9d53c0f2d23c792e4b9cf1551b63de4516f839e |
|
11-Jun-2014 |
Jingoo Han <jg1.han@samsung.com> |
devres: remove devm_request_and_ioremap() devm_request_and_ioremap() was obsoleted by the commit 7509657 ("lib: devres: Introduce devm_ioremap_resource()") and has been deprecated for a long time. So, let's remove this function. In addition, all usages of devm_request_and_ioremap() are also removed. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
c39b06951f1dc2e384650288676c5b7dcc0ec92c |
|
07-Apr-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
DRM: armada: fix corruption while loading cursors Loading cursors to the LCD controller's SRAM can be corrupted when the configured pixel clock is relatively slow. This seems to be caused when we write back-to-back to the SRAM registers. There doesn't appear to be any status register we can read to check when an access has completed. Inserting a dummy read between the writes appears to fix the problem. Cc: <stable@vger.kernel.org> # 3.13 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
f4510a2752b75ad5847b7935b68c233cab497f97 |
|
02-Apr-2014 |
Matt Roper <matthew.d.roper@intel.com> |
drm: Replace crtc fb with primary plane fb (v3) Now that CRTC's have a primary plane, there's no need to track the framebuffer in the CRTC. Replace all references to the CRTC fb with the primary plane's fb. This patch was generated by the Coccinelle semantic patching tool using the following rules: @@ struct drm_crtc C; @@ - (C).fb + C.primary->fb @@ struct drm_crtc *C; @@ - (C)->fb + C->primary->fb v3: Generate patch via coccinelle. Actual removal of crtc->fb has been moved to a subsequent patch. v2: Fixup several lingering crtc->fb instances that were missed in the first patch iteration. [Rob Clark] Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Rob Clark <robdclark@gmail.com>
|
662af0d8228ced3c7b3d3012a73dce929fc27574 |
|
19-May-2013 |
Russell King <rmk+kernel@arm.linux.org.uk> |
DRM: Armada: Add support for ARGB 32x64 or 64x32 hardware cursors This patch adds ARGB hardware cursor support to the DRM driver for the Marvell Armada SoCs. ARGB cursors are supported at either 32x64 or 64x32 resolutions. 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>
|
96f60e37dc66091bde8d5de136ff6fda09f2d799 |
|
15-Aug-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
DRM: Armada: Add Armada DRM driver 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>
|