[PATCH 23/23] drm: omapdrm: Remove buffer synchronization support

2016-04-26 Thread Laurent Pinchart
The omapdrm driver uses a custom API to synchronize with the SGX GPU. This is unusable as such in the mainline kernel as the API is only partially implemented and requires additional out-of-tree patches. Furthermore, as no SGX driver is available in the mainline kernel, the API can't be considered

[PATCH 22/23] drm: omapdrm: Remove unused omap_gem_tiled_size function

2016-04-26 Thread Laurent Pinchart
The function is never used, remove it. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_drv.h | 1 - drivers/gpu/drm/omapdrm/omap_gem.c | 12 2 files changed, 13 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h inde

[PATCH 21/23] drm: omapdrm: Remove unused omap_framebuffer_bo function

2016-04-26 Thread Laurent Pinchart
The function is never used, remove it. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_drv.h | 1 - drivers/gpu/drm/omapdrm/omap_fb.c | 10 -- 2 files changed, 11 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h index

[PATCH 20/23] drm: omapdrm: panel-lgphilips-lb035q02: Remove unused backlight GPIO

2016-04-26 Thread Laurent Pinchart
The backlight GPIO was supported with platform data only. Now that the driver only supports DT, the backlight GPIO is never initialized. Remove it. Signed-off-by: Laurent Pinchart --- .../drm/omapdrm/displays/panel-lgphilips-lb035q02.c | 19 --- 1 file changed, 19 deletions(-)

[PATCH 19/23] drm: omapdrm: Remove global variables

2016-04-26 Thread Laurent Pinchart
Move the list of pending IRQ wait instances to the omap_drm_private structure and the wait queue head to the IRQ wait structure. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_drv.h | 3 ++- drivers/gpu/drm/omapdrm/omap_irq.c | 38 -- 2 file

[PATCH 18/23] drm: omapdrm: Simplify IRQ wait implementation

2016-04-26 Thread Laurent Pinchart
Now that the IRQ list is used for IRQ wait only we can merge omap_drm_irq and omap_irq_wait and simplify the implementation. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_drv.h | 17 +-- drivers/gpu/drm/omapdrm/omap_irq.c | 94 ++ 2 file

[PATCH 17/23] drm: omapdrm: Make pipe2vbl function static

2016-04-26 Thread Laurent Pinchart
The function is only used in omap_irq.c, move it there and make it static. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_crtc.c | 7 --- drivers/gpu/drm/omapdrm/omap_drv.h | 1 - drivers/gpu/drm/omapdrm/omap_irq.c | 7 ++- 3 files changed, 6 insertions(+), 9 deletion

[PATCH 16/23] drm: omapdrm: Don't call DISPC power handling in IRQ wait functions

2016-04-26 Thread Laurent Pinchart
The IRQ wait functions are called from the DSS enable and disable operations only, where the DISPC is guaranteed to be enabled. There's no need for manual DISPC power management there. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_irq.c | 4 1 file changed, 4 deletions(-)

[PATCH 15/23] drm: omapdrm: Don't expose the omap_irq_(un)register() functions

2016-04-26 Thread Laurent Pinchart
The functions are not used outside of their compilation unit, make them static. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_drv.h | 6 +- drivers/gpu/drm/omapdrm/omap_irq.c | 27 +++ 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a

[PATCH 14/23] drm: omapdrm: Keep vblank interrupt enabled while CRTC is active

2016-04-26 Thread Laurent Pinchart
Instead of going through a complicated private IRQ registration mechanism, handle the vblank interrupt activation with the standard drm_crtc_vblank_get() and drm_crtc_vblank_put() mechanism. This will let the DRM core keep the vblank interrupt enabled as long as needed to update the frame counter.

[PATCH 13/23] drm: omapdrm: Use a spinlock to protect the CRTC pending flag

2016-04-26 Thread Laurent Pinchart
The flag will need to be accessed atomically in the vblank interrupt handler, memory barriers won't be enough. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_crtc.c | 28 +--- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm

[PATCH 12/23] drm: omapdrm: Prevent processing the same event multiple times

2016-04-26 Thread Laurent Pinchart
The vblank interrupt is disabled after one occurrence, preventing the atomic update event from being processed twice. However, this also prevents the software frame counter from being updated correctly that would require vblank interrupts to be kept enabled while the CRTC is active. In preparation

[PATCH 11/23] drm: omapdrm: Check DSS manager state in the enable/disable helpers

2016-04-26 Thread Laurent Pinchart
The omapdrm DSS manager enable/disable operations check the DSS manager state to avoid double enabling/disabling. Move that code to the DSS manager to decrease the dependency of the DRM layer to the DSS layer. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/dss/dispc.c | 1 - driver

