[PATCH v2 1/7] drm/i2c: tda998x: find the drm_device via the drm_connector

2018-07-31 Thread Russell King
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

[PATCH v2 3/7] drm/i2c: tda998x: move tda998x_set_config() into tda998x_create()

2018-07-31 Thread Russell King
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

[PATCH v2 6/7] drm/i2c: tda998x: cleanup from previous changes

2018-07-31 Thread Russell King
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 +++ 1

[GIT PULL] Armada DRM atomic modeset conversion

2018-07-31 Thread Russell King
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

[PATCH v2 7/7] drm/i2c: tda998x: register bridge outside of component helper

2018-07-31 Thread Russell King
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

[PATCH 4/4] drm/i2c: tda998x: add support for pixel repeated modes

2018-08-02 Thread Russell King
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

[PATCH 3/4] drm/i2c: tda998x: correct PLL divider calculation

2018-08-02 Thread Russell King
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 King

[PATCH 2/4] drm/i2c: tda998x: get rid of private fill_modes function

2018-08-02 Thread Russell King
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

[PATCH 1/4] drm/i2c: tda998x: move mode_valid() to bridge

2018-08-02 Thread Russell King
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(-) diff --git

[PATCH] drm/etnaviv: try harder to dump core

2018-07-18 Thread Russell King
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

[GIT PULL] Armada DRM fixes fixes

2018-07-15 Thread Russell King
to 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

[PATCH RFC] drm: add broadcast rgb connector property for digital outputs

2018-07-05 Thread Russell King
Add core DRM support for the i915 "Broadcast RGB" property, which controls the selection of the RGB quantization range in the digital domain. For 8bpc, this selects between limited (16 to 235), full (0 to 255) range, or automatically select depending on the mode. Signed-off-by: Ru

[PATCH 3/3] ARM: dts: cubox: add LCD controller and TDA998x configuration

2018-07-10 Thread Russell King
Add DT configuration for the HDMI display output on the Dove Cubox. This adds support for the LCD0 controller which is connected to a TDA19988 HDMI encoder. Signed-off-by: Russell King --- arch/arm/boot/dts/dove-cubox.dts | 43 1 file changed, 43

[PATCH 2/2] drm/armada: fix irq handling

2018-07-10 Thread Russell King
Add the missing locks to the IRQ enable/disable paths, and fix a comment in the interrupt handler: reading the ISR clears down the status bits, but does not reset the interrupt so it can signal again. That seems to require a write. Signed-off-by: Russell King --- drivers/gpu/drm/armada

[PATCH 1/2] drm/armada: fix colorkey mode property

2018-07-10 Thread Russell King
The colorkey mode property was not correctly disabling the colorkeying when "disabled" mode was selected. Arrange for this to work as one would expect. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_hw.h | 1 + drivers/gpu/drm/armada/armada_over

[PATCH 08/20] drm/armada: handle atomic modeset crtc events

2018-07-11 Thread Russell King
an atomic modeset. - armada_drm_crtc_commit() if we are committing a modeset. This ensures that the event is sent at the correct time (after all updates have been written to the hardware and after the following vblank.) Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c | 33

[PATCH 07/17] drm/armada: convert primary plane to atomic state

2018-07-11 Thread Russell King
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

[PATCH 13/17] drm/armada: move plane works to overlay

2018-07-11 Thread Russell King
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

[PATCH 15/17] drm/armada: move colorkey properties into overlay plane state

2018-07-11 Thread Russell King
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

[PATCH 16/20] drm/armada: update planes after the dumb frame is complete

2018-07-11 Thread Russell King
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

[PATCH 09/20] drm/armada: push responsibility for clock management to backend

2018-07-11 Thread Russell King
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

[PATCH 19/20] drm/armada: remove unnecessary armada_plane structure

2018-07-11 Thread Russell King
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

[PATCH 14/17] drm/armada: move CBSH properties into overlay plane state

2018-07-11 Thread Russell King
Move the contrast, brightness, and saturation properties to the overlay plane state structure, and call our overlay commit function to update the hardware via the planes atomic_update() method. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.h| 2 +- drivers/gpu/drm

[PATCH 11/17] drm/armada: use old_state for update tracking in atomic_update()

