History log of /openbmc/linux/drivers/gpu/drm/armada/armada_overlay.c (Results 101 – 125 of 157)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# d40af7b1 30-Jul-2018 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: move primary plane to separate file

Split out the primary plane support; this is now entirely separate from
the CRTC support.

Signed-off-by: Russell King <rmk+kernel

drm/armada: move primary plane to separate file

Split out the primary plane support; this is now entirely separate from
the CRTC support.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

show more ...


# 3acea7b9 30-Jul-2018 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: use old_state for update tracking in atomic_update()

Rather than tracking the register state, we can now check the previous
state and decide which registers need updating fro

drm/armada: use old_state for update tracking in atomic_update()

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 <rmk+kernel@armlinux.org.uk>

show more ...


# 47dc413b 30-Jul-2018 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: convert overlay plane to atomic state

The overlay plane support updates asynchronously to the request, but the
drm_plane_helper_update() transitional helper waits for a vblan

drm/armada: convert overlay plane to atomic state

The overlay plane support updates asynchronously to the request, but the
drm_plane_helper_update() transitional helper waits for a vblank event
before releasing the framebuffer. Using the transitional helper would
make the call block, which would introduce a performance regression.

Convert 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 <rmk+kernel@armlinux.org.uk>

show more ...


# 0239520e 30-Jul-2018 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: add rectangle helpers

Add helpers to convert rectangle width/height and x/y to register
values.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>


Revision tags: v4.17.3
# d378859a 24-Jun-2018 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: fix colorkey mode property

The colorkey mode property was not correctly disabling the colorkeying
when "disabled" mode was selected. Arrange for this to work as one
woul

drm/armada: fix colorkey mode property

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 <rmk+kernel@armlinux.org.uk>

show more ...


Revision tags: v4.17.2, v4.17.1, v4.17, v4.16, v4.15
# 81af63a4 23-Jan-2018 Ville Syrjälä <ville.syrjala@linux.intel.com>

drm: Don't pass clip to drm_atomic_helper_check_plane_state()

Move the plane clip rectangle handling into
drm_atomic_helper_check_plane_state(). Drivers no longer
have to worry about

drm: Don't pass clip to drm_atomic_helper_check_plane_state()

Move the plane clip rectangle handling into
drm_atomic_helper_check_plane_state(). Drivers no longer
have to worry about such mundane details.

v2: Convert armada, rcar, and sun4i as well
v3: Resolve simple_kms_helper conflict

Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Brian Starkey <brian.starkey@arm.com>
Cc: Mali DP Maintainers <malidp@foss.arm.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Gustavo Padovan <gustavo@padovan.org>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: CK Hu <ck.hu@mediatek.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
Cc: Sinclair Yeh <syeh@vmware.com>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Archit Taneja <architt@codeaurora.org>
Cc: linux-amlogic@lists.infradead.org
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
Cc: linux-tegra@vger.kernel.org
Cc: Russell King <rmk+kernel@armlinux.org.uk>
Suggested-by: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Archit Taneja <architt@codeaurora.org> #msm
Link: https://patchwork.freedesktop.org/patch/msgid/20180123170857.13818-5-ville.syrjala@linux.intel.com
Acked-by: Liviu Dudau <liviu.dudau@arm.com> #hdlcd,malidp
Acked-by: Philipp Zabel <p.zabel@pengutronix.de> #imx,mtk
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com> #vmwgfx
Acked-by: Neil Armstrong <narmstrong@baylibre.com> #meson
Acked-by: Shawn Guo <shawnguo@kernel.org> #zte

show more ...


# bf817d0c 23-Jan-2018 Ville Syrjälä <ville.syrjala@linux.intel.com>

drm/armada: Use drm_mode_get_hv_timing() to populate plane clip rectangle

Use drm_mode_get_hv_timing() to fill out the plane clip rectangle.

Since armada isn't atomic we'll use crtc

drm/armada: Use drm_mode_get_hv_timing() to populate plane clip rectangle

Use drm_mode_get_hv_timing() to fill out the plane clip rectangle.

Since armada isn't atomic we'll use crtc->enabled and crtc->mode instead
of the stuff under crtc_state.