[PATCH 10/23] drm: omapdrm: Use atomic state instead of local device state

2016-04-26 Thread Laurent Pinchart
Instead of conditioning planes update based on the hardware device state, use the CRTC state stored in the atomic state. This reduces the dependency from the DRM layer to the DSS layer. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_crtc.c | 23 ++- 1 file c

[PATCH 09/23] drm: omapdrm: Handle OCP error IRQ directly

2016-04-26 Thread Laurent Pinchart
Instead of going through a complicated registration mechanism, just call the OCP error IRQ handler directly from the main IRQ handler. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_drv.h | 1 - drivers/gpu/drm/omapdrm/omap_irq.c | 29 +++-- 2 files cha

[PATCH 08/23] drm: omapdrm: Handle CRTC error IRQs directly

2016-04-26 Thread Laurent Pinchart
Instead of going through a complicated registration mechanism, just expose the CRTC error IRQ function and call it directly from the main IRQ handler. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_crtc.c | 12 ++-- drivers/gpu/drm/omapdrm/omap_drv.h | 1 + drivers/gp

[PATCH 07/23] drm: omapdrm: Handle FIFO underflow IRQs internally

2016-04-26 Thread Laurent Pinchart
As the FIFO underflow IRQ handler just prints an error message to the kernel log, simplify the code by not registering one IRQ handler per plane but print the messages directly from the main IRQ handler. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_drv.h | 2 +- drivers/gp

[PATCH 06/23] drm: omapdrm: fb: Turn framebuffer creation error messages into debug

2016-04-26 Thread Laurent Pinchart
Don't print userspace parameters validation failures as error messages to avoid giving userspace the ability to flood the kernel log. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_fb.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu

[PATCH 05/23] drm: omapdrm: fb: Simplify mode command checks when creating framebuffer

2016-04-26 Thread Laurent Pinchart
Checks can be simplified based on the requirement that pitches must be identical for all planes. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_fb.c | 51 --- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/drivers/gpu/drm/oma

[PATCH 04/23] drm: omapdrm: fb: Simplify objects lookup when creating framebuffer

2016-04-26 Thread Laurent Pinchart
Merge the single-user objects_lookup inline function into its caller, allowing reuse of the error code path. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_drv.h | 25 - drivers/gpu/drm/omapdrm/omap_fb.c | 30 +++--- 2 files chan

[PATCH 03/23] drm: omapdrm: fb: Store number of planes in format structure

2016-04-26 Thread Laurent Pinchart
This replaces calls to drm_format_num_planes() by a simple field access every time we need the number of planes for the frame buffer. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_fb.c | 55 +-- 1 file changed, 29 insertions(+), 26 deletions

[PATCH 02/23] drm: omapdrm: fb: Don't store format BPP for each plane

2016-04-26 Thread Laurent Pinchart
The number of bits per pixel is identical for all planes, don't store multiple copies. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_fb.c | 53 ++- 1 file changed, 25 insertions(+), 28 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/omap_

[PATCH 01/23] drm: omapdrm: fb: Limit number of planes per framebuffer to two

2016-04-26 Thread Laurent Pinchart
The only multi-planar format supported by the driver is NV12, there will thus never be more than two planes per framebuffer. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/omap_fb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/omap_

[PATCH 00/23] OMAP DRM fixes and improvements

2016-04-26 Thread Laurent Pinchart
Hello, Here's my current stack of pending patches for the omapdrm driver. The most notable change is the rework of the IRQ handling code (patches 07/23 to 19/23) that, beside simplifying the code, ensures that the vblank count and timestamp get updated properly in order to be reported to userspac

[PATCH 04/35] drm: Forbid legacy MAP functions for DRIVER_MODESET

2016-04-26 Thread Chris Wilson
On Tue, Apr 26, 2016 at 07:29:37PM +0200, Daniel Vetter wrote: > Like in > > commit 0e975980d435d58df2d430d688b8c18778b42218 > Author: Peter Antoine > Date: Tue Jun 23 08:18:49 2015 +0100 > > drm: Turn off Legacy Context Functions > > we need to again make an exception for nouveau, but ev

[Bug 117131] vga_switcheroo does not switch IGP -> DIS ( IGP == i915 , DIS == radeon )

2016-04-26 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=117131 --- Comment #26 from Alex Deucher --- (In reply to Jason Vas Dias from comment #22) > It looks like the Intel driver is actually internally using the Radeon > driver? No. The drivers are independent. vga_switcheroo provides the intermediary for

[PATCH 03/35] drm: Move drm_getmap into drm_bufs.c and give it a legacy prefix