2018-07-11 Thread Russell King
Rather than tracking the register state, we can now check the previous state and decide which registers need updating from that since the old plane state indicates the previous state which was programmed into the hardware. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c

[PATCH 17/17] drm/armada: add plane colorspace properties

2018-07-11 Thread Russell King
is complete, these will be removed. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_overlay.c | 33 - 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/armada/armada_overlay.c b/drivers/gpu/drm/armada/armada_overlay.c index

[PATCH 03/20] drm/armada: provide pitches from armada_drm_plane_calc_addrs()

2018-07-11 Thread Russell King
Provide the framebuffer pitches from armada_drm_plane_calc_addrs() as well as the base addresses for each plane. Since this is now about more than just addresses, rename to armada_drm_plane_calc(). Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_overlay.c | 8 drivers

[PATCH 02/20] drm/armada: pass plane state into armada_drm_plane_calc_addrs()

2018-07-11 Thread Russell King
armada_drm_plane_calc_addrs() gets all its information from the plane state, so it makes sense to pass the plane state pointer down into this function, rather than extracting the information in identical ways, sometimes a couple of layers up. Signed-off-by: Russell King --- drivers/gpu/drm

[PATCH 15/20] drm/armada: switch overlay plane to atomic modeset

2018-07-11 Thread Russell King
Switch the overlay plane away from the transitional helpers and legacy methods, and use atomic helpers instead to implement the legacy set_plane ioctl methods. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c| 89 - drivers/gpu/drm/armada/armada_crtc.h

[PATCH 10/20] drm/armada: unhook dpms state from armada_drm_crtc_update()

2018-07-11 Thread Russell King
Explicitly pass in the desired enable/disable state into armada_drm_crtc_update() rather than having it use the DPMS state stored in our crtc structure. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c | 11 +-- 1 file changed, 5 insertions(+), 6 deletions(-) diff

[PATCH 03/17] drm/armada: move mode set vblank handling and disable/enable

2018-07-11 Thread Russell King
Move the mode set vblank handling and controller enable/disable to the prepare() and commit() callbacks. This will be needed when we move to mode_set_nofb() as we should not enable the controller without the plane coordinates and location having been properly updated. Signed-off-by: Russell King

[PATCH 20/20] drm/armada: remove obsolete fb unreferencing kfifo and workqueue

2018-07-11 Thread Russell King
Remove the obsolete fb unreferencing system that is no longer used since we've transitioned to atomic modeset. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_drm.h | 7 --- drivers/gpu/drm/armada/armada_drv.c | 35 --- 2 files changed, 42

[PATCH 05/17] drm/armada: merge armada_drm_gra_plane_regs() into only caller

2018-07-11 Thread Russell King
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

[PATCH 12/17] drm/armada: move primary plane to separate file

2018-07-11 Thread Russell King
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

[PATCH 11/20] drm/armada: implement atomic_enable()/atomic_disable() methods

2018-07-11 Thread Russell King
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

[PATCH 01/17] drm/armada: clean up armada_drm_crtc_page_flip()

2018-07-11 Thread Russell King
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

[PATCH 2/3] drm/armada: add OF reserved memory support

2018-07-11 Thread Russell King
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

[PATCH 04/17] drm/armada: use core of primary update_plane for mode set

2018-07-11 Thread Russell King
Use the core of the update_plane method to configure the primary plane within mode_set() rather than duplicating this code. This moves us closer to the same code structure that the atomic modeset transitional helpers will use. Signed-off-by: Russell King --- drivers/gpu/drm/armada

[PATCH 04/20] drm/armada: push interlace calculation into armada_drm_plane_calc()

2018-07-11 Thread Russell King
Push the interlaced frame calculation down into armada_drm_plane_calc() which needs to apply the same correction for both the overlay and primary planes. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_overlay.c | 16 +++--- drivers/gpu/drm/armada/armada_plane.c | 38

[PATCH 1/3] drm/armada: fix compare_of() for LCD controllers

2018-07-11 Thread Russell King
The DT node passed for LCD controllers is the "port" node within the parent device. Detect this and compare the parent node. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_drv.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/

[PATCH 10/17] drm/armada: remove temporary crtc state

