[PATCH 24/24] drm/radeon: add faulty command buffer dump facilities

2012-04-25 Thread Luca Tettamanti
Hi Jerome, On Wed, Apr 25, 2012 at 9:03 PM, wrote: > From: Jerome Glisse > > This add a command buffer dumping facilities, that will > dump command buffer and all associated bo that most likely > triggered a lockup. [cut] I spotted this: > +void radeon_fence_blob_faulty_ib(struct radeon_devic

[PATCH v2 4/4] drm/nouveau: gpu lockup recovery

2012-04-25 Thread Marcin Slusarz
On Wed, Apr 25, 2012 at 11:20:36PM +0200, Marcin Slusarz wrote: > Overall idea: > Detect lockups by watching for timeouts (vm flush / fence), return -EIOs, > handle them at ioctl level, reset the GPU and repeat last ioctl. > > GPU reset is done by doing suspend / resume cycle with few tweaks: > -

[PATCH v2 4/4] drm/nouveau: gpu lockup recovery

2012-04-25 Thread Marcin Slusarz
Overall idea: Detect lockups by watching for timeouts (vm flush / fence), return -EIOs, handle them at ioctl level, reset the GPU and repeat last ioctl. GPU reset is done by doing suspend / resume cycle with few tweaks: - CPU-only bo eviction - ignoring vm flush / fence timeouts - shortening waits

[PATCH v2 3/4] drm/nv50: let applications hanging on vm flush to be killed

2012-04-25 Thread Marcin Slusarz
Signed-off-by: Marcin Slusarz --- drivers/gpu/drm/nouveau/nv50_graph.c |5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c b/drivers/gpu/drm/nouveau/nv50_graph.c index 6899547..a61853f 100644 --- a/drivers/gpu/drm/nouveau/nv50_graph.c

[PATCH v2 2/4] drm/nouveau: propagate errors from vm flushes

2012-04-25 Thread Marcin Slusarz
We need this for lockup recovery. Signed-off-by: Marcin Slusarz --- drivers/gpu/drm/nouveau/nouveau_bo.c |9 +++-- drivers/gpu/drm/nouveau/nouveau_drv.h |6 +++--- drivers/gpu/drm/nouveau/nouveau_vm.c | 20 ++-- drivers/gpu/drm/nouveau/nouveau_vm.h | 18 +++

[PATCH v2 1/4] drm/nouveau: base fence timeout on time of emission

2012-04-25 Thread Marcin Slusarz
Wait loop can be interrupted by signal, so if signals are raised periodically (e.g. SIGALRM) this loop may never finish. Use emission time as a base for fence timeout. Signed-off-by: Marcin Slusarz --- drivers/gpu/drm/nouveau/nouveau_fence.c |5 - 1 files changed, 4 insertions(+), 1 dele

Re: [PATCH 1/3] drivers-gpu-drm-allow-to-load-edid-firmware.patch

2012-04-25 Thread Carsten Emde
Michael, On Sun, 11 Mar 2012 22:23:22 +0100, Carsten Emde wrote: On 03/11/2012 02:44 PM, Alan Cox wrote: This patch allows to load an EDID data set via the firmware interface. It contains data sets of frequently used screen resolutions (1024x768, 1280x1024, 1680x1050 and 1920x1080). The reques

Re: linux-next: Tree for Apr 17 (pci-sysfs.c and vga_switcheroo.c)

2012-04-25 Thread Bjorn Helgaas
On Tue, Apr 17, 2012 at 12:40 PM, Randy Dunlap wrote: > On 04/16/2012 09:42 PM, Stephen Rothwell wrote: > >> Hi all, >> >> Changes since 20120416: > > > When CONFIG_VGA_ARB is not enabled: > > drivers/built-in.o: In function `boot_vga_show': > pci-sysfs.c:(.text+0x1060f): undefined reference to `v

Re: [RFC v2 3/5] i2c: Add of_i2c_get_adapter() function

2012-04-25 Thread Stephen Warren
On 04/25/2012 03:45 AM, Thierry Reding wrote: > This function resolves an OF device node to an I2C adapter registered > with the I2C core. I think this is doing the same thing as a patch I posted recently: http://www.spinics.net/lists/linux-i2c/msg07808.html What's the advantage of one way over t

[Bug 49140] r600_state_common.c:761:r600_draw_vbo: Assertion `0' failed

2012-04-25 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=49140 --- Comment #1 from Vadim 2012-04-25 16:06:28 PDT --- Probably register limit. Shader uses 5 inputs + 8 outputs + 112 temps = 125 registers. I think it should work if you could make it less than 120. -- Configure bugmail: https://bugs.freedeskt

[PATCH v2 3/4] drm/exynos: added userptr feature.

2012-04-25 Thread InKi Dae
Hi Dave, 2012/4/25, Dave Airlie : > On Tue, Apr 24, 2012 at 6:17 AM, Inki Dae wrote: >> this feature could be used to use memory region allocated by malloc() in >> user >> mode and mmaped memory region allocated by other memory allocators. >> userptr >> interface can identify memory type through

[Bug 41668] Screen locks up at random points when using a 3D compositing wm (gnome-shell) on an rv515 (radeon mobility x1300)

2012-04-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=41668 --- Comment #27 from dmotd 2012-04-25 19:44:29 PDT --- apologies for the many months without reply - i have not been in a position to contribute after making the initial bug report. i recently performed a system update and am currently running

[RFC v2 3/5] i2c: Add of_i2c_get_adapter() function

2012-04-25 Thread Thierry Reding
requently this isn't much of an issue. Thierry -- next part -- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20120425/ae82b75a/attachment.pgp>

[PATCH 24/24] drm/radeon: add faulty command buffer dump facilities

2012-04-25 Thread Jerome Glisse
On Wed, Apr 25, 2012 at 5:53 PM, Luca Tettamanti wrote: > Hi Jerome, > > On Wed, Apr 25, 2012 at 9:03 PM, ? wrote: >> From: Jerome Glisse >> >> This add a command buffer dumping facilities, that will >> dump command buffer and all associated bo that most likely >> triggered a lockup. > [cut] > >

[PATCH 26/26] drm/radeon: add the ib content and relocs to the ring debugfs file

2012-04-25 Thread Christian König
On 25.04.2012 16:36, Jerome Glisse wrote: > NAK i would rather have a full dump as i described. I can do a patch > for that if you want. > I don't stick with those files neither, just wanted to restore the same functionality as we had before. Just finished a conference call with Alex and the rest

linux-next: Tree for Apr 17 (pci-sysfs.c and vga_switcheroo.c)

2012-04-25 Thread Matthew Garrett
On Wed, Apr 25, 2012 at 10:37:26AM -0600, Bjorn Helgaas wrote: > I assume this is related to 77b267c7549e3629ea55cf780aa3d474da7bc2d5 > ("vgaarb: Add support for setting the default video device") and that > Matthew will take care of whatever needs to be done (if it's not fixed > already). Dave ha

[PATCH 06/26] drm/radeon: fix a critical bug in the SA code

2012-04-25 Thread Christian König
On 25.04.2012 16:34, Jerome Glisse wrote: > On Wed, Apr 25, 2012 at 9:40 AM, Alex Deucher > wrote: >> On Wed, Apr 25, 2012 at 9:19 AM, Michel D?nzer wrote: >>> On Mit, 2012-04-25 at 14:46 +0200, Christian K?nig wrote: Aligning offset can make it bigger than tmp->offset leading to an ov

[Bug 45018] [bisected] rendering regression since added support for virtual address space on cayman v11

2012-04-25 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=45018 --- Comment #50 from Michel D?nzer 2012-04-25 09:16:19 PDT --- Comment on attachment 60582 --> https://bugs.freedesktop.org/attachment.cgi?id=60582 possible fix Review of attachment 60582: --> (https://bugs.freedesktop.org/page.cgi?id=splin

[Bug 49140] r600_state_common.c:761:r600_draw_vbo: Assertion `0' failed

2012-04-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=49140 --- Comment #1 from Vadim 2012-04-25 16:06:28 PDT --- Probably register limit. Shader uses 5 inputs + 8 outputs + 112 temps = 125 registers. I think it should work if you could make it less than 120. -- Configure bugmail: https://bugs.freedeskt

[Bug 45018] [bisected] rendering regression since added support for virtual address space on cayman v11

2012-04-25 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=45018 --- Comment #49 from Alex Deucher 2012-04-25 08:59:57 PDT --- Created attachment 60582 --> https://bugs.freedesktop.org/attachment.cgi?id=60582 possible fix Does this patch help? -- Configure bugmail: https://bugs.freedesktop.org/userprefs.

[PATCH 06/26] drm/radeon: fix a critical bug in the SA code

2012-04-25 Thread Christian König
On 25.04.2012 15:19, Michel D?nzer wrote: > On Mit, 2012-04-25 at 14:46 +0200, Christian K?nig wrote: >> Aligning offset can make it bigger than tmp->offset >> leading to an overrun bug in the following subtraction. >> >> Signed-off-by: Christian K?nig > Please add > > Cc: stable at vger.kernel.org

Re: [PATCH 24/24] drm/radeon: add faulty command buffer dump facilities

2012-04-25 Thread Jerome Glisse
On Wed, Apr 25, 2012 at 5:53 PM, Luca Tettamanti wrote: > Hi Jerome, > > On Wed, Apr 25, 2012 at 9:03 PM,   wrote: >> From: Jerome Glisse >> >> This add a command buffer dumping facilities, that will >> dump command buffer and all associated bo that most likely >> triggered a lockup. > [cut] > >

[Bug 45018] [bisected] rendering regression since added support for virtual address space on cayman v11

2012-04-25 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=45018 --- Comment #48 from Alexandre Demers 2012-04-25 08:21:12 PDT --- (In reply to comment #47) > (In reply to comment #46) > > Does this kernel patch help? > > http://lists.freedesktop.org/archives/dri-devel/2012-April/022037.html > > I was wonder

[PATCH 06/26] drm/radeon: fix a critical bug in the SA code

2012-04-25 Thread Michel Dänzer
On Mit, 2012-04-25 at 14:46 +0200, Christian K?nig wrote: > Aligning offset can make it bigger than tmp->offset > leading to an overrun bug in the following subtraction. > > Signed-off-by: Christian K?nig Please add Cc: stable at vger.kernel.org to the commit log (but don't send the patch to

[PATCH 1/3] acpi_video: fix leaking PCI references

2012-04-25 Thread Matthew Garrett
Acked-by: Matthew Garrett for the set. -- Matthew Garrett | mjg59 at srcf.ucam.org

[REGRESSION]: hibernate/sleep regression w/ bisection

2012-04-25 Thread Andrew Watts
Hello all. I wanted to follow-up on a very peculiar yet highly reproducible bug involving suspend/resume, radeon, and a seemingly unrelated patch to input serio. The last comment in the thread was from Jerome Glisse saying it was a tough bug to fix. Has anyone had any good ideas on how to fix it

[PATCH 24/24] drm/radeon: add faulty command buffer dump facilities

2012-04-25 Thread j.gli...@gmail.com
From: Jerome Glisse This add a command buffer dumping facilities, that will dump command buffer and all associated bo that most likely triggered a lockup. Idea is that we go through unsignaled fence and we dump the ib of the oldest unsignaled fence. Dumping is a 2 step process on lockup detectio

[PATCH 23/24] drm/radeon: keep the cs relocs inside the ib

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Free them wenn the ib is freed, another step to better debugging. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h |3 +++ drivers/gpu/drm/radeon/radeon_cs.c | 14 -- drivers/gpu/drm/radeon/radeon_ring.c |3 +++ 3 files chang

[PATCH 22/24] drm/radeon: extend ring debugfs files with fence info c2

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig That should aid in debugging multi ring lockups. v2 rebase on top of debugfs removal Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h |1 + drivers/gpu/drm/radeon/radeon_fence.c |1 + 2 files changed, 2 insertions(+), 0 deletions(-) diff

[PATCH 21/24] drm/radeon: remove cayman_gpu_is_lockup

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Since it is now identical to evergreen_gpu_is_lockup. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/ni.c | 19 --- drivers/gpu/drm/radeon/radeon_asic.c | 12 ++-- drivers/gpu/drm/radeon/radeon_asic.h |1 - 3 files chang

[PATCH 20/24] drm/radeon: remove r300_gpu_is_lockup

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Since it is now identical to r100_gpu_is_lockup. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/r300.c| 14 -- drivers/gpu/drm/radeon/radeon_asic.c | 16 drivers/gpu/drm/radeon/radeon_asic.h |1 - 3 files changed, 8

[PATCH 19/24] drm/radeon: make forcing ring activity a common function

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Nothing chipset or ring specific with it, so also move it to radon_ring. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/evergreen.c | 10 +- drivers/gpu/drm/radeon/ni.c | 11 +-- drivers/gpu/drm/radeon/r100.c| 10 +--

[PATCH 18/24] drm/radeon: unlock the ring mutex while waiting for the next fence

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Fixing just another deadlock problem with gpu reset tests. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon_ring.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_ring.c b/drivers/gpu/drm/radeon/rade

[PATCH 17/24] drm/radeon: make lockup timeout a module param

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Don't hard code the 10 seconds timeout. Compute jobs can run much longer. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h |1 + drivers/gpu/drm/radeon/radeon_drv.c |4 drivers/gpu/drm/radeon/radeon_ring.c |2 +- 3 files changed, 6

[PATCH 16/24] drm/radeon: move lockup detection code into radeon_ring.c v2

2012-04-25 Thread j.gli...@gmail.com
From: Jerome Glisse It isn't chipset specific, so it makes no sense to have that inside r100.c. v2: rebase on debugfs removal Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/evergreen.c |5 +-- drivers/gpu/drm/radeon/ni.c |5 +-- drivers/gpu/drm/radeon/r100.c

[PATCH 15/24] drm/radeon: remove recursive mutex implementation

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Not needed anymore. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h| 44 +--- drivers/gpu/drm/radeon/radeon_cs.c | 10 +++--- drivers/gpu/drm/radeon/radeon_device.c |2 +- drivers/gpu/drm/radeon/radeon_gar

[PATCH 14/24] drm/radeon: rework recursive gpu reset handling

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Instead of all this humpy pumpy with recursive mutex (which also fixes only halve of the problem) move the actual gpu reset out of the fence code, return -EDEADLK and then reset the gpu in the calling ioctl function. v2: Split removal of radeon_mutex into separate patch.

[PATCH 13/24] drm/radeon: fix a bug with the ring syncing code

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Rings need to lock in order, otherwise the ring subsystem can deadlock. v2: fix error handling and number of locked doublewords. v3: stop creating unneeded semaphores. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h |4 ++ drivers/gpu/drm

[PATCH 12/24] drm/radeon: rip out the ib pool v2

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig It isn't necessary any more and the suballocator seems to perform even better. v2: drop debugfs Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h | 22 +--- drivers/gpu/drm/radeon/radeon_device.c|1 - drivers/gpu/drm/radeon/radeon_fen

[PATCH 11/24] drm/radeon: rename fence_wait_last to fence_wait_empty

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig As discussed with Michel that name better describes the behavior of this function. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h|2 +- drivers/gpu/drm/radeon/radeon_device.c |2 +- drivers/gpu/drm/radeon/radeon_fence.c |4 ++-- 3

[PATCH 10/24] drm/radeon: return -ENOENT in fence_wait_next v2

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig We should signal the caller that we haven't waited at all. v2: only change fence_wait_next not fence_wait_last. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon_fence.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/gpu/

[PATCH 09/24] drm/radeon: simplify semaphore handling

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Directly use the suballocator to get small chunks of memory. It's equally fast and doesn't crash when we encounter a GPU reset. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/evergreen.c|1 - drivers/gpu/drm/radeon/ni.c |1 - drive

[PATCH 08/24] drm/radeon: add biggest hole tracking and wakequeue to the sa v4

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig With that in place clients are automatically blocking until their memory request can be handled. v2: block only if the memory request can't be satisfied in the first try, the first version actually lacked a night of sleep. v3: make blocking optional, update comment

[PATCH 07/24] drm/radeon: add proper locking to the SA v2

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Make the suballocator self containing to locking. v2: split the bugfix into a seperate patch. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h|1 + drivers/gpu/drm/radeon/radeon_sa.c | 17 +++-- 2 files changed, 12 insertions(+), 6

[PATCH 06/24] drm/radeon: fix a critical bug in the SA code

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Aligning offset can make it bigger than tmp->offset leading to an overrun bug in the following subtraction. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon_sa.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/gpu/drm/rade

[PATCH 05/24] drm/radeon: rework gpu lockup detection and processing

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Previusly multiple rings could trigger multiple GPU resets at the same time. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h |3 +- drivers/gpu/drm/radeon/radeon_fence.c | 150 + 2 files changed, 77 insertions(

[PATCH 04/24] drm/radeon: use central function for IB testing

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Removing all the different error messages and having just one standard behaviour over all chipset generations. Signed-off-by: Christian K?nig Reviewed-by: Alex Deucher --- drivers/gpu/drm/radeon/evergreen.c |7 ++- drivers/gpu/drm/radeon/ni.c |7 ++

[PATCH 03/24] drm/radeon: replace gpu_lockup with ring->ready flag

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig It makes no sense at all to have more than one flag. Signed-off-by: Christian K?nig Reviewed-by: Alex Deucher --- drivers/gpu/drm/radeon/r100.c |1 - drivers/gpu/drm/radeon/r300.c |1 - drivers/gpu/drm/radeon/radeon.h|1 - drivers/gp

[PATCH 02/24] drm/radeon: make radeon_gpu_is_lockup a per ring function

2012-04-25 Thread j.gli...@gmail.com
From: Christian K?nig Different rings have different criteria to test if they are stuck. v2: rebased on current drm-next Signed-off-by: Christian K?nig Reviewed-by: Alex Deucher --- drivers/gpu/drm/radeon/radeon.h |4 +- drivers/gpu/drm/radeon/radeon_asic.c | 44

[PATCH 01/24] drm/radeon: remove fence/ring/ib debugfs files

2012-04-25 Thread j.gli...@gmail.com
From: Jerome Glisse Those file never were really helpfull in debuging. Signed-off-by: Jerome Glisse --- drivers/gpu/drm/radeon/r100.c | 186 - drivers/gpu/drm/radeon/r300.c | 50 - drivers/gpu/drm/radeon/r420.c | 45

Reworking of GPU reset logic + dumping

2012-04-25 Thread j.gli...@gmail.com
Patches also available at: http://people.freedesktop.org/~glisse/debug/ So it's the Christian series minus all the debugfs related to ring/ib/mc. The last patch add a new blob dumping facilities that dump everythings (pm4, relocs table, bo content). It's just a proof of concept to show what i mean

Reworking of GPU reset logic

2012-04-25 Thread Christian König
On 21.04.2012 16:14, Jerome Glisse wrote: > 2012/4/21 Christian K?nig: >> On 20.04.2012 01:47, Jerome Glisse wrote: >>> 2012/4/19 Christian K?nig: This includes mostly fixes for multi ring lockups and GPU resets, but it should general improve the behavior of the kernel mode driver in case

[PATCH 12/26] drm/radeon: rename fence_wait_last to fence_wait_empty

2012-04-25 Thread Michel Dänzer
On Mit, 2012-04-25 at 14:46 +0200, Christian K?nig wrote: > As discussed with Michel that name better > describes the behavior of this function. > > Signed-off-by: Christian K?nig Reviewed-by: Michel D?nzer -- Earthling Michel D?nzer | http://www.amd.com Libre so

[PATCH 11/26] drm/radeon: return -ENOENT in fence_wait_next v2

2012-04-25 Thread Michel Dänzer
On Mit, 2012-04-25 at 14:46 +0200, Christian K?nig wrote: > We should signal the caller that we haven't waited at all. > > v2: only change fence_wait_next not fence_wait_last. > > Signed-off-by: Christian K?nig Reviewed-by: Michel D?nzer -- Earthling Michel D?nzer |

Re: [PATCH 24/24] drm/radeon: add faulty command buffer dump facilities

2012-04-25 Thread Luca Tettamanti
Hi Jerome, On Wed, Apr 25, 2012 at 9:03 PM, wrote: > From: Jerome Glisse > > This add a command buffer dumping facilities, that will > dump command buffer and all associated bo that most likely > triggered a lockup. [cut] I spotted this: > +void radeon_fence_blob_faulty_ib(struct radeon_devic

Reworking of GPU reset logic

2012-04-25 Thread Christian König
On 23.04.2012 09:40, Michel D?nzer wrote: > On Sam, 2012-04-21 at 11:42 +0200, Christian K?nig wrote: >> Regarding the debugging of lockups I had the following on my "in mind >> todo" list: >> 1. Rework the chip specific lockup detection code a bit more and >> probably clean it up a bit. >> 2. Make

[PATCH 26/26] drm/radeon: add the ib content and relocs to the ring debugfs file

2012-04-25 Thread Christian König
Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon_ring.c | 22 ++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_ring.c b/drivers/gpu/drm/radeon/radeon_ring.c index 1c4348c..c563c25 100644 --- a/drivers/gpu/drm/r

[PATCH 25/26] drm/radeon: keep the cs relocs inside the ib

2012-04-25 Thread Christian König
Free them wenn the ib is freed, another step to better debugging. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h |3 +++ drivers/gpu/drm/radeon/radeon_cs.c | 14 -- drivers/gpu/drm/radeon/radeon_ring.c |3 +++ 3 files changed, 18 insertions(+), 2

[PATCH 24/26] drm/radeon: extend ring debugfs files with fence info

2012-04-25 Thread Christian König
That should aid in debugging multi ring lockups. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h |1 + drivers/gpu/drm/radeon/radeon_fence.c |1 + drivers/gpu/drm/radeon/radeon_ring.c | 43 - 3 files changed, 44 insertions(+), 1

[PATCH 23/26] drm/radeon: add missing locking to fence debugfs function

2012-04-25 Thread Christian König
Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon_fence.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c index 66e6ee0..09e13e3 100644 --- a/drivers/gpu/drm/radeon/radeon_fenc

[PATCH 22/26] drm/radeon: remove cayman_gpu_is_lockup

2012-04-25 Thread Christian König
Since it is now identical to evergreen_gpu_is_lockup. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/ni.c | 19 --- drivers/gpu/drm/radeon/radeon_asic.c | 12 ++-- drivers/gpu/drm/radeon/radeon_asic.h |1 - 3 files changed, 6 insertions(+), 26

[PATCH 21/26] drm/radeon: remove r300_gpu_is_lockup

2012-04-25 Thread Christian König
Since it is now identical to r100_gpu_is_lockup. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/r300.c| 14 -- drivers/gpu/drm/radeon/radeon_asic.c | 16 drivers/gpu/drm/radeon/radeon_asic.h |1 - 3 files changed, 8 insertions(+), 23 deleti

[PATCH 20/26] drm/radeon: make forcing ring activity a common function

2012-04-25 Thread Christian König
Nothing chipset or ring specific with it, so also move it to radon_ring. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/evergreen.c | 10 +- drivers/gpu/drm/radeon/ni.c | 11 +-- drivers/gpu/drm/radeon/r100.c| 10 +- drivers/gpu/drm/rad

[PATCH 19/26] drm/radeon: unlock the ring mutex while waiting for the next fence

2012-04-25 Thread Christian König
Fixing just another deadlock problem with gpu reset tests. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon_ring.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_ring.c b/drivers/gpu/drm/radeon/radeon_ring.c index 8add827.

[PATCH 18/26] drm/radeon: make lockup timeout a module param

2012-04-25 Thread Christian König
Don't hard code the 10 seconds timeout. Compute jobs can run much longer. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h |1 + drivers/gpu/drm/radeon/radeon_drv.c |4 drivers/gpu/drm/radeon/radeon_ring.c |2 +- 3 files changed, 6 insertions(+), 1 deleti

[PATCH 17/26] drm/radeon: move lockup detection code into radeon_ring.c

2012-04-25 Thread Christian König
It isn't chipset specific, so it makes no sense to have that inside r100.c. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/evergreen.c |5 +-- drivers/gpu/drm/radeon/ni.c |5 +-- drivers/gpu/drm/radeon/r100.c| 57 + drivers/

[PATCH 16/26] drm/radeon: remove recursive mutex implementation

2012-04-25 Thread Christian König
Not needed anymore. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h| 44 +--- drivers/gpu/drm/radeon/radeon_cs.c | 10 +++--- drivers/gpu/drm/radeon/radeon_device.c |2 +- drivers/gpu/drm/radeon/radeon_gart.c | 16 ++-

[PATCH 15/26] drm/radeon: rework recursive gpu reset handling

2012-04-25 Thread Christian König
Instead of all this humpy pumpy with recursive mutex (which also fixes only halve of the problem) move the actual gpu reset out of the fence code, return -EDEADLK and then reset the gpu in the calling ioctl function. v2: Split removal of radeon_mutex into separate patch. Return -EAGAIN if rese

[PATCH 14/26] drm/radeon: fix a bug with the ring syncing code

2012-04-25 Thread Christian König
Rings need to lock in order, otherwise the ring subsystem can deadlock. v2: fix error handling and number of locked doublewords. v3: stop creating unneeded semaphores. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h |4 ++ drivers/gpu/drm/radeon/radeon_cs.c

[PATCH 13/26] drm/radeon: rip out the ib pool

2012-04-25 Thread Christian König
It isn't necessary any more and the suballocator seems to perform even better. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h | 22 +-- drivers/gpu/drm/radeon/radeon_device.c|1 - drivers/gpu/drm/radeon/radeon_fence.c | 44 +- drivers/gpu/drm/rad

[PATCH 12/26] drm/radeon: rename fence_wait_last to fence_wait_empty

2012-04-25 Thread Christian König
As discussed with Michel that name better describes the behavior of this function. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h|2 +- drivers/gpu/drm/radeon/radeon_device.c |2 +- drivers/gpu/drm/radeon/radeon_fence.c |4 ++-- 3 files changed, 4 inserti

[PATCH 11/26] drm/radeon: return -ENOENT in fence_wait_next v2

2012-04-25 Thread Christian König
We should signal the caller that we haven't waited at all. v2: only change fence_wait_next not fence_wait_last. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon_fence.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_fence.

[PATCH 10/26] drm/radeon: simplify semaphore handling

2012-04-25 Thread Christian König
Directly use the suballocator to get small chunks of memory. It's equally fast and doesn't crash when we encounter a GPU reset. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/evergreen.c|1 - drivers/gpu/drm/radeon/ni.c |1 - drivers/gpu/drm/radeon/r600.c

[PATCH 09/26] drm/radeon: add biggest hole tracking and wakequeue to the sa v3

2012-04-25 Thread Christian König
With that in place clients are automatically blocking until their memory request can be handled. v2: block only if the memory request can't be satisfied in the first try, the first version actually lacked a night of sleep. v3: make blocking optional, update comments and fix another bu

[PATCH 08/26] drm/radeon: add sub allocator debugfs file

2012-04-25 Thread Christian König
Dumping the current allocations. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon_object.h |5 + drivers/gpu/drm/radeon/radeon_ring.c | 22 ++ drivers/gpu/drm/radeon/radeon_sa.c | 15 +++ 3 files changed, 42 insertions(+), 0 delet

[PATCH 07/26] drm/radeon: add proper locking to the SA v2

2012-04-25 Thread Christian König
Make the suballocator self containing to locking. v2: split the bugfix into a seperate patch. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h|1 + drivers/gpu/drm/radeon/radeon_sa.c | 17 +++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --gi

[PATCH 06/26] drm/radeon: fix a critical bug in the SA code

2012-04-25 Thread Christian König
Aligning offset can make it bigger than tmp->offset leading to an overrun bug in the following subtraction. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon_sa.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_sa.c b/driver

[PATCH 05/26] drm/radeon: rework gpu lockup detection and processing

2012-04-25 Thread Christian König
Previusly multiple rings could trigger multiple GPU resets at the same time. Signed-off-by: Christian K?nig --- drivers/gpu/drm/radeon/radeon.h |3 +- drivers/gpu/drm/radeon/radeon_fence.c | 146 + 2 files changed, 75 insertions(+), 74 deletions(-) dif

[PATCH 04/26] drm/radeon: use central function for IB testing

2012-04-25 Thread Christian König
Removing all the different error messages and having just one standard behaviour over all chipset generations. Signed-off-by: Christian K?nig Reviewed-by: Alex Deucher --- drivers/gpu/drm/radeon/evergreen.c |7 ++- drivers/gpu/drm/radeon/ni.c |7 ++- drivers/gpu/drm/r

[PATCH 03/26] drm/radeon: register ring debugfs handlers on init

2012-04-25 Thread Christian König
Just register the debugfs files on init instead of checking the chipset type multiple times. Signed-off-by: Christian K?nig Reviewed-by: Alex Deucher --- drivers/gpu/drm/radeon/radeon_ring.c | 31 +++ 1 files changed, 19 insertions(+), 12 deletions(-) diff --git a

[PATCH 02/26] drm/radeon: replace gpu_lockup with ring->ready flag

2012-04-25 Thread Christian König
It makes no sense at all to have more than one flag. Signed-off-by: Christian K?nig Reviewed-by: Alex Deucher --- drivers/gpu/drm/radeon/r100.c |1 - drivers/gpu/drm/radeon/r300.c |1 - drivers/gpu/drm/radeon/radeon.h|1 - drivers/gpu/drm/radeon/radeon_devi

[PATCH 01/26] drm/radeon: make radeon_gpu_is_lockup a per ring function

2012-04-25 Thread Christian König
Different rings have different criteria to test if they are stuck. v2: rebased on current drm-next Signed-off-by: Christian K?nig Reviewed-by: Alex Deucher --- drivers/gpu/drm/radeon/radeon.h |4 +- drivers/gpu/drm/radeon/radeon_asic.c | 44 ++-- driver

Reworking of GPU reset logic

2012-04-25 Thread Christian König
Second round of patchset. Thanks for all the comments and/or bug reports, allot of patches are now v2/v3 and should get another look. Every regression known so far should be fixed with them now. Additionally to the patches that where already included in the last set there are 8 new ones which a

[PATCH 12/12] gma500: Set the mapping mask

2012-04-25 Thread Alan Cox
From: Alan Cox Some boards such as the Intel D2700MUD allow you to have over 4GB of RAM. The GTT on the PVR based devices is 32bit however. Hugh Dickins points out that we should therefore be setting the mapping gfp mask. This is not the whole fix for the problem. Some further shmem patches will

[PATCH 11/12] gma500: Add the base elements of CDV hotplug support

2012-04-25 Thread Alan Cox
From: Alan Cox Signed-off-by: Alan Cox --- drivers/gpu/drm/gma500/cdv_device.c| 41 ++-- drivers/gpu/drm/gma500/psb_drv.h |5 drivers/gpu/drm/gma500/psb_intel_reg.h |5 +++- 3 files changed, 48 insertions(+), 3 deletions(-) diff --git a/dri

[PATCH 10/12] gma500: Add ops for hotplug support.

2012-04-25 Thread Alan Cox
From: Alan Cox This provides the needed callback hooks to add hotplug display support to the GMA36x0 devices. Signed-off-by: Alan Cox --- drivers/gpu/drm/gma500/psb_drv.h |3 +++ drivers/gpu/drm/gma500/psb_irq.c | 30 +++--- 2 files changed, 26 insertions(+), 7

[PATCH 09/12] cdv: continue synching up with updated reference code

2012-04-25 Thread Alan Cox
From: Alan Cox In particular clean up the errata handling and correct the crtc masks. We do this a bit differently using our device abstraction for neatness. This doesn't address the ACPI opregion and hotplug plumbing, nor the IRQ related changes that will need. It touches on backlight init but

[PATCH 08/12] gma500: Clean up weirdness in the cdv mode test code

2012-04-25 Thread Alan Cox
From: Alan Cox Signed-off-by: Alan Cox --- drivers/gpu/drm/gma500/cdv_intel_crt.c |4 +--- 1 files changed, 1 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/gma500/cdv_intel_crt.c b/drivers/gpu/drm/gma500/cdv_intel_crt.c index 1de27c7..1a82843 100644 --- a/drivers/gpu/drm/gma

[PATCH 07/12] gma500: support 1080p

2012-04-25 Thread Alan Cox
From: Alan Cox The problem in console mode is lack of linear memory. We can solve that by dropping to 16bpp. The mode setting X server will allocate its own GEM framebuffer in 32bpp and all will be well. We could just do 16bpp anyway but that would be a regression on the lower modes as many dist

[PATCH 06/12] gma500: panel presence check

2012-04-25 Thread Alan Cox
From: Alan Cox Introduce a panel presence check for Cedartrail. Non netbook devices don't necessarily have a panel attached. Signed-off-by: Alan Cox --- drivers/gpu/drm/gma500/cdv_intel_lvds.c | 57 +++ 1 files changed, 57 insertions(+), 0 deletions(-) diff --gi

[PATCH 05/12] gma500: intel_bios updates

2012-04-25 Thread Alan Cox
From: Alan Cox Pull in various i915 bits that we will need to begin tackling the LVDS detect and ACPI events. We try and drift towards the i915 version of the code with the long term goal that at least some of it can one day be unified. Signed-off-by: Alan Cox --- drivers/gpu/drm/gma500/intel

[PATCH 04/12] gma500: mark framebuffer pages write combining

2012-04-25 Thread Alan Cox
From: Alan Cox We don't want them uncached, combining will do nicely and fixes the performance problem with the generic modesetting X server. Signed-off-by: Alan Cox --- drivers/gpu/drm/gma500/gtt.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/gpu/drm/gma5

[PATCH 03/12] gma500: Update the Cedarview clock handling

2012-04-25 Thread Alan Cox
From: Alan Cox --- drivers/gpu/drm/gma500/cdv_intel_display.c | 331 +++- drivers/gpu/drm/gma500/psb_intel_drv.h |3 drivers/gpu/drm/gma500/psb_intel_reg.h | 25 ++ 3 files changed, 294 insertions(+), 65 deletions(-) diff --git a/drivers/gpu/drm/gma500/

[PATCH 02/12] gma500: read the PLL bits

2012-04-25 Thread Alan Cox
From: Alan Cox We need to pull more stuff from the VBT in order to configure the clocking correctly in all cases. Add the relevant bits from the other CDV driver work. Signed-off-by: Alan Cox --- drivers/gpu/drm/gma500/intel_bios.c | 18 drivers/gpu/drm/gma500/intel_bios.h

[PATCH 01/12] gma500: Fix leak of uncached page

2012-04-25 Thread Alan Cox
From: Alan Cox This was reported a long time ago (and I apologize to whoever it was that reported it as I've lost the original report). Signed-off-by: Alan Cox --- drivers/gpu/drm/gma500/psb_drv.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/gma500/

[PATCH 00/12] GMA500 updates take 2

2012-04-25 Thread Alan Cox
This version drops the backlight patch while I figure how it breaks some systems. It adds the now fixed hotplug monitor code. --- Alan Cox (12): gma500: Set the mapping mask gma500: Add the base elements of CDV hotplug support gma500: Add ops for hotplug support. cdv: con

[PATCH 3/3] gma500: don't register the ACPI video bus

2012-04-25 Thread Alan Cox
From: Alan Cox We are not yet ready for this and it makes a mess on some devices. Signed-off-by: Alan Cox --- drivers/gpu/drm/gma500/psb_drv.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c index c3

[PATCH 2/3] acpi_video: Intel video is not always i915

2012-04-25 Thread Alan Cox
From: Alan Cox Stop it poking at random registers on the i740 cards that may be out there still. As per Matthew's feedback remove the conditional checks and never enable the opregion handling unless an appropriate driver has been loaded. Signed-off-by: Alan Cox --- drivers/acpi/video.c | 2

Re: [PATCH v2 4/4] drm/nouveau: gpu lockup recovery

2012-04-25 Thread Marcin Slusarz
On Wed, Apr 25, 2012 at 11:20:36PM +0200, Marcin Slusarz wrote: > Overall idea: > Detect lockups by watching for timeouts (vm flush / fence), return -EIOs, > handle them at ioctl level, reset the GPU and repeat last ioctl. > > GPU reset is done by doing suspend / resume cycle with few tweaks: > -

[PATCH 1/3] acpi_video: fix leaking PCI references

2012-04-25 Thread Alan Cox
From: Alan Cox Signed-off-by: Alan Cox --- drivers/acpi/video.c |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index 9577b6f..66e8f73 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c @@ -1745,6 +1745,7 @@ sta

  1   2   3   >