2016-04-26 Thread Chris Wilson
On Tue, Apr 26, 2016 at 07:29:36PM +0200, Daniel Vetter wrote: > It belongs right next to the addmap and rmmap functions really. And > for OCD consistency name it drm_legacy_getmap_ioctl. > > Signed-off-by: Daniel Vetter Reviewed-by: Chris Wilson -Chris -- Chris Wilson, Intel Open Source Techn

[PATCH 06/35] drm: Hide master MAP cleanup in drm_bufs.c

2016-04-26 Thread Chris Wilson
On Tue, Apr 26, 2016 at 07:29:39PM +0200, Daniel Vetter wrote: > And again make sure it's a no-op for modern drivers, again with the > exception of nouveau. Another case of dev->struct_mutex gone for > modern drivers! > > v2: Also add a DRIVER_* check like for all other maps functions to > really

[Bug 117131] vga_switcheroo does not switch IGP -> DIS ( IGP == i915 , DIS == radeon )

2016-04-26 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=117131 --- Comment #25 from Alex Deucher --- Please attach you logs rather than pasting them in the comments, it's much harder to follow with them inline. Also, as per comment 11, please try removing your xorg config file completely. The drivers are a

[Bug 117131] vga_switcheroo does not switch IGP -> DIS ( IGP == i915 , DIS == radeon )

2016-04-26 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=117131 --- Comment #24 from Alex Deucher --- (In reply to Jason Vas Dias from comment #20) > When I look at linux 4.5.0 boot dmesg log messages like : > > [3.115380] vga_switcheroo: enabled > [3.115463] ATPX version 1, functions 0x0033 > [

[PATCH 09/35] drm/gem: support BO freeing without dev->struct_mutex

2016-04-26 Thread Daniel Vetter
On Tue, Apr 26, 2016 at 08:47:32PM +0100, Chris Wilson wrote: > On Tue, Apr 26, 2016 at 07:29:42PM +0200, Daniel Vetter wrote: > > Finally all the core gem and a lot of drivers are entirely free of > > dev->struct_mutex depencies, and we can start to have an entirely > > lockless unref path. > > >

[PATCH 01/35] drm: Give drm_agp_clear drm_legacy_ prefix

2016-04-26 Thread Chris Wilson
On Tue, Apr 26, 2016 at 07:29:34PM +0200, Daniel Vetter wrote: > It has a DRIVER_MODESET check to sure make it's not creating havoc > for drm drivers. Make that clear in the name too. The pattern is that any extern that starts if (drm_core_check_feature(MODESET)) return becomes drm_lega

[RFC v2 5/8] drm/fence: add in-fences support

2016-04-26 Thread Daniel Vetter
On Tue, Apr 26, 2016 at 09:55:06PM +0300, Ville Syrjälä wrote: > On Tue, Apr 26, 2016 at 08:23:46PM +0200, Daniel Vetter wrote: > > On Tue, Apr 26, 2016 at 08:40:45PM +0300, Ville Syrjälä wrote: > > > On Tue, Apr 26, 2016 at 07:20:49PM +0200, Daniel Vetter wrote: > > > > On Tue, Apr 26, 2016 at

i951 Xv playback uneven

2016-04-26 Thread Florian Zumbiehl
Hi, with the drm-intel-nightly I am currently running, I am also seeing some quite noticable stuttering in Xv playback. It's particularly obvious in stuff like rolling credits. It's not directly a performance problem, as the effect can be seen even in "stop motion" (i.e., frame by frame) playback:

[RFC v2 5/8] drm/fence: add in-fences support

2016-04-26 Thread Ville Syrjälä
On Tue, Apr 26, 2016 at 08:23:46PM +0200, Daniel Vetter wrote: > On Tue, Apr 26, 2016 at 08:40:45PM +0300, Ville Syrjälä wrote: > > On Tue, Apr 26, 2016 at 07:20:49PM +0200, Daniel Vetter wrote: > > > On Tue, Apr 26, 2016 at 07:26:21PM +0300, Ville Syrjälä wrote: > > > > On Tue, Apr 26, 2016 at

[Intel-gfx] [PATCH 05/35] drm: Push struct_mutex into ->master_destroy