2018-07-11 Thread Russell King
Now that we have the CRTC using the atomic modeset transitional helper, there is no need to build a temporary crtc state anymore - we can use the CRTC atomic state directly. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c | 12 ++-- 1 file changed, 6 insertions

[PATCH 09/17] drm/armada: convert overlay plane to atomic state

2018-07-11 Thread Russell King
the overlay plane update to use the atomic state structures and methods for the plane, but implement our own legacy update method rather than the transitional helper. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c| 79 +- drivers/gpu/drm/armada/armada_crtc.h

[PATCH 05/20] drm/armada: move sync signal polarity to mode_set_nofb() method

2018-07-11 Thread Russell King
that armada_drm_crtc_update() will not overwrite these bits. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c | 47 +--- drivers/gpu/drm/armada/armada_crtc.h | 1 - 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/drivers/gpu/drm/armada/armada_crtc.c

[PATCH 17/20] drm/armada: update primary framebuffer parameters on mode change

2018-07-11 Thread Russell King
The framebuffer base address and toggling mode needs to be updated when the interlaced flag for mode changes is updated. Arrange to reprogram these parameters when only the mode has changed. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_plane.c | 6 -- 1 file changed, 4

[PATCH 14/20] drm/armada: switch primary plane to atomic modeset

2018-07-11 Thread Russell King
Switch the primary plane away from the transitional helpers, and use the atomic helpers instead to implement the legacy set_plane ioctl call for this plane. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c | 116 +- drivers/gpu/drm/armada

[PATCH 01/20] drm/armada: move armada_drm_mode_config_funcs to armada_drv.c

2018-07-11 Thread Russell King
in armada_fbdev.c. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_drm.h | 2 -- drivers/gpu/drm/armada/armada_drv.c | 6 ++ drivers/gpu/drm/armada/armada_fb.c| 7 +-- drivers/gpu/drm/armada/armada_fb.h| 3 ++- drivers/gpu/drm/armada/armada_fbdev.c | 4 ++-- 5 files

[PATCH 12/20] drm/armada: enable atomic modeset support

2018-07-11 Thread Russell King
Enable atomic modeset helpers, and internal DRM use of atomic modeset with armada-drm. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c | 7 +++ drivers/gpu/drm/armada/armada_drv.c | 5 - 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm

[PATCH 13/20] drm/armada: switch legacy modeset to atomic modeset

2018-07-11 Thread Russell King
Switch the legacy set_config() method to use the atomic modeset helper, which allows us to get rid of the legacy dpms, prepare, commit, mode_set, mode_set_base and disable helper methods. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c | 103

[PATCH 06/17] drm/armada: reset all atomic state during driver initialisation

2018-07-11 Thread Russell King
Reset the atomic state of any converted components during driver initialisation to ensure that we have the atomic state initialised for any component converted to atomic modeset. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff

[PATCH 02/17] drm/armada: add rectangle helpers

2018-07-11 Thread Russell King
Add helpers to convert rectangle width/height and x/y to register values. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c| 8 +++- drivers/gpu/drm/armada/armada_hw.h | 15 +++ drivers/gpu/drm/armada/armada_overlay.c | 7 +++ 3 files changed

[PATCH 06/20] drm/armada: update debug in armada_drm_crtc_mode_set_nofb()

2018-07-11 Thread Russell King
Update debug to use KMS level, and print the mode using the standard format for mode lines, but print the adjusted CRTC parameters as that's what we will be programming for. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c | 19 +-- 1 file changed, 9

[PATCH 07/20] drm/armada: clean up SPU_ADV_REG

2018-07-11 Thread Russell King
Rather than writing all bits of SPU_ADV_REG on modeset, only write what we need to change, and initialise the register in the variant initialisation. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_510.c | 5 - drivers/gpu/drm/armada/armada_crtc.c | 11 --- drivers

[PATCH 18/20] drm/armada: remove unnecessary armada_ovl_plane structure

2018-07-11 Thread Russell King
We no longer need a private plane structure, so get rid of it. Use the drm_plane structure directly. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_overlay.c | 34 + 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/drivers/gpu/drm

[PATCH 08/17] drm/armada: convert page_flip to use primary plane atomic_update()

2018-07-11 Thread Russell King
for the primary plane update. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c | 81 1 file changed, 55 insertions(+), 26 deletions(-) diff --git a/drivers/gpu/drm/armada/armada_crtc.c b/drivers/gpu/drm/armada/armada_crtc.c index 523e0e8c6962

