Signed-off-by: Russell King
---
drivers/usb/chipidea/ci_hdrc_imx.c |4 +---
drivers/usb/dwc3/dwc3-exynos.c |4 +---
drivers/usb/host/ehci-atmel.c |4 +---
drivers/usb/host/ehci-omap.c |4 +---
drivers/usb/host/ehci-orion.c |4 +---
drivers/usb/host/ehci
: Russell King
---
drivers/staging/dwc2/platform.c|5 +++--
drivers/staging/imx-drm/imx-drm-core.c |8 ++--
drivers/staging/imx-drm/ipuv3-crtc.c |4 +++-
3 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/dwc2/platform.c b/drivers/staging/dwc2
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/net/ethernet/broadcom/b44.c |3 +--
1 files changed, 1 insertions(+), 2 deletions
m
devices.
Signed-off-by: Russell King
---
drivers/crypto/ixp4xx_crypto.c | 37 +
1 files changed, 17 insertions(+), 20 deletions(-)
diff --git a/drivers/crypto/ixp4xx_crypto.c b/drivers/crypto/ixp4xx_crypto.c
index 21180d6..8306185 100644
--- a/drivers/cry
The DMA API requires drivers to call the appropriate dma_set_mask()
functions before doing any DMA mapping. Add this required call to
the AMBA PL08x driver.
Signed-off-by: Russell King
---
drivers/dma/amba-pl08x.c |5 +
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/net/wireless/b43/dma.c |9 +++--
1 files changed, 3 insertions(+), 6 deletions
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
arch/powerpc/kernel/vio.c |3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff
formats for 2 to 6 channels, which we convert to its hardware
format.
A more desirable solution would be to have this conversion in userspace,
but ALSA does not appear to allow such transformations outside of
libasound itself.
Signed-off-by: Russell King
---
v2: updated with Takashi Iwai's com
formats for 2 to 6 channels, which we convert to its hardware
format.
A more desirable solution would be to have this conversion in userspace,
but ALSA does not appear to allow such transformations outside of
libasound itself.
Signed-off-by: Russell King
---
v2: updated with Takashi Iwai's com
ge/dw_hdmi.h | 8 +-
drivers/gpu/drm/imx/dw_hdmi-imx.c | 5 +
include/drm/bridge/dw_hdmi.h | 7 +
include/drm/drm_edid.h| 19 ++
5 files changed, 252 insertions(+), 174 deletions(-)
through these changes:
Russell King (18):
drm/edid: add function to help find SA
I've now dropped this into linux-next so that it can get some time there,
and still be merged during the 4.3 merge window should it open this Sunday.
On Wed, Aug 19, 2015 at 09:11:06AM +0100, Russell King wrote:
> David,
>
> Please incorporate the latest Synopsis DesignWa
: b8d181e408af ("staging: drm/imx: add drm plane support")
Cc:
Signed-off-by: Russell King
---
drivers/staging/imx-drm/ipuv3-plane.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/imx-drm/ipuv3-plane.c
b/drivers/staging/imx-drm/ipuv3-pla
; the second channel remains uninitialised, but upon unbind, the
driver attempts to clean up both, thereby dereferencing a NULL pointer.
Avoid this by checking that the second channel is initialised.
Fixes: 1b3f76756633 ("imx-drm: initialise drm components directly")
Cc:
Signed-off-by: Ru
The phy comments in dw_hdmi.c applied to the iMX6 version. Move these
comments to the iMX6 dw_hdmi-imx data along side the data.
Signed-off-by: Russell King
---
drivers/gpu/drm/bridge/dw_hdmi.c | 3 ---
drivers/gpu/drm/imx/dw_hdmi-imx.c | 5 +
2 files changed, 5 insertions(+), 3 deletions
Use drm_hdmi_avi_infoframe_from_display_mode() to compose the AVI
frame.
Signed-off-by: Russell King
---
drivers/gpu/drm/bridge/dw_hdmi.c | 126 +--
1 file changed, 67 insertions(+), 59 deletions(-)
diff --git a/drivers/gpu/drm/bridge/dw_hdmi.c b/drivers/gpu
Remove the struct hdmi_vmode mhsyncpolarity/mvsyncpolarity/minterlaced
members, which are only used within a single function. We can directly
reference the appropriate mode->flags instead.
Signed-off-by: Russell King
---
drivers/gpu/drm/bridge/dw_hdmi.c | 22 --
1 f
Introduce dw_hdmi_set_sample_rate(), which allows us to configure the
audio sample rate, setting the CTS/N values appropriately.
Signed-off-by: Russell King
---
drivers/gpu/drm/bridge/dw_hdmi.c | 10 ++
include/drm/bridge/dw_hdmi.h | 5 +
2 files changed, 15 insertions(+)
diff
values can't
race, ensuring that the audio driver calling the enable/disable
functions (which are called in an atomic context) can't race with a
modeset.
Signed-off-by: Russell King
---
drivers/gpu/drm/bridge/dw_hdmi.c | 34 +-
include/drm/bridge/dw_hdmi.
Add a helper for the EDID like data structure, which is typically passed
from a HDMI adapter to its associated audio driver. This informs the
audio driver of the capabilities of the attached HDMI sink.
Signed-off-by: Russell King
---
include/sound/pcm_drm_eld.h | 6 +++
sound/core/Kconfig
register.
Move all these lookups to the start of this function instead, so we can
check that all lookups were successful before beginning to program the
phy.
Signed-off-by: Russell King
---
drivers/gpu/drm/bridge/dw_hdmi.c | 68 +---
1 file changed, 35 insertions
Clean up hdmi_set_clk_regenerator() by allowing it to take the audio
sample rate and ratio directly, rather than hiding it inside the
function. Raise the unsupported pixel clock/sample rate message from
debug to error level as this results in audio not working correctly.
Signed-off-by: Russell
When a YCBCR format is selected, we can merely copy the colorimetry
information directly as we use the same definitions for both the
unpacked AVI info frame and the hdmi_data_info structure.
Signed-off-by: Russell King
---
drivers/gpu/drm/bridge/dw_hdmi.c | 5 +
1 file changed, 1 insertion
Add a function to find the start of the SADs in the ELD. This
complements the helper to retrieve the SAD count.
Signed-off-by: Russell King
---
include/drm/drm_edid.h | 19 +++
1 file changed, 19 insertions(+)
diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
index
Add a helper to create the IEC958 channel status from an ALSA
snd_pcm_runtime structure, taking account of the sample rate and
sample size.
Signed-off-by: Russell King
---
include/sound/pcm_iec958.h | 9 +
sound/core/Kconfig | 3 ++
sound/core/Makefile| 1 +
sound/core
: Russell King
---
drivers/gpu/drm/bridge/Kconfig | 1 +
drivers/gpu/drm/bridge/dw_hdmi-ahb-audio.c | 6 ++
drivers/gpu/drm/bridge/dw_hdmi-ahb-audio.h | 1 +
drivers/gpu/drm/bridge/dw_hdmi.c | 3 +++
4 files changed, 11 insertions(+)
diff --git a/drivers/gpu/drm/bridge/Kconfig
formats for 2 to 6 channels, which we convert to its hardware
format.
A more desirable solution would be to have this conversion in userspace,
but ALSA does not appear to allow such transformations outside of
libasound itself.
Signed-off-by: Russell King
---
drivers/gpu/drm/bridge/Kconfig
Our vblank event code belongs in armada_crtc.c rather than the core of
the driver. Move it there.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 46 ++--
drivers/gpu/drm/armada/armada_crtc.h | 17 +
drivers/gpu/drm/armada
It is not necessary to write dplane->ctrl0 under the CRTC spinlock, as
this is only accessed under process context where the DRM locks will
protect us instead.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_overlay.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
d
Convert the overlay plane to use the generic armada plane worker
infrastructure which is shared with the primary plane.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 48 +
drivers/gpu/drm/armada/armada_crtc.h| 20
Introduce a generic armada_plane struct which will eventually be used
for both the primary and overlay planes.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.h| 5 +
drivers/gpu/drm/armada/armada_overlay.c | 17 +
2 files changed, 14 insertions(+), 8
Both the CRTC and overlay frames have their own wait queues. It would
make more sense if these were part of the plane - the primary plane for
the CRTC and overlay plane for the overlay.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 22 ++
drivers
Move the locking for armada_drm_vbl_event_remove() into itself, which
makes this function symmetrical with armada_drm_vbl_event_add().
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 2 ++
drivers/gpu/drm/armada/armada_overlay.c | 2 --
2 files changed, 2 insertions
Use the new drm_universal_plane_init() rather than the legacy
drm_plane_init().
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_overlay.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/armada/armada_overlay.c
b/drivers/gpu/drm/armada
We can do better with armada_drm_crtc_complete_frame_work() - we can
avoid taking the event lock unless a call to drm_send_vblank_event()
is required, and using cmpxchg() and xchg(), we can eliminate the
locking around dcrtc->frame_work entirely.
Signed-off-by: Russell King
---
drivers/gpu/
Rather than using a spinlock, use xchg() to atomically update
dplane->old_fb. This allows us to eliminate dplane->lock.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_overlay.c | 14 +++---
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/drivers/g
Use drm_plane_force_disable() to disable the overlay plane on a mode_set
rather than coding this ourselves.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 12 +++-
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/armada/armada_crtc.c
Move the write to clear the DMA enable bit, and augment it with clearing
the graphics enable bit for the primary plane.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 12 ++--
drivers/gpu/drm/armada/armada_overlay.c | 1 -
2 files changed, 10 insertions(+), 3
We have two identical places in the overlay code which retire the drm
framebuffer. Factor these out into a common function.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_overlay.c | 37 +++--
1 file changed, 17 insertions(+), 20 deletions(-)
diff
Include an _ovl infix into the overlay identifiers to separate them from
the primary plane.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_overlay.c | 55 ++---
1 file changed, 30 insertions(+), 25 deletions(-)
diff --git a/drivers/gpu/drm/armada
Use drm_primary_helper_create_plane() to create our primary plane, and
register the CRTC with drm_crtc_init_with_planes(). This enables the
primary plane to be initialised with the supported format information.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 34
Add a plane work implementation, and move the CRTC framebuffer flip
work to it for the primary plane. The idea is to have a common
plane work implementation for both the primary and overlay planes.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 102
Allocate our own primary plane as an armada_plane.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 25 -
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/armada/armada_crtc.c
b/drivers/gpu/drm/armada/armada_crtc.c
Move the wakeup for the frame wait into the armada plane work, to
ensure that it is woken up every time we run a work.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/armada
Provide a common helper to disable either the overlay or the primary
plane.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c| 33 +++--
drivers/gpu/drm/armada/armada_crtc.h| 3 +++
drivers/gpu/drm/armada/armada_overlay.c | 7 +--
3
Now that the transition of TDA998x to the component helpers is complete,
remove the non-componentised support from the Armada DRM driver. All
outputs are expected to use the component helpers from now on.
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/Kconfig | 9 ---
drivers
expected
state (enabled).
Signed-off-by: Russell King
---
drivers/gpu/drm/armada/armada_crtc.c | 11 +++
1 file changed, 11 insertions(+)
diff --git a/drivers/gpu/drm/armada/armada_crtc.c
b/drivers/gpu/drm/armada/armada_crtc.c
index bbf5ff785cd2..8c43ecc19c15 100644
--- a/drivers/gpu/drm/armad
ust have been initialised prior to the interrupt being claimed, so we
can remove this check as well.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c
b/drivers/gpu/drm/i2c/tda998
.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c
b/drivers/gpu/drm/i2c/tda998x_drv.c
index d8e97085f866..ad3ce3479edf 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b
clear the blocking flag and wake any thread
waiting for the EDID read.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 80 +--
1 file changed, 68 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c
b/drivers/g
C99 types are against the style of the Linux kernel. Convert to using
Linus-friendly types. See https://lwn.net/Articles/113367/ for more
information.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 74 +++
1 file changed, 37 insertions
As reading the interrupt registers clears the outstanding interrupts, we
must process all received interrupts to avoid dropping any. Rearrange
the code to achieve this, and properly check for a HPD interrupt from
the CEC_RXSHPDINT register.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 71 +--
1 file changed, 31 insertions(+), 40 deletions(-)
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c
b/drivers/gpu/drm/i2c/tda998x_drv.c
index 1285fb354813..1c6fc245514f 100644
--- a
Remove the DRM slave encoder compatibility from the TDA998x driver. We
now use the component helpers to manage the binding of DRM sub-drivers.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 146 +++---
1 file changed, 8 insertions(+), 138
Remove the encoder pointer from struct tda998x_priv, moving the encoder
itself from struct tda998x_priv2 here.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 25 -
1 file changed, 12 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/i2c
Move the DRM connector structure into struct tda998x_priv from the old
struct tda998x_priv2.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 22 +++---
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c
b
Kill the redundant tda998x_priv2 structure now that its only member is
the struct tda998x_priv.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 80 +++
1 file changed, 38 insertions(+), 42 deletions(-)
diff --git a/drivers/gpu/drm/i2c
We can now kill a number of glue functions which were sitting between
the common tda998x code and the drm encoder/connector methods. This
results in slightly cleaner code.
Signed-off-by: Russell King
---
drivers/gpu/drm/i2c/tda998x_drv.c | 80 +++
1 file
nd. See 'git --help'.
$ git --version
git version 2.7.4
--
Russell King
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Wed, May 23, 2018 at 10:48:15AM +0200, Daniel Vetter wrote:
> On Tue, May 22, 2018 at 09:27:07AM +0100, Russell King wrote:
> > On Tue, May 22, 2018 at 10:53:49AM +1000, Dave Airlie wrote:
> > > Sorry I missed this, just fell between the cracks,
> > >
> > >
/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
Hi David,
I don't see this in what I presume is your tree yet - do you have some
concern about merging this series?
Thanks.
On Tue, Apr 24, 2018 at 10:54:56AM +0100, Russell King wrote:
> David,
>
> Please incorporate support for TDA998x I2C driver CEC, which can be
> fou
s: 1931529448bc ("drm: Add acquire ctx parameter to ->plane_disable")
Signed-off-by: Russell King
---
Note: not build for all the affected drivers yet.
drivers/gpu/drm/arc/arcpgu_crtc.c | 2 +-
drivers/gpu/drm/arm/hdlcd_crtc.c | 2 +-
drivers/gpu/drm/drm_plane_helper.
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
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 a
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 +++-
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 | 32 +---
1 file changed, 17 insertions(+), 15 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 4061e293e671
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
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
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
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
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
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
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
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
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 change
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
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
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
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
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
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/
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
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
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
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
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
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
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
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
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
r 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 523e0e8
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
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
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
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
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 chang
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
doing 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
201 - 300 of 2033 matches
Mail list logo