2016-04-26 Thread Chris Wilson
On Tue, Apr 26, 2016 at 07:29:38PM +0200, Daniel Vetter wrote: > Only two drivers implement this hook. vmwgfx (which doesn't need it > really) and legacy radeon (which since v1 has been nuked, yay). > > v1: Rebase over radeon ums removal. > > Cc: Thomas Hellstrom > Cc: Alex Deucher > Signed-off

[Intel-gfx] [PATCH 08/35] drm: Protect dev->filelist with its own mutex

2016-04-26 Thread Chris Wilson
On Tue, Apr 26, 2016 at 07:29:41PM +0200, Daniel Vetter wrote: > amdgpu gained dev->struct_mutex usage, and that's because it's walking > the dev->filelist list. Protect that list with it's own lock to take > one more step towards getting rid of struct_mutex usage in drivers > once and for all. >

[PATCH 09/35] drm/gem: support BO freeing without dev->struct_mutex

2016-04-26 Thread Chris Wilson
On Tue, Apr 26, 2016 at 10:10:14PM +0200, Daniel Vetter wrote: > On Tue, Apr 26, 2016 at 08:47:32PM +0100, Chris Wilson wrote: > > On Tue, Apr 26, 2016 at 07:29:42PM +0200, Daniel Vetter wrote: > > > Finally all the core gem and a lot of drivers are entirely free of > > > dev->struct_mutex depencie

[PATCH v6 03/25] io-mapping: Specify mapping size for io_mapping_map_wc()

2016-04-26 Thread Chris Wilson
The ioremap() hidden behind the io_mapping_map_wc() convenience helper can be used for remapping multiple pages. Extend the helper so that future callers can use it for larger ranges. Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin Cc: Daniel Vetter Cc: Jani Nikula Cc: David Airlie Cc: Yishai

[PATCH 09/35] drm/gem: support BO freeing without dev->struct_mutex

2016-04-26 Thread Chris Wilson
On Tue, Apr 26, 2016 at 07:29:42PM +0200, Daniel Vetter wrote: > Finally all the core gem and a lot of drivers are entirely free of > dev->struct_mutex depencies, and we can start to have an entirely > lockless unref path. > > To make sure that no one who touches the core code accidentally breaks

[RFC v2 5/8] drm/fence: add in-fences support

2016-04-26 Thread Ville Syrjälä
On Tue, Apr 26, 2016 at 07:20:49PM +0200, Daniel Vetter wrote: > On Tue, Apr 26, 2016 at 07:26:21PM +0300, Ville Syrjälä wrote: > > On Tue, Apr 26, 2016 at 04:36:36PM +0200, Daniel Vetter wrote: > > > On Tue, Apr 26, 2016 at 11:14:22AM -0300, Gustavo Padovan wrote: > > > > 2016-04-26 Ville Syrjä

[RFC v2 5/8] drm/fence: add in-fences support

2016-04-26 Thread Daniel Vetter
On Tue, Apr 26, 2016 at 08:40:45PM +0300, Ville Syrjälä wrote: > On Tue, Apr 26, 2016 at 07:20:49PM +0200, Daniel Vetter wrote: > > On Tue, Apr 26, 2016 at 07:26:21PM +0300, Ville Syrjälä wrote: > > > On Tue, Apr 26, 2016 at 04:36:36PM +0200, Daniel Vetter wrote: > > > > On Tue, Apr 26, 2016 at

[Bug 71789] [r300g] Visuals not found in (default) depth = 24

2016-04-26 Thread bugzilla-dae...@freedesktop.org
art -- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20160426/b107fe48/attachment.html>

[RFC v2 7/8] drm/fence: add fence timeline to drm_crtc

2016-04-26 Thread Ville Syrjälä
On Tue, Apr 26, 2016 at 11:23:06AM -0300, Gustavo Padovan wrote: > 2016-04-26 Ville Syrjälä : > > > On Mon, Apr 25, 2016 at 07:33:27PM -0300, Gustavo Padovan wrote: > > > From: Gustavo Padovan > > > > > > Create one timeline context for each CRTC to be able to handle out-fences > > > and signa

[PATCH 35/35] drm/rockchip: Use cma gem vm ops

2016-04-26 Thread Daniel Vetter
No need to reinvent this little wheel. Cc: Mark Yao Signed-off-by: Daniel Vetter --- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c i

[PATCH 34/35] drm/virtio: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
With Benjanim's patch to remove the dev->struct_mutex cargo cult the sti driver is now also entirely legacy locking free. Let's convert it too. Cc: Benjamin Gaignard Signed-off-by: Daniel Vetter --- drivers/gpu/drm/sti/sti_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[PATCH 33/35] drm: sti: remove useless call to dev->struct_mutex

2016-04-26 Thread Daniel Vetter
From: Benjamin Gaignard No need to protect debugfs functions with dev->struct_mutex Signed-off-by: Benjamin Gaignard Signed-off-by: Daniel Vetter --- drivers/gpu/drm/sti/sti_cursor.c | 7 --- drivers/gpu/drm/sti/sti_drv.c| 6 -- drivers/gpu/drm/sti/sti_dvo.c| 7 --- dri

[PATCH 32/35] drm/virtio: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Gerd Hoffmann Cc: David Airlie Signed-off-by: Daniel Vetter --- drivers/gpu/drm/virtio/virtgpu_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c b/drivers/gpu/drm/virtio/virtgpu_drv.c in

[PATCH 31/35] drm/vgem: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: seanpaul at chromium.org Signed-off-by: Daniel Vetter --- drivers/gpu/drm/vgem/vgem_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c index d61a547fa3c9..1228b4

[PATCH 30/35] drm/vc4: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Eric Anholt Signed-off-by: Daniel Vetter --- drivers/gpu/drm/vc4/vc4_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index b7d2ff0e6e1f..13f704de39e1 100644 ---

[PATCH 29/35] drm/vc4: Use drm_gem_object_unreference_unlocked

2016-04-26 Thread Daniel Vetter
Since my last struct_mutex crusade someone escaped! This already has the advantage that for the common case when someone else holds a ref the unref won't even acquire dev->struct_mutex. And I'm working on code to allow drivers to completely opt-out of any and all dev->struct_mutex usage, but that

[PATCH 28/35] drm/tilcdc: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Tomi Valkeinen Signed-off-by: Daniel Vetter --- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c index 709bc903524d..30

[PATCH 27/35] drm/tegra: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Thierry Reding Cc: Terje Bergström Cc: linux-tegra at vger.kernel.org Signed-off-by: Daniel Vetter --- drivers/gpu/drm/tegra/drm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/te

[PATCH 26/35] drm/shmob: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Laurent Pinchart Signed-off-by: Daniel Vetter --- drivers/gpu/drm/shmobile/shmob_drm_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c index

[PATCH 25/35] drm/rockchip: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Mark Yao Signed-off-by: Daniel Vetter --- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c inde

[PATCH 24/35] drm/rcar-du: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Laurent Pinchart Signed-off-by: Daniel Vetter --- drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c index fb9242d2

[PATCH 23/35] drm/radeon: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Alex Deucher Signed-off-by: Daniel Vetter --- drivers/gpu/drm/radeon/radeon_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index 5d44ed0d104a..b9f7

[PATCH 22/35] drm/qxl: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Dave Airlie Signed-off-by: Daniel Vetter --- drivers/gpu/drm/qxl/qxl_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c index dc9df5fe50ba..460bbceae297 100644 ---

[PATCH 21/35] drm/nouveau: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Ben Skeggs Signed-off-by: Daniel Vetter --- drivers/gpu/drm/nouveau/nouveau_drm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index db5c7d0cc25c..

[PATCH 20/35] drm/mga200g: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Dave Airlie Signed-off-by: Daniel Vetter --- drivers/gpu/drm/mgag200/mgag200_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index ebb470ff7200.

[PATCH 19/35] drm/imx: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Sascha Hauer Cc: Philipp Zabel Signed-off-by: Daniel Vetter --- drivers/gpu/drm/imx/imx-drm-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c index e2

[PATCH 18/35] drm/fls-dcu: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Jianwei Wang Cc: Stefan Agner Signed-off-by: Daniel Vetter --- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dc

[PATCH 17/35] drm/exynos: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Inki Dae Signed-off-by: Daniel Vetter --- drivers/gpu/drm/exynos/exynos_drm_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c index 5344940c8a

[PATCH 16/35] drm/etnaviv: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Christian Gmeiner Cc: Russell King Cc: Lucas Stach Signed-off-by: Daniel Vetter --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/

[PATCH 15/35] drm/cirrus: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Dave Airlie Signed-off-by: Daniel Vetter --- drivers/gpu/drm/cirrus/cirrus_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c b/drivers/gpu/drm/cirrus/cirrus_drv.c index dc83f69da6f1..b05f7

[PATCH 14/35] drm/bochs: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Gerd Hoffmann Cc: Dave Airlie Signed-off-by: Daniel Vetter --- drivers/gpu/drm/bochs/bochs_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c index b332b4

[PATCH 13/35] drm/atmel: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Boris Brezillon Signed-off-by: Daniel Vetter --- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc

[PATCH 12/35] drm/ast: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Dave Airlie Signed-off-by: Daniel Vetter --- drivers/gpu/drm/ast/ast_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/ast/ast_drv.c b/drivers/gpu/drm/ast/ast_drv.c index fcd9c0714836..f54afd2113a9 100644 ---

[PATCH 11/35] drm/armada: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Russell King Signed-off-by: Daniel Vetter --- drivers/gpu/drm/armada/armada_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c index 82043c204b76..531f

[PATCH 10/35] drm/amdgpu: Use lockless gem BO free callback

2016-04-26 Thread Daniel Vetter
No dev->struct_mutex anywhere to be seen. Cc: Alex Deucher Signed-off-by: Daniel Vetter --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 93462a

[PATCH 09/35] drm/gem: support BO freeing without dev->struct_mutex

2016-04-26 Thread Daniel Vetter
Finally all the core gem and a lot of drivers are entirely free of dev->struct_mutex depencies, and we can start to have an entirely lockless unref path. To make sure that no one who touches the core code accidentally breaks existing drivers which still require dev->struct_mutex I've made the migh

[PATCH 08/35] drm: Protect dev->filelist with its own mutex

2016-04-26 Thread Daniel Vetter
amdgpu gained dev->struct_mutex usage, and that's because it's walking the dev->filelist list. Protect that list with it's own lock to take one more step towards getting rid of struct_mutex usage in drivers once and for all. While doing the conversion I noticed that 2 debugfs files in i915 complet

[PATCH 07/35] drm: Make drm_vm_open/close_locked private to drm_vm.c

2016-04-26 Thread Daniel Vetter
It's only used for legacy mmaping support now. Signed-off-by: Daniel Vetter --- drivers/gpu/drm/drm_internal.h | 2 -- drivers/gpu/drm/drm_vm.c | 16 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_inter

[PATCH 06/35] drm: Hide master MAP cleanup in drm_bufs.c

2016-04-26 Thread Daniel Vetter
And again make sure it's a no-op for modern drivers, again with the exception of nouveau. Another case of dev->struct_mutex gone for modern drivers! v2: Also add a DRIVER_* check like for all other maps functions to really short-circuit the code. And give drm_legacy_rmmap used by the dev unregiste

[PATCH 05/35] drm: Push struct_mutex into ->master_destroy

2016-04-26 Thread Daniel Vetter
Only two drivers implement this hook. vmwgfx (which doesn't need it really) and legacy radeon (which since v1 has been nuked, yay). v1: Rebase over radeon ums removal. Cc: Thomas Hellstrom Cc: Alex Deucher Signed-off-by: Daniel Vetter --- drivers/gpu/drm/drm_drv.c | 2 +- 1 file changed, 1 in

[PATCH 04/35] drm: Forbid legacy MAP functions for DRIVER_MODESET

2016-04-26 Thread Daniel Vetter
Like in commit 0e975980d435d58df2d430d688b8c18778b42218 Author: Peter Antoine Date: Tue Jun 23 08:18:49 2015 +0100 drm: Turn off Legacy Context Functions we need to again make an exception for nouveau, but everyone else really doesn't need this. Cc: Peter Antoine Cc: Ben Skeggs Signed-

[PATCH 03/35] drm: Move drm_getmap into drm_bufs.c and give it a legacy prefix

2016-04-26 Thread Daniel Vetter
It belongs right next to the addmap and rmmap functions really. And for OCD consistency name it drm_legacy_getmap_ioctl. Signed-off-by: Daniel Vetter --- drivers/gpu/drm/drm_bufs.c | 52 ++ drivers/gpu/drm/drm_ioctl.c | 54 +-

[PATCH 02/35] drm: Put legacy lastclose work into drm_legacy_dev_reinit

2016-04-26 Thread Daniel Vetter
Except for the ->lasclose driver callback evrything in drm_lastclose() is all legacy cruft and can be hidden. Which means another dev->struct_mutex site disappears entirely for modern drivers! Also while at it change the return value of drm_lastclose to void since it will always succeed. No one ch

[PATCH 01/35] drm: Give drm_agp_clear drm_legacy_ prefix

2016-04-26 Thread Daniel Vetter
It has a DRIVER_MODESET check to sure make it's not creating havoc for drm drivers. Make that clear in the name too. v2: Move misplaced hunk, spotted by 0day and Thierry. Cc: Thierry Reding Signed-off-by: Daniel Vetter --- drivers/gpu/drm/drm_agpsupport.c | 4 ++-- drivers/gpu/drm/drm_fops.c

[PATCH 00/35] Moar struct_mutex nuking

2016-04-26 Thread Daniel Vetter
Hi all, First few patches are resends (reviews, pretty please), but most of this is all new. After all this all the legacy code is guarded by DRIVER_* feature tests, and struct_mutex is never even acquired for modern drivers (except nouveau, because). And there's just 2 things left where struct_mu

[RFC v2 5/8] drm/fence: add in-fences support

2016-04-26 Thread Ville Syrjälä
On Tue, Apr 26, 2016 at 04:36:36PM +0200, Daniel Vetter wrote: > On Tue, Apr 26, 2016 at 11:14:22AM -0300, Gustavo Padovan wrote: > > 2016-04-26 Ville Syrjälä : > > > > > On Mon, Apr 25, 2016 at 07:33:25PM -0300, Gustavo Padovan wrote: > > > > From: Gustavo Padovan > > > > > > > > There is now

[RFC v2 5/8] drm/fence: add in-fences support

2016-04-26 Thread Ville Syrjälä
On Tue, Apr 26, 2016 at 11:14:22AM -0300, Gustavo Padovan wrote: > 2016-04-26 Ville Syrjälä : > > > On Mon, Apr 25, 2016 at 07:33:25PM -0300, Gustavo Padovan wrote: > > > From: Gustavo Padovan > > > > > > There is now a new property called FENCE_FD attached to every plane > > > state that rece

[RFC v2 5/8] drm/fence: add in-fences support

2016-04-26 Thread Daniel Vetter
On Tue, Apr 26, 2016 at 07:26:21PM +0300, Ville Syrjälä wrote: > On Tue, Apr 26, 2016 at 04:36:36PM +0200, Daniel Vetter wrote: > > On Tue, Apr 26, 2016 at 11:14:22AM -0300, Gustavo Padovan wrote: > > > 2016-04-26 Ville Syrjälä : > > > > > > > On Mon, Apr 25, 2016 at 07:33:25PM -0300, Gustavo

[PATCH v2 4/8] drm/fb-helper: Add fb_deferred_io support

2016-04-26 Thread Daniel Vetter
On Tue, Apr 26, 2016 at 06:24:54PM +0200, Noralf Trønnes wrote: > > Den 25.04.2016 11:09, skrev Daniel Vetter: > >On Sun, Apr 24, 2016 at 10:48:58PM +0200, Noralf Trønnes wrote: > >>This adds deferred io support if CONFIG_FB_DEFERRED_IO is enabled. > >>The fbdev framebuffer changes are flushed u

[Bug 117131] vga_switcheroo does not switch IGP -> DIS ( IGP == i915 , DIS == radeon )

2016-04-26 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=117131 --- Comment #23 from Jason Vas Dias --- Xorg server log of successful session [ 173.214] X.Org X Server 1.18.3 Release Date: 2016-04-04 [ 173.214] X Protocol Version 11, Revision 0 [ 173.214] Build Operating System: Linux 4.5.0 x86_64 [

[Bug 117131] vga_switcheroo does not switch IGP -> DIS ( IGP == i915 , DIS == radeon )

2016-04-26 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=117131 --- Comment #22 from Jason Vas Dias --- It looks like the Intel driver is actually internally using the Radeon driver? -- You are receiving this mail because: You are watching the assignee of the bug.

[Bug 117131] vga_switcheroo does not switch IGP -> DIS ( IGP == i915 , DIS == radeon )

2016-04-26 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=117131 --- Comment #21 from Jason Vas Dias --- Aha! It was : Section "Device" Identifier "Intel" Driver "intel" Option "Monitor-eDP-1" "eDP-1" Option "Monitor-DisplayPort-0" "eDP-1" EndSection and also : Section "ServerLayout" Ident

[PATCH v2 1/8] drm/rect: Add some drm_clip_rect utility functions

2016-04-26 Thread Noralf Trønnes
Den 25.04.2016 23:13, skrev Laurent Pinchart: > Hi Noralf, > > On Monday 25 Apr 2016 20:35:18 Noralf Trønnes wrote: >> Den 25.04.2016 18:38, skrev Ville Syrjälä: >>> On Mon, Apr 25, 2016 at 06:05:20PM +0200, Daniel Vetter wrote: On Mon, Apr 25, 2016 at 06:09:44PM +0300, Ville Syrjälä wro

[PATCH v2 4/8] drm/fb-helper: Add fb_deferred_io support

2016-04-26 Thread Noralf Trønnes
Den 25.04.2016 11:09, skrev Daniel Vetter: > On Sun, Apr 24, 2016 at 10:48:58PM +0200, Noralf Trønnes wrote: >> This adds deferred io support if CONFIG_FB_DEFERRED_IO is enabled. >> The fbdev framebuffer changes are flushed using the callback >> (struct drm_framebuffer *)->funcs->dirty() by a ded

[PATCH 09/35] drm/gem: support BO freeing without dev->struct_mutex

2016-04-26 Thread Alex Deucher
On Tue, Apr 26, 2016 at 1:29 PM, Daniel Vetter wrote: > Finally all the core gem and a lot of drivers are entirely free of > dev->struct_mutex depencies, and we can start to have an entirely > lockless unref path. > > To make sure that no one who touches the core code accidentally breaks > existi

[Intel-gfx] [PATCH 08/35] drm: Protect dev->filelist with its own mutex

2016-04-26 Thread Alex Deucher
On Tue, Apr 26, 2016 at 4:52 PM, Chris Wilson wrote: > On Tue, Apr 26, 2016 at 07:29:41PM +0200, Daniel Vetter wrote: >> amdgpu gained dev->struct_mutex usage, and that's because it's walking >> the dev->filelist list. Protect that list with it's own lock to take >> one more step towards getting

[PATCH 07/35] drm: Make drm_vm_open/close_locked private to drm_vm.c

2016-04-26 Thread Alex Deucher
On Tue, Apr 26, 2016 at 1:29 PM, Daniel Vetter wrote: > It's only used for legacy mmaping support now. > > Signed-off-by: Daniel Vetter Reviewed-by: Alex Deucher > --- > drivers/gpu/drm/drm_internal.h | 2 -- > drivers/gpu/drm/drm_vm.c | 16 > 2 files changed, 4 inser

[PATCH 06/35] drm: Hide master MAP cleanup in drm_bufs.c

2016-04-26 Thread Alex Deucher
On Tue, Apr 26, 2016 at 1:29 PM, Daniel Vetter wrote: > And again make sure it's a no-op for modern drivers, again with the > exception of nouveau. Another case of dev->struct_mutex gone for > modern drivers! > > v2: Also add a DRIVER_* check like for all other maps functions to > really short-ci

[PATCH 05/35] drm: Push struct_mutex into ->master_destroy

2016-04-26 Thread Alex Deucher
On Tue, Apr 26, 2016 at 1:29 PM, Daniel Vetter wrote: > Only two drivers implement this hook. vmwgfx (which doesn't need it > really) and legacy radeon (which since v1 has been nuked, yay). > > v1: Rebase over radeon ums removal. > > Cc: Thomas Hellstrom > Cc: Alex Deucher > Signed-off-by: Dani

[PATCH 04/35] drm: Forbid legacy MAP functions for DRIVER_MODESET

2016-04-26 Thread Alex Deucher
On Tue, Apr 26, 2016 at 1:29 PM, Daniel Vetter wrote: > Like in > > commit 0e975980d435d58df2d430d688b8c18778b42218 > Author: Peter Antoine > Date: Tue Jun 23 08:18:49 2015 +0100 > > drm: Turn off Legacy Context Functions > > we need to again make an exception for nouveau, but everyone els

[PATCH 03/35] drm: Move drm_getmap into drm_bufs.c and give it a legacy prefix

2016-04-26 Thread Alex Deucher
On Tue, Apr 26, 2016 at 1:29 PM, Daniel Vetter wrote: > It belongs right next to the addmap and rmmap functions really. And > for OCD consistency name it drm_legacy_getmap_ioctl. > > Signed-off-by: Daniel Vetter Reviewed-by: Alex Deucher > --- > drivers/gpu/drm/drm_bufs.c | 52

[PATCH 02/35] drm: Put legacy lastclose work into drm_legacy_dev_reinit

2016-04-26 Thread Alex Deucher
On Tue, Apr 26, 2016 at 1:29 PM, Daniel Vetter wrote: > Except for the ->lasclose driver callback evrything in drm_lastclose() > is all legacy cruft and can be hidden. Which means another > dev->struct_mutex site disappears entirely for modern drivers! > > Also while at it change the return value

[Bug 117131] vga_switcheroo does not switch IGP -> DIS ( IGP == i915 , DIS == radeon )

2016-04-26 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=117131 --- Comment #20 from Jason Vas Dias --- When I look at linux 4.5.0 boot dmesg log messages like : [3.115380] vga_switcheroo: enabled [3.115463] ATPX version 1, functions 0x0033 [3.115541] [drm] DMAR active, disabling use of stole

[RFC v2 8/8] drm/fence: add out-fences support

2016-04-26 Thread Daniel Vetter
On Mon, Apr 25, 2016 at 07:33:28PM -0300, Gustavo Padovan wrote: > From: Gustavo Padovan > > Support DRM out-fences creating a sync_file with a fence for each crtc > update with the DRM_MODE_ATOMIC_OUT_FENCE flag. > > We then send an struct drm_out_fences array with the out-fences fds back in >

[RFC v2 1/8] dma-buf/fence: add fence_collection fences

2016-04-26 Thread Daniel Vetter
On Mon, Apr 25, 2016 at 07:33:21PM -0300, Gustavo Padovan wrote: > From: Gustavo Padovan > > struct fence_collection inherits from struct fence and carries a > collection of fences that needs to be waited together. > > It is useful to translate a sync_file to a fence to remove the complexity > o

  1   2   >