[PATCH 16/17] drm/armada: remove crtc YUV colourspace properties

2018-07-11 Thread Russell King
Remove the unused CRTC colourspace properties - userspace does not make use of these. In any case, these are not a property of the CRTC, since they demonstrably only affect the video (overlay) plane, irrespective of the format of the graphics (primary) plane. Signed-off-by: Russell King

[PATCH 4/6] drm/i2c: tda998x: convert to bridge driver

2018-07-09 Thread Russell King
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 | 147 +++--- 1 file changed, 75 insertions(+), 72 deletions(-) diff --git

[PATCH 1/6] drm/i2c: tda998x: find the drm_device via the drm_connector

2018-07-09 Thread Russell King
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

[PATCH 5/6] drm/i2c: tda998x: allocate tda998x_priv inside tda998x_create()

2018-07-09 Thread Russell King
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 | 32 +--- 1 file changed, 17 insertions(+), 15 deletions

[PATCH 6/6] drm/i2c: tda998x: cleanup from previous changes

2018-07-09 Thread Russell King
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 +++ 1

[PATCH 2/6] drm/i2c: tda998x: split tda998x_encoder_dpms into enable/disable

2018-07-09 Thread Russell King
, 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 4061e293e671

[PATCH 3/6] drm/i2c: tda998x: move tda998x_set_config() into tda998x_create()

2018-07-09 Thread Russell King
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 | 75 --- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/drivers/gpu

[PATCH v3 3/7] drm/i2c: tda998x: move CEC device initialisation later

2018-04-10 Thread Russell King
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 <hans.verk...@cisco.com> Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk> --- drivers/gpu/drm/i2c/tda998x_drv.c | 13 -

[PATCH v3 2/7] drm/i2c: tda998x: fix error cleanup paths

2018-04-10 Thread Russell King
erk...@cisco.com> Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk> --- 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

[PATCH v3 4/7] drm/i2c: tda998x: always disable and clear interrupts at probe

2018-04-10 Thread Russell King
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 <hans.verk...@cisco.com> Signed-off-by: Russell King &l

[PATCH v3 1/7] drm/i2c: tda998x: move mutex/waitqueue/timer/work init early

2018-04-10 Thread Russell King
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 <hans.verk...@cisco.com> Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk> --- drivers

[PATCH v3 6/7] drm/i2c: tda998x: add CEC support

2018-04-10 Thread 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 <rmk+ker...@armlinux.org.uk> --- drivers/gpu/drm/i2c/Kconfig | 1 + drivers/gpu/drm/i2c/tda998x_drv.c

[PATCH v3 5/7] drm/i2c: tda9950: add CEC driver

2018-04-10 Thread Russell King
the messages, and handle error conditions. Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk> --- drivers/gpu/drm/i2c/Kconfig | 5 + drivers/gpu/drm/i2c/Makefile | 1 + drivers/gpu/drm/i2c/tda9950.c | 509 ++ include

[PATCH v3 7/7] dt-bindings: tda998x: add the calibration gpio

2018-04-10 Thread 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. Reviewed-by: Rob Herring <r...@kernel.org> Signed-off-by: Russell King <rmk+ker...@armlin

[GIT PULL] TDA998x I2C driver CEC support

2018-04-25 Thread Russell King
/tda9950.c create mode 100644 include/linux/platform_data/tda9950.h through these changes: Russell King (7): drm/i2c: tda998x: move mutex/waitqueue/timer/work init early drm/i2c: tda998x: fix error cleanup paths drm/i2c: tda998x: move CEC device initialisation later drm/i2c

[GIT PULL] TDA9950 fixes for 4.19

2018-10-02 Thread Russell King
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

[PATCH] drm/omap: sharp ls037v7dw01: restore optional GPIOs

2018-12-10 Thread Russell King
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 del

[PATCH 3/5] drm/i2c: tda998x: add support for writing SPD

2019-01-26 Thread Russell King
Add support for writing the SPD infoframe to the TDA998x. Identify us as "Generic" vendor "PC" product, and as "PC general" source device information. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 18 ++ 1 file changed

[PATCH 2/5] drm/i2c: tda998x: add bridge timing information