Once everyone agrees on how the clip rectangle gets set up we can
move the code into drm_atomic_helper_check_plane_state().

Cc: Dave Airlie <airlied@redhat.com>
Cc: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180123170857.13818-4-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Dave Airlie <airlied@redhat.com>

show more ...


# 57270b81 23-Jan-2018 Ville Syrjälä <ville.syrjala@linux.intel.com>

drm/armada: Construct a temporary crtc state for plane checks

As armada isn't an atomic driver trying to pass a non-populated
crtc->state to drm_atomic_helper_check_plane_state() will en

drm/armada: Construct a temporary crtc state for plane checks

As armada isn't an atomic driver trying to pass a non-populated
crtc->state to drm_atomic_helper_check_plane_state() will end in tears.
Construct a temporary crtc state a la drm_plane_helper_check_update()
and pass that instead. For now we just really need crtc_state->enable
to be there.

Cc: Dave Airlie <airlied@redhat.com>
Cc: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180123170857.13818-3-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Dave Airlie <airlied@redhat.com>

show more ...


# bcd21a47 04-Jan-2018 Dave Airlie <airlied@redhat.com>

Merge branch 'drm-armada-devel-4.15' of git://git.armlinux.org.uk/~rmk/linux-arm into drm-next

This series builds upon the set of fixes previously submitted to move
Armada DRM closer to

Merge branch 'drm-armada-devel-4.15' of git://git.armlinux.org.uk/~rmk/linux-arm into drm-next

This series builds upon the set of fixes previously submitted to move
Armada DRM closer to atomic modeset. We're nowhere near yet, but this
series helps to get us closer by unifying some of the differences
between the primary and overlay planes.

New features added allows userspace to disable the primary plane if
overlay is full screen and there's nothing obscuring the colorkey -
this saves having to fetch an entire buffer containing nothing but
colorkey when displaying full screen video.

[airlied: fixup for atomic plane helper rename:
a01cb8ba3f6282934cff65e89ab36b18b14cbe27
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date: Wed Nov 1 22:16:19 2017 +0200

drm: Move drm_plane_helper_check_state() into drm_atomic_helper.c
]

* 'drm-armada-devel-4.15' of git://git.armlinux.org.uk/~rmk/linux-arm: (29 commits)
drm/armada: expand overlay trace entry
drm/armada: implement primary plane update
drm/armada: extract register generation from armada_drm_primary_set()
drm/armada: wait for previous work when moving overlay window
drm/armada: move overlay plane register update generation
drm/armada: re-organise overlay register update generation
drm/armada: disable planes at next blanking period
drm/armada: avoid work allocation
drm/armada: allow armada_drm_plane_work_queue() to silently fail
drm/armada: use drm_plane_helper_check_state()
drm/armada: only enable HSMOOTH if scaling horizontally
drm/armada: move writes of LCD_SPU_SRAM_PARA1 under lock
drm/armada: move regs into armada_plane_work
drm/armada: move event sending into armada_plane_work
drm/armada: move fb retirement into armada_plane_work
drm/armada: move overlay plane work out from under spinlock
drm/armada: clear plane enable bit when disabling
drm/armada: clean up armada_drm_crtc_plane_disable()
drm/armada: allow the primary plane to be disabled
drm/armada: wait and cancel any pending frame work at disable
...

show more ...


Revision tags: v4.13.16, v4.14, v4.13.5, v4.13
# 07da3c78 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: wait for previous work when moving overlay window

We must wait for the previous plane work to complete before moving
the overlay window, as it could overwrite our positioning

drm/armada: wait for previous work when moving overlay window

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 <rmk+kernel@armlinux.org.uk>

show more ...


# 65843e9a 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: move overlay plane register update generation

Move the overlay plane register update generation to a separate function
as this is independent of the legacy or atomic update.

drm/armada: move overlay plane register update generation

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 <rmk+kernel@armlinux.org.uk>

show more ...


# d19f6ee5 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: re-organise overlay register update generation

Re-organise overlay register generation so that we do not have to wait
for the previous update to complete while creating the n

drm/armada: re-organise overlay register update generation

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 <rmk+kernel@armlinux.org.uk>

show more ...


