Convert the primary plane as a whole to use its atomic state and the
transitional helpers. The CRTC is also switched to use the transitional
helpers for mode_set() and mode_set_base().
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 308
Only overlay makes use of these now, so move these to the overlay code.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.h| 2 --
drivers/gpu/drm/armada/armada_overlay.c | 12
drivers/gpu/drm/armada/armada_plane.c | 6 --
3 files changed, 8 insertions
Write out the plane updates after the dumb frame has completed, but
just before the blank period. This allows all the plane updates to
be performed in a flicker-free non-tearing manner.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 46
Push responsibility for managing the clock during DPMS down into the
variant backend, rather than the CRTC layer having knowledge of its
state.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_510.c | 19 +++
drivers/gpu/drm/armada/armada_crtc.c | 19
We no longer require a private armada_plane structure, so eliminate
it, and use the drm_plane structure directly.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 6 +++---
drivers/gpu/drm/armada/armada_crtc.h | 7 ---
drivers/gpu/drm/armada/armada_plane.c | 17
Move the overlay plane colorkey properties into the plane state,
keeping the existing driver behaviour to avoid breaking userspace.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_overlay.c | 251 +---
1 file changed, 132 insertions(+), 119 deletions
armada_drm_gra_plane_regs() is now only ever called from within
armada_drm_primary_update_state(), so merge it into this function.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 55
1 file changed, 24 insertions(+), 31 deletions
Split out the primary plane support; this is now entirely separate from
the CRTC support.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/Makefile | 2 +-
drivers/gpu/drm/armada/armada_crtc.c| 273 +
drivers/gpu/drm/armada/armada_crtc.h| 10
drm_mode_page_flip_ioctl() already takes care of checking the
framebuffer format, and also assigns primary->fb after a successful
call to this handler. These are both redundant, and can be removed.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 12
1 f
Existing Armada DRM makes use of reserved memory for allocating
contiguous screen buffers, which currently prevents its use with
DT systems. Add support for this for DT systems.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/Makefile | 3 +++
drivers/gpu/drm/armada/armada_drv.c
Implement the atomic_enable()/atomic_disable() methods used by the
atomic modeset helpers. atomic_disable() will need some transitional
code during conversion to ensure proper ordering is maintained.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 71
x_optional() rather
than devm_gpiod_get_index() to conform to its binding documentation.
Fixes: ca8c67dafdb7 ("fbdev: omap2: improve usage of gpiod API")
Signed-off-by: Russell King
---
drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c | 2 +-
1 file changed, 1 insertion(+), 1 delet
Hi David,
The following changes since commit f0316f93897c4c4e67278b175bfbfd3a95ba650a:
drm/i2c: tda9950: add CEC driver (2018-04-24 10:44:25 +0100)
are available in the git repository at:
git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda9950-fixes
for you to fetch changes up to e0dccce1
92298c1cd8e8a6b56322b602ad72b54e6237631d:
drm/armada: fix irq handling (2018-07-09 11:32:58 +0100)
Russell King (2):
drm/armada: fix colorkey mode property
drm/armada: fix irq handling
drivers/gpu/drm/armada/armada_crtc.c| 12
Try a bit harder to produce a devcoredump when things go wrong. If we
fail to allocate the memory for a dump including the actual bo contents,
omit the bos and try again. Capturing some information from the GPU is
better than having no information.
Signed-off-by: Russell King
---
drivers/gpu
Convert tda998x to a bridge driver with built-in encoder support for
compatibility with existing component drivers.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 154 +++---
1 file changed, 79 insertions(+), 75 deletions(-)
diff --git a
From: Peter Rosin
This prepares for being a drm_bridge which will not register the
encoder. That makes the connector the better choice.
Reviewed-by: Laurent Pinchart
Signed-off-by: Peter Rosin
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 2 +-
1 file changed, 1
Move the tda998x_priv allocation inside tda998x_create() and simplify
the tda998x_create()'s arguments. Pass the same to tda998x_destroy().
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 30 --
1 file changed, 16 insertions(+), 14 dele
,
preserving original behaviour.]
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 37 +
1 file changed, 25 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c
b/drivers/gpu/drm/i2c/tda998x_drv.c
index b05f54c8585b
Move the non-DT configuration of the TDA998x into tda998x_create()
so that we do all setup in one place.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 73 +++
1 file changed, 35 insertions(+), 38 deletions(-)
diff --git a/drivers/gpu
Cleanup the code a little from the effects of the previous changes:
- Move tda998x_destroy() to be above tda998x_create()
- Use 'dev' directly in tda998x_create() where appropriate.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 76 +++-
Register the bridge outside of the component helper as we have
drivers that wish to use the tda998x without its encoder.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 26 +-
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu
e Cubox with xf86-video-armada including the
overlay plane, and also tested with the tools in libdrm.
Thanks.
--------
Russell King (37):
drm/armada: clean up armada_drm_crtc_page_flip()
drm/armada: add rectangle helpers
dr
We can achieve the same effect via the get_modes() method, rather than
wrapping the fill_modes helper.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 30 ++
1 file changed, 6 insertions(+), 24 deletions(-)
diff --git a/drivers/gpu/drm/i2c
The serializer PLL divider is a power-of-two divider, so our calculation
which assumes that it's a numerical divider is incorrect. Replace it
with one that results in a power-of-two divider value instead.
Tested with all supported modes with a Samsung S24C750.
Signed-off-by: Russell
izer pixel
repeat count. Since the audio code needs the actual TMDS clock,
record that.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 26 --
1 file changed, 16 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c
b/drivers/g
Move the mode_valid() implementation to the bridge instead of the
connector, as we're checking the bridge's capabilities.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 32
1 file changed, 16 insertions(+), 16 deletions(-)
di
r Rosin (2):
drm/i2c: tda998x: find the drm_device via the drm_connector
drm/i2c: tda998x: split tda998x_encoder_dpms into enable/disable
Russell King (8):
drm/i2c: tda998x: move tda998x_set_config() into tda998x_create()
drm/i2c: tda998x: convert to bridge driver
drm/i2
Call drm_fb_helper_restore_fbdev_mode() upon last close so that in the
event of the X server crashing, we have some kind of mode restored.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_drm.h |1 +
drivers/gpu/drm/armada/armada_drv.c |7 ++-
drivers/gpu/drm/armada
Commit 011c2282c74d changed the way refcounting on imported dma_bufs
works, and this hadn't been spotted while forward-porting Armada.
Reflect the changes in that commit into the Armada driver.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_gem.c |2 +-
1 files chang
These can be 64-bit quantities, so fix them up appropriately.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_fbdev.c |6 +++---
drivers/gpu/drm/armada/armada_gem.c |5 +++--
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/armada
Destroy the framebuffer only after the helper, since the helper may
still be referencing the framebufer at this point.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_fbdev.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/armada
|7 ---
4 files changed, 26 insertions(+), 9 deletions(-)
through these changes:
Russell King (4):
DRM: Armada: implement lastclose() for fbhelper
DRM: Armada: destroy framebuffer after helper
DRM: Armada: fix printing of phys_addr_t/dma_addr_t
DRM: Armada: prime
We no longer use the CEC client to access the CEC part itself, so we can
move this later in the initialisation sequence.
Acked-by: Hans Verkuil
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 13 -
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a
-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 31 ++-
1 file changed, 18 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c
b/drivers/gpu/drm/i2c/tda998x_drv.c
index 83407159e957..2a99930f1bda 100644
--- a/drivers/gpu/drm/i2c
Always disable and clear interrupts at probe time to ensure that the
TDA998x is in a sane state. This ensures that the interrupt line,
which is also the CEC clock calibration signal, is always deasserted.
Acked-by: Hans Verkuil
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c
Move the mutex, waitqueue, timer and detect work initialisation early
in the driver's initialisation, rather than being after we've registered
the CEC device.
Acked-by: Hans Verkuil
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 11 +--
1 file changed, 5
Add the optional calibration gpio for integrated TDA9950 CEC support.
This GPIO corresponds with the interrupt from the TDA998x, as the
calibration requires driving the interrupt pin low.
Reviewed-by: Rob Herring
Signed-off-by: Russell King
---
Documentation/devicetree/bindings/display/bridge
The TDA998x is a HDMI transmitter with a TDA9950 CEC engine integrated
onto the same die. Add support for the TDA9950 CEC engine to the
TDA998x driver.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/Kconfig | 1 +
drivers/gpu/drm/i2c/tda998x_drv.c | 195
the messages, and handle error conditions.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/Kconfig | 5 +
drivers/gpu/drm/i2c/Makefile | 1 +
drivers/gpu/drm/i2c/tda9950.c | 509 ++
include/linux/platform_data/tda9950.h | 16 ++
4
d the helper. Move the parsing
there. This caused problems for Luís Mendes.
Cc:
Reported-by: Luís Mendes
Tested-by: Luís Mendes
Signed-off-by: Russell King
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 28
1 file changed, 24 insertions(+), 4 deletions(-)
diff --
Some ARM platforms do not wire the HDLCD interrupt. Allow hdlcd to
initialise without an interrupt present.
Signed-off-by: Russell King
---
Documentation/devicetree/bindings/display/arm,hdlcd.txt | 6 +++---
drivers/gpu/drm/arm/hdlcd_drv.c | 13 -
2 files
We don't need the CEC engine register definitions, so let's remove them.
Signed-off-by: Russell King
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.h | 45 ---
1 file changed, 45 deletions(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
b/drive
Add a CEC driver for the dw-hdmi hardware.
Reviewed-by: Neil Armstrong
Signed-off-by: Russell King
---
drivers/gpu/drm/bridge/synopsys/Kconfig | 9 +
drivers/gpu/drm/bridge/synopsys/Makefile | 1 +
drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c | 326
Add CEC notifier support to the HDMI bridge driver, so that the CEC
part of the IP can receive its physical address.
Signed-off-by: Russell King
---
drivers/gpu/drm/bridge/synopsys/Kconfig | 1 +
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 22 +-
2 files changed, 22
: Russell King
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 29 ++---
1 file changed, 18 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 82e55ee8e4fa..b08cc0c95590 100644
--- a
Move the mutex, waitqueue, timer and detect work initialisation early
in the driver's initialisation, rather than being after we've registered
the CEC device.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 11 +--
1 file changed, 5 insertions(+), 6
We no longer use the CEC client to access the CEC part itself, so we can
move this later in the initialisation sequence.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c
Always disable and clear interrupts at probe time to ensure that the
TDA998x is in a sane state. This ensures that the interrupt line,
which is also the CEC clock calibration signal, is always deasserted.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 14 +-
1
If tda998x_get_audio_ports() fails, and we requested the interrupt, we
fail to free the interrupt before returning failure. Rework the failure
cleanup code and exit paths so that we always clean up properly after an
error, and always propagate the error code.
Signed-off-by: Russell King
The TDA998x is a HDMI transmitter with a TDA9950 CEC engine integrated
onto the same die. Add support for the TDA9950 CEC engine to the
TDA998x driver.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/Kconfig | 1 +
drivers/gpu/drm/i2c/tda998x_drv.c | 209
the messages, and handle error conditions.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/Kconfig | 5 +
drivers/gpu/drm/i2c/Makefile | 1 +
drivers/gpu/drm/i2c/tda9950.c | 507 ++
include/linux/platform_data/tda9950.h | 16 ++
4
The UV swap code was not always programming things correctly when
the source origin box has been offset. Fix this.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.h| 2 ++
drivers/gpu/drm/armada/armada_overlay.c | 38 -
2 files changed
Avoid powering down the overlay SRAM banks when disabling the primary
plane, thereby masking any overlay video. This feature is supposed to
allow us to cut the bandwidth required while displaying full-frame
overlay video.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 9
Add the optional calibration gpio for integrated TDA9950 CEC support.
This GPIO corresponds with the interrupt from the TDA998x, as the
calibration requires driving the interrupt pin low.
Signed-off-by: Russell King
---
Sorry, this patch got forgotten, tacking it on the end of the series
Fix the leak of the CRTC structure in the failure paths of
armada_drm_crtc_create().
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/armada/armada_crtc.c
b/drivers/gpu/drm/armada
Lookup the drm_format_info structure once when computing all the
framebuffer plane addresses by using drm_format_info(), rather than
repetitive lookups via drm_format_plane_cpp().
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 5 +++--
1 file changed, 3 insertions(+), 2
We weren't correctly calculating the YUV planar offsets for subsampled
chroma planes correctly - fix up the coordinates for planes 1 and 2.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/driver
We no longer use the CEC client to access the CEC part itself, so we can
move this later in the initialisation sequence.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c
the messages, and handle error conditions.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/Kconfig | 5 +
drivers/gpu/drm/i2c/Makefile | 1 +
drivers/gpu/drm/i2c/tda9950.c | 507 ++
include/linux/platform_data/tda9950.h | 16 ++
4
Move the mutex, waitqueue, timer and detect work initialisation early
in the driver's initialisation, rather than being after we've registered
the CEC device.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 11 +--
1 file changed, 5 insertions(+), 6
Always disable and clear interrupts at probe time to ensure that the
TDA998x is in a sane state. This ensures that the interrupt line,
which is also the CEC clock calibration signal, is always deasserted.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 14 +-
1
The TDA998x is a HDMI transmitter with a TDA9950 CEC engine integrated
onto the same die. Add support for the TDA9950 CEC engine to the
TDA998x driver.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/Kconfig | 1 +
drivers/gpu/drm/i2c/tda998x_drv.c | 209
If tda998x_get_audio_ports() fails, and we requested the interrupt, we
fail to free the interrupt before returning failure. Rework the failure
cleanup code and exit paths so that we always clean up properly after an
error, and always propagate the error code.
Signed-off-by: Russell King
Add the optional calibration gpio for integrated TDA9950 CEC support.
This GPIO corresponds with the interrupt from the TDA998x, as the
calibration requires driving the interrupt pin low.
Signed-off-by: Russell King
---
Documentation/devicetree/bindings/display/bridge/tda998x.txt | 3 +++
1
Add our own hook to allow the primary plane to be disabled.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 99
1 file changed, 55 insertions(+), 44 deletions(-)
diff --git a/drivers/gpu/drm/armada/armada_crtc.c
b/drivers/gpu/drm
We weren't correctly calculating the YUV planar offsets for subsampled
chroma planes correctly - fix up the coordinates for planes 1 and 2.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/driver
to seemlessly disable and re-enable the primary
plane when (eg) displaying full-frame video without any graphic
clipping the overlaid video - which saves wasting memory bandwidth
needlessly verifying that the colorkey is indeed filling the entire
primary plane.
Signed-off-by: Russell King
Add and use a common frame work allocator, initialising the frame work
to a sane state.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 24 +---
1 file changed, 17 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/armada/armada_crtc.c
b
Fix the leak of the CRTC structure in the failure paths of
armada_drm_crtc_create().
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 25 +
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/armada/armada_crtc.c
b
armada_drm_plane_work_cancel()'s returned work structure is never used
or referenced, so it's pointless returning it. It's also pointless
because the caller doesn't have a clue what kind of work structure it
is.
Signed-off-by: Russell King
---
drivers/gpu/drm/arma
efficient.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_overlay.c | 61 +
1 file changed, 32 insertions(+), 29 deletions(-)
diff --git a/drivers/gpu/drm/armada/armada_overlay.c
b/drivers/gpu/drm/armada/armada_overlay.c
index 19fce1a7159f..010f3e438607
The UV swap code was not always programming things correctly when
the source origin box has been offset. Fix this.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.h| 2 ++
drivers/gpu/drm/armada/armada_overlay.c | 38 -
2 files changed
Both the primary and overlay planes retire framebuffers in a similar
manner; this can be consolidated by moving the retirement up to the
armada_plane_work layer.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 12 +++-
drivers/gpu/drm/armada/armada_crtc.h
Move the register update structure out of the overlay private structure
into armada_plane_work, as this is common to both the primary and
overlay planes.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 42 --
drivers/gpu/drm/armada
Move the sending of events into the armada_plane_work structure, and
combine the processing in armada_drm_plane_work_call().
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 27 +--
drivers/gpu/drm/armada/armada_crtc.h | 1 +
2 files changed, 14
Only enable the HSMOOTH control bit if we are scaling horizontally,
otherwise it makes no sense to enable the horizontal scaler.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 5 +++--
drivers/gpu/drm/armada/armada_overlay.c | 10 +-
2 files changed, 8
Add a work cancel callback, so that work items can add functionality to
clean themselves up when they are cancelled.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 23 ---
drivers/gpu/drm/armada/armada_crtc.h | 1 +
2 files changed, 17 insertions
Extract the register generation from armada_drm_primary_set(), so that
it can be re-used.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 25 -
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/armada/armada_crtc.c
b
Clear the plane enable bit in the software state within
armada_drm_plane_disable() when disabling either the primary or
overlay planes.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 10 ++
drivers/gpu/drm/armada/armada_overlay.c | 2 --
2 files changed, 6
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 24 +---
drivers/gpu/drm/armada/armada_crtc.h| 3 +++
drivers/gpu/drm/armada/armada_overlay.c | 11 +++
3 files changed, 23 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm
Store the plane in the armada_plane_work structure rather than passing
it around; it doesn't get used very much in the work structures, so
passing it around is a needless expense.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 27 +++
dr
Move the overlay plane register update generation to a separate function
as this is independent of the legacy or atomic update.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.h| 2 +
drivers/gpu/drm/armada/armada_overlay.c | 203 +---
2
ode.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 59 -
drivers/gpu/drm/armada/armada_overlay.c | 23 -
2 files changed, 50 insertions(+), 32 deletions(-)
diff --git a/drivers/gpu/drm/armada/armada_crtc.c
b/drivers/gpu/drm/arm
Wait for a second, and if we time out, cancel any pending work when
disabling the primary plane. This ensures that any pending work is
completed or cleaned up prior to the disable taking effect.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 28
Lookup the drm_format_info structure once when computing all the
framebuffer plane addresses by using drm_format_info(), rather than
repetitive lookups via drm_format_plane_cpp().
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 5 +++--
1 file changed, 3 insertions(+), 2
Merge armada_drm_primary_disable() into armada_drm_crtc_plane_disable()
and rename to armada_drm_plane_disable(). Use this to simplify
armada_ovl_plane_disable().
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 21 +
drivers/gpu/drm/armada
Add CRTC and source positions to the Armada overlay trace entry.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_trace.h | 24 ++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/armada/armada_trace.h
b/drivers/gpu/drm/armada
Avoid printing an error message when armada_drm_plane_work_queue() is
unable to get the vblank (eg, because we're doing a modeset.) Continue
to report the failure to the caller, so the caller can handle this.
Move the error message into armada_ovl_plane_update().
Signed-off-by: Russell
code for that.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 2 +-
drivers/gpu/drm/armada/armada_overlay.c | 4
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/armada/armada_crtc.c
b/drivers/gpu/drm/armada/armada_crtc.c
index
Add the defacto-standard "iturbt_709" property to the overlay plane to
control the YUV to RGB colorspace conversion. This is mutually
exclusive with the CSC_YUV CRTC property - the last property to be set
determines the resulting colorspace conversion.
Signed-off-by: Russell King
--
Re-organise overlay register generation so that we do not have to wait
for the previous update to complete while creating the new state. This
allows the update to be fully prepared before queueing it for the next
interrupt.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada
Move writes of LCD_SPU_SRAM_PARA1 under the irq lock, so that we can
add this to the frame updates at interrupt time when disabling a
plane.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 10 ++
drivers/gpu/drm/armada/armada_overlay.c | 5 +++--
2 files
Avoid powering down the overlay SRAM banks when disabling the primary
plane, thereby masking any overlay video. This feature is supposed to
allow us to cut the bandwidth required while displaying full-frame
overlay video.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 9
We must wait for the previous plane work to complete before moving
the overlay window, as it could overwrite our positioning update.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_overlay.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu
h| 26 +-
drivers/gpu/drm/armada/armada_overlay.c | 300 +++---
drivers/gpu/drm/armada/armada_trace.h | 24 +-
4 files changed, 494 insertions(+), 289 deletions(-)
through these changes:
Russell King (29):
drm/armada: fix leak of crtc structure
drm/armada: fix SRAM
/armada/armada_crtc.h| 2 ++
drivers/gpu/drm/armada/armada_overlay.c | 38 +-
3 files changed, 48 insertions(+), 39 deletions(-)
through these changes:
Russell King (5):
drm/armada: fix leak of crtc structure
drm/armada: fix SRAM powerdown
drm/armada
On Wed, Jan 30, 2013 at 11:07:16PM +0100, Daniel Vetter wrote:
> On Wed, Jan 30, 2013 at 10:52 PM, Russell King wrote:
> > Also adding Greg and Daniel to this as Daniel introduced the lockdep
> > checking.
> >
> > This looks extremely horrid to be to solve - the path
On Thu, Jan 31, 2013 at 10:52:51AM +1100, Linus Torvalds wrote:
> On Thu, Jan 31, 2013 at 9:19 AM, Russell King wrote:
> >
> > So... what you seem to be telling me is that 3.9 is going to be a
> > release which issues lockdep complaints when the console blanks, and
> >
On Thu, Jan 31, 2013 at 10:04:05AM +1000, Dave Airlie wrote:
> On Thu, Jan 31, 2013 at 9:52 AM, Linus Torvalds
> wrote:
> > On Thu, Jan 31, 2013 at 9:19 AM, Russell King wrote:
> >>
> >> So... what you seem to be telling me is that 3.9 is going to be a
>
301 - 400 of 2033 matches
Mail list logo