2019-01-26 Thread Russell King
Add bridge timing information so that bridge users can figure out the timing parameters that are necessary for TDA998x. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 23 +++ 1 file changed, 23 insertions(+) diff --git a/drivers/gpu/drm/i2c

[PATCH 5/5] drm/i2c: tda998x: improve correctness of quantisation range

2019-01-26 Thread Russell King
sent full-range RGB. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 39 ++- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c index b0ed2ef49c62..7d9aea79a

[PATCH 1/5] drm/i2c: tda998x: add support for pixel repeated modes

2019-01-26 Thread Russell King
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

[PATCH 4/5] drm/i2c: tda998x: add vendor specific infoframe support

2019-01-26 Thread Russell King
Add support for the vendor specific infoframe. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c index dad7396ebe2b..b0ed2ef49c62 100644

[PATCH] drm: etnaviv: try harder to generate a core dump

2019-01-26 Thread Russell King
It is possible that the size of the BOs currently queued for the GPU exceed our available memory for dumping a device core dump. If this occures, try generating a core dump without containing the contents of the BOs. Signed-off-by: Russell King --- drivers/gpu/drm/etnaviv/etnaviv_dump.c | 30

[PATCH RFC 3/3] drm/i2c: tda998x: add support for bclk_ratio

2019-02-25 Thread Russell King
to see users whose I2S blocks send at 64·fs for 16-bit samples, which means TDA998x now breaks. ASoC has a snd_soc_dai_set_bclk_ratio() call available which sets the ratio of BCLK to the sample rate. Implement support for this. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c

[PATCH RFC 1/3] drm/i2c: tda998x: implement different I2S flavours

2019-02-25 Thread Russell King
Add support for the left and right justified I2S formats as well as the more tranditional "Philips" I2S format. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 57 ++- include/drm/i2c/tda998x.h | 11 +--- 2 files c

[PATCH] drm: etnaviv: avoid DMA API warning when importing buffers

2019-02-25 Thread Russell King
size, which is set to 2GiB to cover the window found in MMUv1 GPUs. Signed-off-by: Russell King --- Patch against v4.20. drivers/gpu/drm/etnaviv/etnaviv_drv.c | 4 drivers/gpu/drm/etnaviv/etnaviv_drv.h | 1 + 2 files changed, 5 insertions(+) diff --git a/drivers/gpu/drm/etnaviv

[PATCH 04/13] drm/i2c: tda998x: derive CTS_N value from aclk sample rate ratio

2019-06-12 Thread Russell King
on the bit clock ratio. However, as the driver is not given the bit clock ratio from ALSA, continue deriving this from the sample width. This will be addressed in a later commit. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 94 ++- 1 file

[PATCH 07/13] drm/i2c: tda998x: configure both fields of AIP_CLKSEL together

2019-06-12 Thread Russell King
We can configure both fields of the AIP_CLKSEL register with a single write, there is no need to delay the setting of the CTS reference. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 13 - 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers

[PATCH 11/13] drm/i2c: tda998x: add support for pixel repeated modes

2019-06-12 Thread Russell King
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

[PATCH 06/13] drm/i2c: tda998x: index audio port enable config by route type

2019-06-12 Thread Russell King
Rather than searching an array for the audio format (which we control) implement indexing by route type. This avoids iterating over the array in several locations. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 57 --- 1 file changed, 29

[PATCH 12/13] drm/i2c: tda998x: add bridge timing information

2019-06-12 Thread Russell King
Add bridge timing information so that bridge users can figure out the timing parameters that are necessary for TDA998x. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 23 +++ 1 file changed, 23 insertions(+) diff --git a/drivers/gpu/drm/i2c

[PATCH 05/13] drm/i2c: tda998x: store audio port enable in settings

2019-06-12 Thread Russell King
Store the audio port enable register in the audio settings structure, which can never be zero for a valid audio configuration. Use this to signal whether we have audio configured, rather than AFMT_UNUSED. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 18

[PATCH 02/13] drm/i2c: tda998x: implement different I2S flavours

2019-06-12 Thread Russell King
Add support for the left and right justified I2S formats as well as the more tranditional "Philips" I2S format. Tested-by: Peter Ujfalusi Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 53 +-- 1 file changed, 34 inserti