# 890ca8df 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: disable planes at next blanking period

Disable planes at the next blanking period rather than immediately.
In order to achieve this, we need to delay the clearing of dcrtc->p

drm/armada: disable planes at next blanking period

Disable planes at the next blanking period rather than immediately.
In order to achieve this, we need to delay the clearing of dcrtc->plane
until after the next blanking period, so move that into a separate
work function. To avoid races, we also need to move its assignment in
the overlay code.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

show more ...


# d924155d 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: avoid work allocation

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>


# c93dfdcd 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: allow armada_drm_plane_work_queue() to silently fail

Avoid printing an error message when armada_drm_plane_work_queue() is
unable to get the vblank (eg, because we're doing a

drm/armada: allow armada_drm_plane_work_queue() to silently fail

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 King <rmk+kernel@armlinux.org.uk>

show more ...


# 7bfab1ec 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: use drm_plane_helper_check_state()

Use drm_plane_helper_check_state() to check the overlay plane state
rather than drm_plane_helper_check_update(), as:

(1) using drm

drm/armada: use drm_plane_helper_check_state()

Use drm_plane_helper_check_state() to check the overlay plane state
rather than drm_plane_helper_check_update(), as:

(1) using drm_plane_helper_check_state() provides a better migration
path to atomic modeset
(2) it avoids needless copies of drm rectangle structures, and so is
more efficient.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

show more ...


# 73c51abd 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: only enable HSMOOTH if scaling horizontally

Only enable the HSMOOTH control bit if we are scaling horizontally,
otherwise it makes no sense to enable the horizontal scaler.

drm/armada: only enable HSMOOTH if scaling horizontally

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 <rmk+kernel@armlinux.org.uk>

show more ...


# 214612f9 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: move writes of LCD_SPU_SRAM_PARA1 under lock

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 disabli

drm/armada: move writes of LCD_SPU_SRAM_PARA1 under lock

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 <rmk+kernel@armlinux.org.uk>

show more ...


# eaa66279 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: move regs into armada_plane_work

Move the register update structure out of the overlay private structure
into armada_plane_work, as this is common to both the primary and

drm/armada: move regs into armada_plane_work

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 <rmk+kernel@armlinux.org.uk>

show more ...


# b972a80f 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: move fb retirement into armada_plane_work

Both the primary and overlay planes retire framebuffers in a similar
manner; this can be consolidated by moving the retirement up to

drm/armada: move fb retirement into armada_plane_work

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 <rmk+kernel@armlinux.org.uk>

show more ...


# a3f6a18f 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: move overlay plane work out from under spinlock

Move the overlay plane work out from under the spinlock so that both the
primary and overlay planes run their work in the same

drm/armada: move overlay plane work out from under spinlock

Move the overlay plane work out from under the spinlock so that both the
primary and overlay planes run their work in the same context. This is
necessary so that we can use frame works with the overlay plane.

However, we must update the CRTC registers under the spinlock, so fix up
the overlay code for that.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

show more ...


# d76dcc72 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: clear plane enable bit when disabling

Clear the plane enable bit in the software state within
armada_drm_plane_disable() when disabling either the primary or
overlay plan

drm/armada: clear plane enable bit when disabling

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 <rmk+kernel@armlinux.org.uk>

show more ...


# f1f1bffc 08-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: clean up armada_drm_crtc_plane_disable()

Merge armada_drm_primary_disable() into armada_drm_crtc_plane_disable()
and rename to armada_drm_plane_disable(). Use this to simpli

drm/armada: clean up armada_drm_crtc_plane_disable()

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 <rmk+kernel@armlinux.org.uk>

show more ...


# 65724a19 07-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: wait and cancel any pending frame work at disable

Wait for a second, and if we time out, cancel any pending work when
disabling the primary plane. This ensures that any pend

drm/armada: wait and cancel any pending frame work at disable

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 <rmk+kernel@armlinux.org.uk>

show more ...


# eaab0130 07-Jul-2017 Russell King <rmk+kernel@armlinux.org.uk>

drm/armada: store plane in armada_plane_work

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

drm/armada: store plane in armada_plane_work

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 <rmk+kernel@armlinux.org.uk>

show more ...


1234567