[PATCH 01/13] drm/i2c: tda998x: introduce tda998x_audio_settings

2019-06-12 Thread Russell King
specification. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 56 ++- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c index 7f34601bb515..e478633d9a7a 100644

[PATCH 03/13] drm/i2c: tda998x: improve programming of audio divisor

2019-06-12 Thread Russell King
Improve the selection of the audio clock divisor so that more modes and sample rates work. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 44 +-- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/i2c

[PATCH 10/13] drm/i2c: tda998x: get rid of params in audio settings

2019-06-12 Thread Russell King
Get rid of the tda998x_audio_params structure in audio_settings, which is now just used for platform data. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 43 +++ 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/drivers/gpu

[PATCH 09/13] drm/i2c: tda998x: clean up tda998x_configure_audio()

2019-06-12 Thread Russell King
only ever needs to write the current audio settings, so simplify the code in tda998x_audio_hw_params() so that can happen. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 26 ++ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/drivers/gpu

[PATCH 08/13] drm/i2c: tda998x: move audio routing configuration

2019-06-12 Thread Russell King
Move the mux and clocking selection out of tda998x_configure_audio() into the parent functions, so we can validate this when parameters are set outside of the audio mutex. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 78 +++ 1 file

[PATCH 13/13] drm/i2c: tda998x: improve correctness of quantisation range

2019-06-12 Thread Russell King
sent full-range RGB. Reviewed-by: Brian Starkey Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 36 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c index 37

[GIT PULL] ARM (for-airlie-armada branch)

2019-07-03 Thread Russell King
the simple-framebuffer Russell King (17): drm/armada: fix crtc interlace drm/armada: use __drm_atomic_helper_plane_reset in overlay reset drm/armada: add plane size/location accessors drm/armada: fix plane location and size for interlace drm/armada: add missing interlac

[GIT PULL] TDA998x development updates

2019-06-26 Thread Russell King
the HDMI vendor info frame when required. Russell King (13): drm/i2c: tda998x: introduce tda998x_audio_settings drm/i2c: tda998x: implement different I2S flavours drm/i2c: tda998x: improve programming of audio divisor

[PATCH 15/18] drm/armada: redo CRTC debugfs files

2019-06-14 Thread Russell King
Move the CRTC debugfs files into the CRTC specific directory. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c| 7 +++ drivers/gpu/drm/armada/armada_debugfs.c | 98 + drivers/gpu/drm/armada/armada_drm.h | 1 + 3 files changed, 46

[PATCH v2 02/13] drm/i2c: tda998x: implement different I2S flavours

2019-06-14 Thread Russell King
Add support for the left and right justified I2S formats as well as the more tranditional "Philips" I2S format. Tested-by: Peter Ujfalusi Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 51 +-- 1 file changed, 33 inserti

[PATCH v2 03/13] drm/i2c: tda998x: improve programming of audio divisor

2019-06-14 Thread Russell King
Improve the selection of the audio clock divisor so that more modes and sample rates work. Signed-off-by: Russell King --- drivers/gpu/drm/i2c/tda998x_drv.c | 44 +-- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/i2c

[PATCH 17/18] drm/armada: use for_each_endpoint_of_node() to walk crtc endpoints

2019-06-14 Thread Russell King
Rather than having a nested set of for_each_child_of_node() walkers, use the graph walker to iterate through the endpoints for CRTCs. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_drv.c | 11 --- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/gpu

[PATCH 09/18] drm/armada: add drm_mode_set_crtcinfo() mode fixup

2019-06-14 Thread Russell King
Add a drm_mode_set_crtcinfo() call in our CRTC's mode_fixup callback to ensure that any adjustments to the mode made by connectors etc are properly accounted for by the CRTC. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_crtc.c | 7 +++ 1 file changed, 7 insertions(+) diff

[PATCH 03/18] drm/armada: add plane size/location accessors

2019-06-14 Thread Russell King
. Signed-off-by: Russell King --- drivers/gpu/drm/armada/armada_overlay.c | 12 ++-- drivers/gpu/drm/armada/armada_plane.c | 12 ++-- drivers/gpu/drm/armada/armada_plane.h | 4 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/armada

<    1   2   3   4   5   6   7   8   9   10   >