Re: [patch] i915: missing unlock on error path

2010-05-07 Thread Jiri Slaby
On 05/07/2010 10:37 AM, Dan Carpenter wrote:
 There was a missing mutex_unlock(dev-struct_mutex) on this error path.
 
 Signed-off-by: Dan Carpenter erro...@gmail.com
 ---
 I thought Jiri sent this patch earlier but a google search for stanse
 struct_mutex i965_reset didn't find any patches, so I'm resending.

I don't remember either. I found I had only fixed potential NULL-deref
in i915_suspend.

 diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
 index 01e91ea..a605c87 100644
 --- a/drivers/gpu/drm/i915/i915_drv.c
 +++ b/drivers/gpu/drm/i915/i915_drv.c
 @@ -369,6 +369,7 @@ int i965_reset(struct drm_device *dev, u8 flags)
   }
   } else {
   DRM_ERROR(Error occurred. Don't know how to reset this 
 chip.\n);
 + mutex_unlock(dev-struct_mutex);
   return -ENODEV;
   }
  


-- 
js

--

--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: i915 #GP [was: mmotm 2010-02-01-16-25 uploaded]

2010-02-06 Thread Jiri Slaby
On 02/05/2010 09:34 AM, Jiri Slaby wrote:
 On 02/03/2010 10:41 PM, Jiri Slaby wrote:
 On 02/02/2010 01:25 AM, a...@linux-foundation.org wrote:
 The mm-of-the-moment snapshot 2010-02-01-16-25 has been uploaded to

 Hi, when thunderbird appears on clean X+xterm I get this with the snapshot:
 [drm:i915_gem_do_execbuffer] *ERROR* Invalid object handle 1073741824 at
 index 1
 general protection fault:  [#1] SMP
 last sysfs file: /sys/devices/pci:00/:00:1e.0/:04:00.0/resource
 CPU 0
 Pid: 3412, comm: X Not tainted 2.6.33-rc6-mm1_64+ #941 To be filled by
 O.E.M./To Be Filled By O.E.M.
 RIP: 0010:[812579ef]  [812579ef]
 i915_gem_do_execbuffer+0x3ef/0xbf0
 RSP: 0018:8801c2313c68  EFLAGS: 00010202
 RAX: 8801c2f6a7c8 RBX: 0002 RCX: 0049
 RDX: 6b6b6b6b6b6b6b6b RSI: 81237e70 RDI: 8801c2a28738
 RBP: 8801c2313d18 R08:  R09: 0200
 R10:  R11: 0004 R12: 8801c2f6a7b8
 R13: 8801c2313d38 R14:  R15: fff7
 FS:  7f4910c476f0() GS:88010020() knlGS:
 CS:  0010 DS:  ES:  CR0: 80050033
 CR2: 7f48fb928000 CR3: 0001c2cd5000 CR4: 06f0
 DR0:  DR1:  DR2: 
 DR3:  DR6: 0ff0 DR7: 0400
 Process X (pid: 3412, threadinfo 8801c2312000, task 8801c3539c00)
 Stack:
  81803580 00d0 8801c2e043d8 00d7ba90
 0 0060 810be556 8801c5f918f8 8801c2f6a7b8
 0 8801cbc0a048  8801c2f6a7b8 8801c5f918d8
 Call Trace:
  [810be556] ? __slab_alloc+0x266/0x2f0
  [81258584] i915_gem_execbuffer+0x1b4/0x360
  [81253516] ? i915_gem_sw_finish_ioctl+0x96/0xd0
  [812363ed] drm_ioctl+0x1bd/0x480
  [8108fe12] ? unlock_page+0x22/0x30
  [812583d0] ? i915_gem_execbuffer+0x0/0x360
  [810a9dbb] ? handle_mm_fault+0x18b/0x3c0
  [810d7468] vfs_ioctl+0x38/0xd0
  [810d7ca0] do_vfs_ioctl+0x80/0x340
  [81024841] ? do_page_fault+0x131/0x2d0
  [810d7faa] sys_ioctl+0x4a/0x80
  [81002e6b] system_call_fastpath+0x16/0x1b
 Code: 44 8b 5a 08 45 85 db 74 4f 31 db 4c 8b 65 a0 49 89 d5 66 2e 0f 1f
 84 00 00 00 00 00 48 63 c3 49 8d 04 c4 48 8b 10 48 85 d2 74 25 48 8b
 92 80 00 00 00 c7 82 a0 00 00 00 00 00 00 00 48 8b 38 48
 RIP  [812579ef] i915_gem_do_execbuffer+0x3ef/0xbf0
  RSP 8801c2313c68
 ---[ end trace 99140c91bbc9294a ]---


 opposing to 2010-01-15-15-34 which was OK. This is a setup with no KMS
 with 2.9.1 intel X drv.
 
 
 
 
 Does reverting 859ddf09743a8cc680af33f7259ccd0fd36bfe9d help?
 
 For me it fixes the problem.

(Adding some CCs)

And when I revert
drivers-gpu-drm-drm_crtc_helperc-fix-setting-of-fb_changed-in-drm_crtc_helper_set_config.patch

I can even use KMS with intel.

The fb_changed patch causes X to not render the screen, I can blindly
move windows after X starts, cursors changes, but the screen is always
black.

regards,
-- 
js

--
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: i915 #GP [was: mmotm 2010-02-01-16-25 uploaded]

2010-02-05 Thread Jiri Slaby
On 02/03/2010 10:41 PM, Jiri Slaby wrote:
 On 02/02/2010 01:25 AM, a...@linux-foundation.org wrote:
 The mm-of-the-moment snapshot 2010-02-01-16-25 has been uploaded to
 
 Hi, when thunderbird appears on clean X+xterm I get this with the snapshot:
 [drm:i915_gem_do_execbuffer] *ERROR* Invalid object handle 1073741824 at
 index 1
 general protection fault:  [#1] SMP
 last sysfs file: /sys/devices/pci:00/:00:1e.0/:04:00.0/resource
 CPU 0
 Pid: 3412, comm: X Not tainted 2.6.33-rc6-mm1_64+ #941 To be filled by
 O.E.M./To Be Filled By O.E.M.
 RIP: 0010:[812579ef]  [812579ef]
 i915_gem_do_execbuffer+0x3ef/0xbf0
 RSP: 0018:8801c2313c68  EFLAGS: 00010202
 RAX: 8801c2f6a7c8 RBX: 0002 RCX: 0049
 RDX: 6b6b6b6b6b6b6b6b RSI: 81237e70 RDI: 8801c2a28738
 RBP: 8801c2313d18 R08:  R09: 0200
 R10:  R11: 0004 R12: 8801c2f6a7b8
 R13: 8801c2313d38 R14:  R15: fff7
 FS:  7f4910c476f0() GS:88010020() knlGS:
 CS:  0010 DS:  ES:  CR0: 80050033
 CR2: 7f48fb928000 CR3: 0001c2cd5000 CR4: 06f0
 DR0:  DR1:  DR2: 
 DR3:  DR6: 0ff0 DR7: 0400
 Process X (pid: 3412, threadinfo 8801c2312000, task 8801c3539c00)
 Stack:
  81803580 00d0 8801c2e043d8 00d7ba90
 0 0060 810be556 8801c5f918f8 8801c2f6a7b8
 0 8801cbc0a048  8801c2f6a7b8 8801c5f918d8
 Call Trace:
  [810be556] ? __slab_alloc+0x266/0x2f0
  [81258584] i915_gem_execbuffer+0x1b4/0x360
  [81253516] ? i915_gem_sw_finish_ioctl+0x96/0xd0
  [812363ed] drm_ioctl+0x1bd/0x480
  [8108fe12] ? unlock_page+0x22/0x30
  [812583d0] ? i915_gem_execbuffer+0x0/0x360
  [810a9dbb] ? handle_mm_fault+0x18b/0x3c0
  [810d7468] vfs_ioctl+0x38/0xd0
  [810d7ca0] do_vfs_ioctl+0x80/0x340
  [81024841] ? do_page_fault+0x131/0x2d0
  [810d7faa] sys_ioctl+0x4a/0x80
  [81002e6b] system_call_fastpath+0x16/0x1b
 Code: 44 8b 5a 08 45 85 db 74 4f 31 db 4c 8b 65 a0 49 89 d5 66 2e 0f 1f
 84 00 00 00 00 00 48 63 c3 49 8d 04 c4 48 8b 10 48 85 d2 74 25 48 8b
 92 80 00 00 00 c7 82 a0 00 00 00 00 00 00 00 48 8b 38 48
 RIP  [812579ef] i915_gem_do_execbuffer+0x3ef/0xbf0
  RSP 8801c2313c68
 ---[ end trace 99140c91bbc9294a ]---
 
 
 opposing to 2010-01-15-15-34 which was OK. This is a setup with no KMS
 with 2.9.1 intel X drv.




 Does reverting 859ddf09743a8cc680af33f7259ccd0fd36bfe9d help?

For me it fixes the problem.

-- 
js

--
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


i915 #GP [was: mmotm 2010-02-01-16-25 uploaded]

2010-02-04 Thread Jiri Slaby
On 02/02/2010 01:25 AM, a...@linux-foundation.org wrote:
 The mm-of-the-moment snapshot 2010-02-01-16-25 has been uploaded to

Hi, when thunderbird appears on clean X+xterm I get this with the snapshot:
[drm:i915_gem_do_execbuffer] *ERROR* Invalid object handle 1073741824 at
index 1
general protection fault:  [#1] SMP
last sysfs file: /sys/devices/pci:00/:00:1e.0/:04:00.0/resource
CPU 0
Pid: 3412, comm: X Not tainted 2.6.33-rc6-mm1_64+ #941 To be filled by
O.E.M./To Be Filled By O.E.M.
RIP: 0010:[812579ef]  [812579ef]
i915_gem_do_execbuffer+0x3ef/0xbf0
RSP: 0018:8801c2313c68  EFLAGS: 00010202
RAX: 8801c2f6a7c8 RBX: 0002 RCX: 0049
RDX: 6b6b6b6b6b6b6b6b RSI: 81237e70 RDI: 8801c2a28738
RBP: 8801c2313d18 R08:  R09: 0200
R10:  R11: 0004 R12: 8801c2f6a7b8
R13: 8801c2313d38 R14:  R15: fff7
FS:  7f4910c476f0() GS:88010020() knlGS:
CS:  0010 DS:  ES:  CR0: 80050033
CR2: 7f48fb928000 CR3: 0001c2cd5000 CR4: 06f0
DR0:  DR1:  DR2: 
DR3:  DR6: 0ff0 DR7: 0400
Process X (pid: 3412, threadinfo 8801c2312000, task 8801c3539c00)
Stack:
 81803580 00d0 8801c2e043d8 00d7ba90
0 0060 810be556 8801c5f918f8 8801c2f6a7b8
0 8801cbc0a048  8801c2f6a7b8 8801c5f918d8
Call Trace:
 [810be556] ? __slab_alloc+0x266/0x2f0
 [81258584] i915_gem_execbuffer+0x1b4/0x360
 [81253516] ? i915_gem_sw_finish_ioctl+0x96/0xd0
 [812363ed] drm_ioctl+0x1bd/0x480
 [8108fe12] ? unlock_page+0x22/0x30
 [812583d0] ? i915_gem_execbuffer+0x0/0x360
 [810a9dbb] ? handle_mm_fault+0x18b/0x3c0
 [810d7468] vfs_ioctl+0x38/0xd0
 [810d7ca0] do_vfs_ioctl+0x80/0x340
 [81024841] ? do_page_fault+0x131/0x2d0
 [810d7faa] sys_ioctl+0x4a/0x80
 [81002e6b] system_call_fastpath+0x16/0x1b
Code: 44 8b 5a 08 45 85 db 74 4f 31 db 4c 8b 65 a0 49 89 d5 66 2e 0f 1f
84 00 00 00 00 00 48 63 c3 49 8d 04 c4 48 8b 10 48 85 d2 74 25 48 8b
92 80 00 00 00 c7 82 a0 00 00 00 00 00 00 00 48 8b 38 48
RIP  [812579ef] i915_gem_do_execbuffer+0x3ef/0xbf0
 RSP 8801c2313c68
---[ end trace 99140c91bbc9294a ]---


opposing to 2010-01-15-15-34 which was OK. This is a setup with no KMS
with 2.9.1 intel X drv.

thanks,
-- 
js

--
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


i915: gpu wedged [was: mmotm 2010-01-15-15-34 uploaded]

2010-01-23 Thread Jiri Slaby
On 01/16/2010 12:34 AM, a...@linux-foundation.org wrote:
 The mm-of-the-moment snapshot 2010-01-15-15-34 has been uploaded to

So I've decided to switch to KMS on this kernel with
00:02.0 VGA compatible controller [0300]: Intel Corporation 82G33/G31
Express Integrated Graphics Controller [8086:29c2] (rev 02) (prog-if 00
[VGA controller])
Subsystem: Intel Corporation 82G33/G31 Express Integrated
Graphics Controller [8086:29c2]
Flags: bus master, fast devsel, latency 0, IRQ 26
Memory at ffa8 (32-bit, non-prefetchable) [size=512K]
I/O ports at ec00 [size=8]
Memory at d000 (32-bit, prefetchable) [size=256M]
Memory at ff90 (32-bit, non-prefetchable) [size=1M]
Expansion ROM at unassigned [disabled]
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Kernel driver in use: i915


with this X driver:
(II) Module intel: vendor=X.Org Foundation
compiled for 1.7.4, module version = 2.10.0
Module class: X.Org Video Driver
ABI class: X.Org Video Driver, version 6.0


on X.Org X Server 1.7.4 and after some time I get:
(WW) intel(0): i830_uxa_prepare_access: gtt bo map failed: Input/output
error
(EE) intel(0): Failed to submit batch buffer, expect rendering
corruption or even a frozen display: Input/output er
ror.
(WW) intel(0): i830_uxa_pixmap_swap_bo_with_image: bo map failed
(WW) intel(0): i830_uxa_prepare_access: gtt bo map failed: Input/output
error
(WW) intel(0): i830_uxa_prepare_access: gtt bo map failed: Input/output
error
(WW) intel(0): i830_uxa_prepare_access: gtt bo map failed: Input/output
error
(EE) intel(0): Failed to submit batch buffer, expect rendering
corruption or even a frozen display: Input/output er
ror.
(EE) intel(0): Failed to submit batch buffer, expect rendering
corruption or even a frozen display: Input/output er


and kernel says:
[drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
render error detected, EIR: 0x
[drm:i915_do_wait_request] *ERROR* i915_do_wait_request returns -5
(awaiting 153151 at 153150)
[drm:i915_gem_execbuffer] *ERROR* i915_gem_do_execbuffer returns -5


From debugfs/dri/0/i915_wedged, the GPU is wedged.

regards,
-- 
js

--
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: i915: gpu wedged [was: mmotm 2010-01-15-15-34 uploaded]

2010-01-23 Thread Jiri Slaby
On 01/23/2010 01:56 PM, Jiri Slaby wrote:
 and kernel says:
 [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
 render error detected, EIR: 0x
 [drm:i915_do_wait_request] *ERROR* i915_do_wait_request returns -5
 (awaiting 153151 at 153150)
 [drm:i915_gem_execbuffer] *ERROR* i915_gem_do_execbuffer returns -5

And it happens pretty regularly when accessing digitalnitelevize.cz with
firefox 3.6. Maybe some kind of flash crud triggers it?

-- 
js

--
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH] GPU: drm/i915, fix potential null dereference

2010-01-11 Thread Jiri Slaby
Stanse found a potential null dereference in i915_suspend.
There is a check for dev and dev_priv being NULL, but dev is
dereferenced earlier. Move the dereference after the check.

Signed-off-by: Jiri Slaby jsl...@suse.cz
---
 drivers/gpu/drm/i915/i915_drv.c |   18 +-
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 2d7..6fc4473 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -173,12 +173,17 @@ MODULE_DEVICE_TABLE(pci, pciidlist);
 
 static int i915_suspend(struct drm_device *dev, pm_message_t state)
 {
-   struct drm_i915_private *dev_priv = dev-dev_private;
+   struct drm_i915_private *dev_priv;
 
-   if (!dev || !dev_priv) {
-   DRM_ERROR(dev: %p, dev_priv: %p\n, dev, dev_priv);
-   DRM_ERROR(DRM not initialized, aborting suspend.\n);
-   return -ENODEV;
+   if (!dev) {
+   DRM_ERROR(dev: %p\n, dev);
+   goto abort;
+   }
+
+   dev_priv = dev-dev_private;
+   if (!dev_priv) {
+   DRM_ERROR(dev_priv: %p\n, dev_priv);
+   goto abort;
}
 
if (state.event == PM_EVENT_PRETHAW)
@@ -208,6 +213,9 @@ static int i915_suspend(struct drm_device *dev, 
pm_message_t state)
dev_priv-modeset_on_lid = 0;
 
return 0;
+abort:
+   DRM_ERROR(DRM not initialized, aborting suspend.\n);
+   return -ENODEV;
 }
 
 static int i915_resume(struct drm_device *dev)
-- 
1.6.5.7


--
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH 1/1] GPU: radeon, fix memory leak

2010-01-06 Thread Jiri Slaby
Stanse found a memory leak in radeon_master_create. master_priv is not
freed/assigned on all paths. Fix that.

Signed-off-by: Jiri Slaby jsl...@suse.cz
---
 drivers/gpu/drm/radeon/radeon_cp.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_cp.c 
b/drivers/gpu/drm/radeon/radeon_cp.c
index 0b2f9c2..06123ba 100644
--- a/drivers/gpu/drm/radeon/radeon_cp.c
+++ b/drivers/gpu/drm/radeon/radeon_cp.c
@@ -2145,6 +2145,7 @@ int radeon_master_create(struct drm_device *dev, struct 
drm_master *master)
 master_priv-sarea);
if (ret) {
DRM_ERROR(SAREA setup failed\n);
+   kfree(master_priv);
return ret;
}
master_priv-sarea_priv = master_priv-sarea-handle + sizeof(struct 
drm_sarea);
-- 
1.6.5.7


--
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: DRM/ttm: Unreachable code in ttm_bo_add_ttm

2009-12-08 Thread Jiri Slaby
On 12/08/2009 12:28 AM, Dave Airlie wrote:
 From 447aeb907e417e0e837b4a4026d5081c88b6e8ca Mon Sep 17 00:00:00 2001
 From: Dave Airlie airl...@redhat.com
 Date: Tue, 8 Dec 2009 09:25:45 +1000
 Subject: [PATCH] drm/ttm: fix unreachable code.
 
 None of the in-tree drivers use user objects yet so this wasn't hitting
 us.
 
 Stanse found unreachable code in ttm_bo_add_ttm:
 http://decibel.fi.muni.cz/~xslaby/stanse/error.cgi?db=32id=714#l238

Please don't use the link in changelog, it's only temporary. Well, it
will probably be there for months, but the changelog will be there forever.

Thanks.

--
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


DRM/ttm: Unreachable code in ttm_bo_add_ttm

2009-12-07 Thread Jiri Slaby
Hi,

Stanse found unreachable code in ttm_bo_add_ttm:
http://decibel.fi.muni.cz/~xslaby/stanse/error.cgi?db=32id=714#l238

Excerpt from there:
  230| case ttm_bo_type_user:
  231|  bo-ttm = ttm_tt_create(bdev, bo-num_pages  12,
  232| page_flags | (1  1),
  233| glob-dummy_read_page);
  234|  if (bo-ttm == ((void *)0))
  235|   ret = -12;
  236|  break;
  237|
  238|  ret = ttm_tt_set_user(bo-ttm, get_current(),
 |This node is unreachable prev next
  239|  bo-buffer_start, bo-num_pages);
  240|  if (ret != 0)
  241|   ttm_tt_destroy(bo-ttm);
  242|  break;


regards,
-- 
js

--
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH 1/1] GPU: vgaarb, use %p in pointers prints

2009-08-22 Thread Jiri Slaby
To avoid compiler warnings about different size, remove
pointer-to-int cast and use %p directly.

Signed-off-by: Jiri Slaby jirisl...@gmail.com
Cc: Benjamin Herrenschmidt b...@kernel.crashing.org
Cc: Tiago Vignatti tiago.vigna...@nokia.com
Cc: Dave Airlie airl...@redhat.com
Cc: Jesse Barnes jbar...@virtuousgeek.org
---
 drivers/gpu/vga/vgaarb.c |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c
index 199138f..2f69cd0 100644
--- a/drivers/gpu/vga/vgaarb.c
+++ b/drivers/gpu/vga/vgaarb.c
@@ -831,7 +831,7 @@ static ssize_t vga_arb_write(struct file *file, const char 
__user * buf,
curr_pos += 5;
remaining -= 5;
 
-   pr_devel(client 0x%X called 'lock'\n, (int)priv);
+   pr_devel(client %p called 'lock'\n, priv);
 
if (!vga_str_to_iostate(curr_pos, remaining, io_state)) {
ret_val = -EPROTO;
@@ -867,7 +867,7 @@ static ssize_t vga_arb_write(struct file *file, const char 
__user * buf,
curr_pos += 7;
remaining -= 7;
 
-   pr_devel(client 0x%X called 'unlock'\n, (int)priv);
+   pr_devel(client %p called 'unlock'\n, priv);
 
if (strncmp(curr_pos, all, 3) == 0)
io_state = VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM;
@@ -917,7 +917,7 @@ static ssize_t vga_arb_write(struct file *file, const char 
__user * buf,
curr_pos += 8;
remaining -= 8;
 
-   pr_devel(client 0x%X called 'trylock'\n, (int)priv);
+   pr_devel(client %p called 'trylock'\n, priv);
 
if (!vga_str_to_iostate(curr_pos, remaining, io_state)) {
ret_val = -EPROTO;
@@ -960,7 +960,7 @@ static ssize_t vga_arb_write(struct file *file, const char 
__user * buf,
 
curr_pos += 7;
remaining -= 7;
-   pr_devel(client 0x%X called 'target'\n, (int)priv);
+   pr_devel(client %p called 'target'\n, priv);
/* if target is default */
if (!strncmp(buf, default, 7))
pdev = pci_dev_get(vga_default_device());
@@ -1014,7 +1014,7 @@ static ssize_t vga_arb_write(struct file *file, const 
char __user * buf,
} else if (strncmp(curr_pos, decodes , 8) == 0) {
curr_pos += 8;
remaining -= 8;
-   pr_devel(vgaarb: client 0x%X called 'decodes'\n, (int)priv);
+   pr_devel(vgaarb: client %p called 'decodes'\n, priv);
 
if (!vga_str_to_iostate(curr_pos, remaining, io_state)) {
ret_val = -EPROTO;
-- 
1.6.3.3


--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH 1/2] GPU: drm_debugfs, check kmalloc retval

2009-07-14 Thread Jiri Slaby
Check kmalloc return value in drm_debugfs_create_files and bail out
appropriately if the pointer is NULL.

Signed-off-by: Jiri Slaby jirisl...@gmail.com
---
 drivers/gpu/drm/drm_debugfs.c |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c
index 2960b6d..9903f27 100644
--- a/drivers/gpu/drm/drm_debugfs.c
+++ b/drivers/gpu/drm/drm_debugfs.c
@@ -101,6 +101,10 @@ int drm_debugfs_create_files(struct drm_info_list *files, 
int count,
continue;
 
tmp = kmalloc(sizeof(struct drm_info_node), GFP_KERNEL);
+   if (tmp == NULL) {
+   ret = -1;
+   goto fail;
+   }
ent = debugfs_create_file(files[i].name, S_IFREG | S_IRUGO,
  root, tmp, drm_debugfs_fops);
if (!ent) {
-- 
1.6.3.2


--
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH 2/2] GPU: drm_gem, check kzalloc retval

2009-07-14 Thread Jiri Slaby
Check kzalloc retval against NULL in drm_gem_object_alloc and bail out
appropriately.

While at it merge the fail paths and jump to them by gotos at the end
of the function.

Signed-off-by: Jiri Slaby jirisl...@gmail.com
---
 drivers/gpu/drm/drm_gem.c |   17 ++---
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index 8104eca..ffe8f43 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -134,26 +134,29 @@ drm_gem_object_alloc(struct drm_device *dev, size_t size)
BUG_ON((size  (PAGE_SIZE - 1)) != 0);
 
obj = kzalloc(sizeof(*obj), GFP_KERNEL);
+   if (!obj)
+   goto free;
 
obj-dev = dev;
obj-filp = shmem_file_setup(drm mm object, size, VM_NORESERVE);
-   if (IS_ERR(obj-filp)) {
-   kfree(obj);
-   return NULL;
-   }
+   if (IS_ERR(obj-filp))
+   goto free;
 
kref_init(obj-refcount);
kref_init(obj-handlecount);
obj-size = size;
if (dev-driver-gem_init_object != NULL 
dev-driver-gem_init_object(obj) != 0) {
-   fput(obj-filp);
-   kfree(obj);
-   return NULL;
+   goto fput;
}
atomic_inc(dev-object_count);
atomic_add(obj-size, dev-object_memory);
return obj;
+fput:
+   fput(obj-filp);
+free:
+   kfree(obj);
+   return NULL;
 }
 EXPORT_SYMBOL(drm_gem_object_alloc);
 
-- 
1.6.3.2


--
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: i915 X lockup

2009-02-28 Thread Jiri Slaby
On 28.2.2009 01:20, Eric Anholt wrote:
 KMS support is not a feature of the server but of your 2D driver.  You
 want 2.6.2, or things will be bad.

I have 2.5.0. After turning KMS off, problem seems to be solved.

Anyway, I would appreciate a version of the intel driver being in the 
Kconfig text, otherwise it looks like: don't use this on machines with 
installation from stone age. If one has latest stable release of a 
distro, he doesn't even think he doesn't have new enough userspace.

For reference, the text is:
Choose this option if you want kernel modesetting enabled by default,
and you have a new enough userspace to support this. Running old
userspaces with this enabled will cause pain.

--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: i915 X lockup

2009-02-27 Thread Jiri Slaby
On 27.2.2009 11:01, Peter Zijlstra wrote:
 would be good to have sysrq-w output

There was nothing but events. So this is rather an intel driver 
userspace bug?

SysRq : Show Blocked State
   taskPC stack   pid father
events/1  D  011  2
  8801cb231da0 0046 8801cb231d00 80231ef8
  00380010 00010180 880028053840 880028057180
  8801cb20c790 8801cb20ca38 0001ca3f90e8 7a0e
Call Trace:
  [80231ef8] ? dequeue_entity+0x18/0x1a0
  [80230b50] ? dequeue_task+0xb0/0xf0
  [805fca2a] __mutex_lock_slowpath+0xea/0x170
  [803f60a0] ? i915_gem_retire_work_handler+0x0/0x90
  [805fc6f6] mutex_lock+0x26/0x50
  [803f60d8] i915_gem_retire_work_handler+0x38/0x90
  [80250792] worker_thread+0x172/0x250
  [80254da0] ? autoremove_wake_function+0x0/0x40
  [80250620] ? worker_thread+0x0/0x250
  [802549be] kthread+0x9e/0xb0
  [8020d3da] child_rip+0xa/0x20
  [80254920] ? kthread+0x0/0xb0
  [8020d3d0] ? child_rip+0x0/0x20

--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: i915 X lockup

2009-02-27 Thread Jiri Slaby
On 27.2.2009 11:12, Jiri Slaby wrote:
 So this is rather an intel driver userspace bug?

Bullshit, ignore me :).

--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


i915 X lockup

2009-02-27 Thread Jiri Slaby
Hi,

everytime I run X, it gets stuck. Currently running on mmotm 
2009-02-26-16-58, but I think this is wider problem. I had i915 disabled 
for a long time (until I noticed today).

SysRq : Show Locks Held

Showing all locks held in the system:
3 locks held by events/0/10:
  #0:  (events){+.+.+.}, at: [8025223d] worker_thread+0x19d/0x340
  #1:  ((dev_priv-mm.retire_work)-work){+.+...}, at: 
[8025223d] worker_thread+0x19d/0x340
  #2:  (dev-struct_mutex){+.+.+.}, at: [804057ba] 
i915_gem_retire_work_handler+0x3a/0x90
1 lock held by mingetty/3899:
  #0:  (tty-atomic_read_lock){+.+.+.}, at: [803cb5de] 
n_tty_read+0x48e/0x8e0
1 lock held by mingetty/3900:
  #0:  (tty-atomic_read_lock){+.+.+.}, at: [803cb5de] 
n_tty_read+0x48e/0x8e0
1 lock held by mingetty/3901:
  #0:  (tty-atomic_read_lock){+.+.+.}, at: [803cb5de] 
n_tty_read+0x48e/0x8e0
1 lock held by X/4007:
  #0:  (dev-struct_mutex){+.+.+.}, at: [8040563c] 
i915_gem_throttle_ioctl+0x2c/0x60
2 locks held by bash/4105:
  #0:  (sysrq_key_table_lock){..}, at: [803de366] 
__handle_sysrq+0x26/0x190
  #1:  (tasklist_lock){.+.+..}, at: [80266c1f] 
debug_show_all_locks+0x3f/0x1c0

=

INFO: task events/0:10 blocked for more than 120 seconds.
echo 0  /proc/sys/kernel/hung_task_timeout_secs disables this message.
events/0  D  010  2
  8801cb22fd60 0046 8801cb22fcc0 809d5cb0
  00010400 804057ba 8801cb20a6d0 8801cb20a080
  8801cb20a328 802690a3 0ea1 0002
Call Trace:
  [804057ba] ? i915_gem_retire_work_handler+0x3a/0x90
  [8026804d] ? mark_held_locks+0x6d/0x90
  [80612fb5] ? mutex_lock_nested+0x185/0x310
  [80612f46] mutex_lock_nested+0x116/0x310
  [804057ba] ? i915_gem_retire_work_handler+0x3a/0x90
  [802690a3] ? __lock_acquire+0xab3/0x12c0
  [80405780] ? i915_gem_retire_work_handler+0x0/0x90
  [804057ba] i915_gem_retire_work_handler+0x3a/0x90
  [80252290] worker_thread+0x1f0/0x340
  [8025223d] ? worker_thread+0x19d/0x340
  [80614aff] ? _spin_unlock_irqrestore+0x3f/0x60
  [80256de0] ? autoremove_wake_function+0x0/0x40
  [8026838d] ? trace_hardirqs_on+0xd/0x10
  [802520a0] ? worker_thread+0x0/0x340
  [80256a2e] kthread+0x9e/0xb0
  [8020d51a] child_rip+0xa/0x20
  [8020cf3c] ? restore_args+0x0/0x30
  [80256990] ? kthread+0x0/0xb0
  [8020d510] ? child_rip+0x0/0x20
3 locks held by events/0/10:
  #0:  (events){+.+.+.}, at: [8025223d] worker_thread+0x19d/0x340
  #1:  ((dev_priv-mm.retire_work)-work){+.+...}, at: 
[8025223d] worker_thread+0x19d/0x340
  #2:  (dev-struct_mutex){+.+.+.}, at: [804057ba] 
i915_gem_retire_work_handler+0x3a/0x90




Adapter is:
00:02.0 VGA compatible controller [0300]: Intel Corporation 82G33/G31 
Express Integrated Graphics Controller [8086:29c2] (rev 02) (prog-if 00 
[VGA controller])
 Subsystem: Intel Corporation 82G33/G31 Express Integrated 
Graphics Controller [8086:29c2]
 Flags: bus master, fast devsel, latency 0, IRQ 26
 Memory at ffa8 (32-bit, non-prefetchable) [size=512K]
 I/O ports at ec00 [size=8]
 Memory at d000 (32-bit, prefetchable) [size=256M]
 Memory at ff90 (32-bit, non-prefetchable) [size=1M]
 Capabilities: [90] Message Signalled Interrupts: Mask- 64bit- 
Count=1/1 Enable+
 Capabilities: [d0] Power Management version 2
 Kernel driver in use: i915



X server complains:
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.

--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: i915 X lockup

2009-02-27 Thread Jiri Slaby
On 27.2.2009 14:04, Sitsofe Wheeler wrote:
 On Fri, Feb 27, 2009 at 02:32:31AM -0800, Andrew Morton wrote:
 On Fri, 27 Feb 2009 10:28:51 +0100 Jiri Slabyjirisl...@gmail.com  wrote:

 everytime I run X, it gets stuck. Currently running on mmotm
 2009-02-26-16-58, but I think this is wider problem. I had i915 disabled
 for a long time (until I noticed today).

 Which version of X are you using? Does it support kernel modesetting? If
 not, did you disable kernel modesetting in the KConfig file for i915?

xorg-x11-server-7.4-17.3
which is
X.Org X Server 1.5.2

modesetting enabled:
CONFIG_DRM_I915_KMS=y

Which X version is needed for that?

--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH 1/1] DRM: fix radeon suspend/resume oops

2008-11-09 Thread Jiri Slaby
Hi,

I've sent a bugreport twice with no reply, so coming with a patch.
Andrew please apply, if no comments or a better patch from drm
fellows comes.

As the accesses to the mmio member are not protected by anything, they
seem to be racy with the open/clsoe anyways, setting this down there
too.

--
When the driver is bound to a device and nobody opens the device node,
it will oops on suspend and resume, since it's not mapped and
dev_priv-mmio is NULL.

Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
Cc: David Airlie [EMAIL PROTECTED]
---
 drivers/gpu/drm/radeon/radeon_drv.c |7 +++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_drv.c 
b/drivers/gpu/drm/radeon/radeon_drv.c
index 71af746..2e74a98 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
@@ -52,10 +52,14 @@ static int dri_library_name(struct drm_device *dev, char 
*buf)
r300));
 }
 
+/* FIXME all this suspend/resume races with open/close? */
 static int radeon_suspend(struct drm_device *dev, pm_message_t state)
 {
drm_radeon_private_t *dev_priv = dev-dev_private;
 
+   if (!dev_priv-mmio)
+   return 0;
+
/* Disable *all* interrupts */
if ((dev_priv-flags  RADEON_FAMILY_MASK) = CHIP_RS690)
RADEON_WRITE(R500_DxMODE_INT_MASK, 0);
@@ -67,6 +71,9 @@ static int radeon_resume(struct drm_device *dev)
 {
drm_radeon_private_t *dev_priv = dev-dev_private;
 
+   if (!dev_priv-mmio)
+   return 0;
+
/* Restore interrupt registers */
if ((dev_priv-flags  RADEON_FAMILY_MASK) = CHIP_RS690)
RADEON_WRITE(R500_DxMODE_INT_MASK, dev_priv-r500_disp_irq_reg);
-- 
1.6.0.3


-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH 1/1 v2] DRM: fix radeon suspend/resume oops

2008-11-09 Thread Jiri Slaby
me wrote:
 As the accesses to the mmio member are not protected by anything, they
 seem to be racy with the open/clsoe anyways, setting this down there
 too.

On the second though it should be protected. Updated patch below...

+ added Rafael to cc list

--

When the driver is bound to a device and nobody opens the device node,
it will oops on suspend and resume, since it's not mapped and
dev_priv-mmio is NULL.

Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
Cc: David Airlie [EMAIL PROTECTED]
Cc: Rafael J. Wysocki [EMAIL PROTECTED]
---
 drivers/gpu/drm/radeon/radeon_drv.c |6 ++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_drv.c 
b/drivers/gpu/drm/radeon/radeon_drv.c
index 71af746..7672310 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
@@ -56,6 +56,9 @@ static int radeon_suspend(struct drm_device *dev, 
pm_message_t state)
 {
drm_radeon_private_t *dev_priv = dev-dev_private;
 
+   if (!dev_priv-mmio)
+   return 0;
+
/* Disable *all* interrupts */
if ((dev_priv-flags  RADEON_FAMILY_MASK) = CHIP_RS690)
RADEON_WRITE(R500_DxMODE_INT_MASK, 0);
@@ -67,6 +70,9 @@ static int radeon_resume(struct drm_device *dev)
 {
drm_radeon_private_t *dev_priv = dev-dev_private;
 
+   if (!dev_priv-mmio)
+   return 0;
+
/* Restore interrupt registers */
if ((dev_priv-flags  RADEON_FAMILY_MASK) = CHIP_RS690)
RADEON_WRITE(R500_DxMODE_INT_MASK, dev_priv-r500_disp_irq_reg);
-- 
1.6.0.3


-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: oops in radeon_suspend (mmotm 2008-10-22-17-18)

2008-11-08 Thread Jiri Slaby
Ping

On 10/26/2008 04:23 PM, Jiri Slaby wrote:
 Hi,
 
 this oops occured on suspend of mmotm:
 http://decibel.fi.muni.cz/~xslaby/radeon_oops1.png
 http://decibel.fi.muni.cz/~xslaby/radeon_oops2.png
 
 radeon_suspend:
 movq288(%rcx), %rax # variable.mmio, variable.mmio
 xorl%edx, %edx  # tmp68
 movq24(%rax), %rax  # variable.handle, variable.handle
 
 rax (dev_priv-mmio) is null.

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


oops in radeon_suspend (mmotm 2008-10-22-17-18)

2008-10-26 Thread Jiri Slaby
Hi,

this oops occured on suspend of mmotm:
http://decibel.fi.muni.cz/~xslaby/radeon_oops1.png
http://decibel.fi.muni.cz/~xslaby/radeon_oops2.png

radeon_suspend:
movq288(%rcx), %rax # variable.mmio, variable.mmio
xorl%edx, %edx  # tmp68
movq24(%rax), %rax  # variable.handle, variable.handle

rax (dev_priv-mmio) is null.

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH 1/1 repost #1] DRM: don't enable irqs in locking

2008-07-25 Thread Jiri Slaby
drm_lock_take(); and drm_lock_free(); are called from
drm_locked_tasklet_func(); which disables interrupts when grabbing its
spinlock.

Don't allow these locking functions to re-enable interrupts when
the tasklet expects them disabled. I.e. use spin_lock_irqsave instead of
spin_lock_bh (with their unlock opposites).

We will get such a warnings otherwise:
[ cut here ]
WARNING: at kernel/softirq.c:136 local_bh_enable_ip+0x8b/0xb0()
Modules linked in: arc4 ecb crypto_blkcipher cryptomgr crypto_algapi ath5k 
usbhid mac80211 ohci1394 hid led_class floppy cfg80211 ff_memless ieee1394 
rtc_cmos evdev [last unloaded: freq_table]
Pid: 0, comm: swapper Not tainted 2.6.26-rc8-mm1_64 #427

Call Trace:
 IRQ  [8023813f] warn_on_slowpath+0x5f/0x90
[...]
 [8023e1fb] local_bh_enable_ip+0x8b/0xb0
 [8055b2cf] _spin_unlock_bh+0xf/0x20
 [803b0bd1] drm_lock_take+0x81/0xe0
 [803b006b] drm_locked_tasklet_func+0x4b/0xb0
 [8023daf9] tasklet_hi_action+0x69/0xf0
 [8023e3e4] __do_softirq+0x84/0xf0
[stack snipped]

Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
Cc: David Airlie [EMAIL PROTECTED]
---
 drivers/gpu/drm/drm_lock.c |   12 +++-
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/drm_lock.c b/drivers/gpu/drm/drm_lock.c
index 0998723..79943e4 100644
--- a/drivers/gpu/drm/drm_lock.c
+++ b/drivers/gpu/drm/drm_lock.c
@@ -196,10 +196,11 @@ int drm_unlock(struct drm_device *dev, void *data, struct 
drm_file *file_priv)
 int drm_lock_take(struct drm_lock_data *lock_data,
  unsigned int context)
 {
+   unsigned long flags;
unsigned int old, new, prev;
volatile unsigned int *lock = lock_data-hw_lock-lock;
 
-   spin_lock_bh(lock_data-spinlock);
+   spin_lock_irqsave(lock_data-spinlock, flags);
do {
old = *lock;
if (old  _DRM_LOCK_HELD)
@@ -211,7 +212,7 @@ int drm_lock_take(struct drm_lock_data *lock_data,
}
prev = cmpxchg(lock, old, new);
} while (prev != old);
-   spin_unlock_bh(lock_data-spinlock);
+   spin_unlock_irqrestore(lock_data-spinlock, flags);
 
if (_DRM_LOCKING_CONTEXT(old) == context) {
if (old  _DRM_LOCK_HELD) {
@@ -270,17 +271,18 @@ static int drm_lock_transfer(struct drm_lock_data 
*lock_data,
  */
 int drm_lock_free(struct drm_lock_data *lock_data, unsigned int context)
 {
+   unsigned long flags;
unsigned int old, new, prev;
volatile unsigned int *lock = lock_data-hw_lock-lock;
 
-   spin_lock_bh(lock_data-spinlock);
+   spin_lock_irqsave(lock_data-spinlock, flags);
if (lock_data-kernel_waiters != 0) {
drm_lock_transfer(lock_data, 0);
lock_data-idle_has_lock = 1;
-   spin_unlock_bh(lock_data-spinlock);
+   spin_unlock_irqrestore(lock_data-spinlock, flags);
return 1;
}
-   spin_unlock_bh(lock_data-spinlock);
+   spin_unlock_irqrestore(lock_data-spinlock, flags);
 
do {
old = *lock;
-- 
1.5.6.2


-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH 1/1] DRM: don't enable irqs in locking

2008-07-21 Thread Jiri Slaby
drm_lock_take(); and drm_lock_free(); are called from
drm_locked_tasklet_func(); which disables interrupts when grabbing its
spinlock.

Don't allow these locking functions to re-enable interrupts when
the tasklet expects them disabled. I.e. use spin_lock_irqsave instead of
spin_lock_bh (with their unlock opposites).

We will get such a warnings otherwise:
[ cut here ]
WARNING: at kernel/softirq.c:136 local_bh_enable_ip+0x8b/0xb0()
Modules linked in: arc4 ecb crypto_blkcipher cryptomgr crypto_algapi ath5k 
usbhid mac80211 ohci1394 hid led_class floppy cfg80211 ff_memless ieee1394 
rtc_cmos evdev [last unloaded: freq_table]
Pid: 0, comm: swapper Not tainted 2.6.26-rc8-mm1_64 #427

Call Trace:
 IRQ  [8023813f] warn_on_slowpath+0x5f/0x90
[...]
 [8023e1fb] local_bh_enable_ip+0x8b/0xb0
 [8055b2cf] _spin_unlock_bh+0xf/0x20
 [803b0bd1] drm_lock_take+0x81/0xe0
 [803b006b] drm_locked_tasklet_func+0x4b/0xb0
 [8023daf9] tasklet_hi_action+0x69/0xf0
 [8023e3e4] __do_softirq+0x84/0xf0
[stack snipped]

Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
Cc: David Airlie [EMAIL PROTECTED]
---
 drivers/gpu/drm/drm_lock.c |   12 +++-
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/drm_lock.c b/drivers/gpu/drm/drm_lock.c
index 0998723..79943e4 100644
--- a/drivers/gpu/drm/drm_lock.c
+++ b/drivers/gpu/drm/drm_lock.c
@@ -196,10 +196,11 @@ int drm_unlock(struct drm_device *dev, void *data, struct 
drm_file *file_priv)
 int drm_lock_take(struct drm_lock_data *lock_data,
  unsigned int context)
 {
+   unsigned long flags;
unsigned int old, new, prev;
volatile unsigned int *lock = lock_data-hw_lock-lock;
 
-   spin_lock_bh(lock_data-spinlock);
+   spin_lock_irqsave(lock_data-spinlock, flags);
do {
old = *lock;
if (old  _DRM_LOCK_HELD)
@@ -211,7 +212,7 @@ int drm_lock_take(struct drm_lock_data *lock_data,
}
prev = cmpxchg(lock, old, new);
} while (prev != old);
-   spin_unlock_bh(lock_data-spinlock);
+   spin_unlock_irqrestore(lock_data-spinlock, flags);
 
if (_DRM_LOCKING_CONTEXT(old) == context) {
if (old  _DRM_LOCK_HELD) {
@@ -270,17 +271,18 @@ static int drm_lock_transfer(struct drm_lock_data 
*lock_data,
  */
 int drm_lock_free(struct drm_lock_data *lock_data, unsigned int context)
 {
+   unsigned long flags;
unsigned int old, new, prev;
volatile unsigned int *lock = lock_data-hw_lock-lock;
 
-   spin_lock_bh(lock_data-spinlock);
+   spin_lock_irqsave(lock_data-spinlock, flags);
if (lock_data-kernel_waiters != 0) {
drm_lock_transfer(lock_data, 0);
lock_data-idle_has_lock = 1;
-   spin_unlock_bh(lock_data-spinlock);
+   spin_unlock_irqrestore(lock_data-spinlock, flags);
return 1;
}
-   spin_unlock_bh(lock_data-spinlock);
+   spin_unlock_irqrestore(lock_data-spinlock, flags);
 
do {
old = *lock;
-- 
1.5.6.2


-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH 1/2] DRM: i915, suspend oops fix

2007-12-16 Thread Jiri Slaby
Jiri Slaby wrote:
 On 12/13/2007 11:40 AM, Andrew Morton wrote:
  
  ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/
 
 Broken @#$%^ suspend, again (and maybe still for a longer time). Unable to
 reproduce this with netconsole.
 
 trace led to i915_suspend
 callpci_bus_read_config_byte#
 movq8(%rbx), %rdi   # variable.mmio_map, variable.mmio_map
 movq24(%rdi), %rax  # variable.handle, D.24395
 movl458760(%rax), %eax  #, D.24397
 
 address in rax (i.e. dev_priv-mmio_map-handle) is broken, at least it seems 
 so
 from the part of the trace and RIP.
 
 movl%eax, 408(%rbx) # D.24397, variable.savePIPEACONF
 movq24(%rdi), %rax  # variable.handle, temp.676
 movl393244(%rax), %eax  #, D.24399
 
 in
 pci_save_state(dev-pdev);
 pci_read_config_byte(dev-pdev, LBB, dev_priv-saveLBB);
 
 /* Pipe  plane A info */
 -- dev_priv-savePIPEACONF = I915_READ(PIPEACONF);

I think, the problem is, that something randomizes ioremapped addresses.
Old userspace driver closes drm when X starts and the mapping is lost. The
problem dismissed after X userspace driver update, anyway I think that the
patch still might be needed. Anyway, it's not enough, the same problem for
sarea (next patch).

BTW the new driver (also without both patches) breaks killing of X. Screen
becomes black and console is not shown.

--

i915, suspend oops fix

Register mmio_map space when suspending, it might be lost due to DRM device
closing with older X userspace drivers (it closes drm device and frees
resources after X starts) and then it accesses bad address and oopses while
suspending.

Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
Cc: Dave Airlie [EMAIL PROTECTED]

---
commit f2e573d8a1b391584c76e95f287010b38867de64
tree cf24a5949513ed8ad03b3920d7213bcebfd9ce99
parent 39dc99d1618c5b3f96ad741cadeccaba055f4b72
author Jiri Slaby [EMAIL PROTECTED] Sun, 16 Dec 2007 17:56:47 +0100
committer Jiri Slaby [EMAIL PROTECTED] Sun, 16 Dec 2007 17:56:47 +0100

 drivers/char/drm/i915_dma.c |   24 +++-
 drivers/char/drm/i915_drv.c |   10 +-
 drivers/char/drm/i915_drv.h |1 +
 3 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/drivers/char/drm/i915_dma.c b/drivers/char/drm/i915_dma.c
index 9e5adca..b274554 100644
--- a/drivers/char/drm/i915_dma.c
+++ b/drivers/char/drm/i915_dma.c
@@ -1276,11 +1276,23 @@ static int i915_set_status_page(struct drm_device *dev, 
void *data,
return 0;
 }
 
-int i915_driver_load(struct drm_device *dev, unsigned long flags)
+int i915_register_mmio_map(struct drm_device *dev)
 {
struct drm_i915_private *dev_priv = dev-dev_private;
unsigned long base, size;
-   int ret = 0, mmio_bar = IS_I9XX(dev) ? 0 : 1;
+   int mmio_bar = IS_I9XX(dev) ? 0 : 1;
+
+   /* Add register map (needed for suspend/resume) */
+   base = drm_get_resource_start(dev, mmio_bar);
+   size = drm_get_resource_len(dev, mmio_bar);
+
+   return drm_addmap(dev, base, size, _DRM_REGISTERS, _DRM_KERNEL,
+dev_priv-mmio_map);
+}
+
+int i915_driver_load(struct drm_device *dev, unsigned long flags)
+{
+   struct drm_i915_private *dev_priv = dev-dev_private;
 
/* i915 has 4 more counters */
dev-counters += 4;
@@ -1297,13 +1309,7 @@ int i915_driver_load(struct drm_device *dev, unsigned 
long flags)
 
dev-dev_private = (void *)dev_priv;
 
-   /* Add register map (needed for suspend/resume) */
-   base = drm_get_resource_start(dev, mmio_bar);
-   size = drm_get_resource_len(dev, mmio_bar);
-
-   ret = drm_addmap(dev, base, size, _DRM_REGISTERS, _DRM_KERNEL,
-dev_priv-mmio_map);
-   return ret;
+   return i915_register_mmio_map(dev);
 }
 
 int i915_driver_unload(struct drm_device *dev)
diff --git a/drivers/char/drm/i915_drv.c b/drivers/char/drm/i915_drv.c
index 0f9c1f1..a8c87f0 100644
--- a/drivers/char/drm/i915_drv.c
+++ b/drivers/char/drm/i915_drv.c
@@ -266,7 +266,7 @@ static void i915_restore_vga(struct drm_device *dev)
 static int i915_suspend(struct drm_device *dev)
 {
struct drm_i915_private *dev_priv = dev-dev_private;
-   int i;
+   int i, ret;
 
if (!dev || !dev_priv) {
printk(KERN_ERR dev: %p, dev_priv: %p\n, dev, dev_priv);
@@ -274,6 +274,14 @@ static int i915_suspend(struct drm_device *dev)
return -ENODEV;
}
 
+   /* Every lastclose will destroy this mapping, we need it for suspend.
+* It doesn't matter if it exists already, it will return the existing
+* one. Also it will be surely destroyed; either on next lastclose or
+* on lastclose called from drm unload path. -js */
+   ret = i915_register_mmio_map(dev);
+   if (ret)
+   return ret;
+   
pci_save_state(dev-pdev);
pci_read_config_byte(dev

[PATCH 2/2] DRM: i915, fix oops after killing X

2007-12-16 Thread Jiri Slaby
i915, fix oops after killing X

Null sarea_priv, because next lastclose would have bad address in it if
initialization is not called in the meantime.

This is a problem in setups, where drm are closed after X starts. Next
lastclose is invoked on X kill. Newer intel drivers (2.2) with EXA support
hold the device whole time while X runs.

Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
Cc: Dave Airlie [EMAIL PROTECTED]

---
commit c50f4766654ec13d8dc35f96a8d2c199d6ae5c91
tree 3e3a65f44bedf6d846cbb43a315d2f0bce8b7da2
parent f2e573d8a1b391584c76e95f287010b38867de64
author Jiri Slaby [EMAIL PROTECTED] Sun, 16 Dec 2007 19:24:13 +0100
committer Jiri Slaby [EMAIL PROTECTED] Sun, 16 Dec 2007 19:24:13 +0100

 drivers/char/drm/i915_dma.c |6 ++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/char/drm/i915_dma.c b/drivers/char/drm/i915_dma.c
index b274554..7a97eea 100644
--- a/drivers/char/drm/i915_dma.c
+++ b/drivers/char/drm/i915_dma.c
@@ -1335,6 +1335,12 @@ void i915_driver_lastclose(struct drm_device * dev)
i915_mem_takedown((dev_priv-agp_heap));
 
i915_dma_cleanup(dev);
+   
+   /* Mapping won't survive to the next firstopen anyways. It will
+* probably oops without it on next lastclose if we not null it
+* here, if it will be mapped anywhere else, but without dma being
+* initialized -js */
+   dev_priv-sarea_priv = NULL;
 }
 
 void i915_driver_preclose(struct drm_device * dev, struct drm_file *file_priv)

-
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


broken suspend, sometimes (drm related) [Was: 2.6.24-rc5-mm1]

2007-12-15 Thread Jiri Slaby
On 12/13/2007 11:40 AM, Andrew Morton wrote:
 
 ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/

Broken @#$%^ suspend, again (and maybe still for a longer time). Unable to
reproduce this with netconsole.

trace led to i915_suspend
callpci_bus_read_config_byte#
movq8(%rbx), %rdi   # variable.mmio_map, variable.mmio_map
movq24(%rdi), %rax  # variable.handle, D.24395
movl458760(%rax), %eax  #, D.24397

address in rax (i.e. dev_priv-mmio_map-handle) is broken, at least it seems so
from the part of the trace and RIP.

movl%eax, 408(%rbx) # D.24397, variable.savePIPEACONF
movq24(%rdi), %rax  # variable.handle, temp.676
movl393244(%rax), %eax  #, D.24399

in
pci_save_state(dev-pdev);
pci_read_config_byte(dev-pdev, LBB, dev_priv-saveLBB);

/* Pipe  plane A info */
-- dev_priv-savePIPEACONF = I915_READ(PIPEACONF);

I use distro pm-utils and it chvt's to some terminal, write out the output,
suspend, resume, switch back to X.

The patch I'm currently using for debugging:
Index: BH/drivers/char/drm/i915_drv.c
===
--- BH.orig/drivers/char/drm/i915_drv.c
+++ BH/drivers/char/drm/i915_drv.c
@@ -274,9 +274,18 @@ static int i915_suspend(struct drm_devic
return -ENODEV;
}

+   if (!dev_priv-mmio_map || !dev_priv-mmio_map-handle) {
+   printk(KERN_ERR BAD BAD BAD %p %p\n, dev_priv-mmio_map,
+   dev_priv-mmio_map ? dev_priv-mmio_map-handle : NULL);
+   return -EIO;
+   }
+
pci_save_state(dev-pdev);
pci_read_config_byte(dev-pdev, LBB, dev_priv-saveLBB);

+   printk(KERN_ERR \n\n\nmap %p, HANDLE: %p\n\n\n, dev_priv-mmio_map,
+   dev_priv-mmio_map-handle);
+   msleep(5000);
/* Pipe  plane A info */
dev_priv-savePIPEACONF = I915_READ(PIPEACONF);
dev_priv-savePIPEASRC = I915_READ(PIPEASRC);
Index: BH/drivers/char/drm/drm_bufs.c
===
--- BH.orig/drivers/char/drm/drm_bufs.c
+++ BH/drivers/char/drm/drm_bufs.c
@@ -136,6 +136,7 @@ static int drm_addmap_core(struct drm_de
return -EINVAL;
}
map-mtrr = -1;
+   printk(BLE %s a: map %p, handle %p\n, __func__, map, map-handle);
map-handle = NULL;

switch (map-type) {
@@ -183,6 +184,7 @@ static int drm_addmap_core(struct drm_de
drm_free(map, sizeof(*map), DRM_MEM_MAPS);
return -ENOMEM;
}
+   printk(BLE %s b: map %p, handle %p\n, __func__, map, map-handle);
}

break;
@@ -201,6 +203,7 @@ static int drm_addmap_core(struct drm_de
return 0;
}
map-handle = vmalloc_user(map-size);
+   printk(BLE %s c: map %p, handle %p\n, __func__, map, map-handle);
DRM_DEBUG(%lu %d %p\n,
  map-size, drm_order(map-size), map-handle);
if (!map-handle) {
@@ -211,6 +214,7 @@ static int drm_addmap_core(struct drm_de
if (map-flags  _DRM_CONTAINS_LOCK) {
/* Prevent a 2nd X Server from creating a 2nd lock */
if (dev-lock.hw_lock != NULL) {
+   printk(BLE %s d: map %p, handle %p\n, __func__, map, map-handle);
vfree(map-handle);
drm_free(map, sizeof(*map), DRM_MEM_MAPS);
return -EBUSY;
@@ -281,6 +285,7 @@ static int drm_addmap_core(struct drm_de
return -ENOMEM;
}
map-handle = dmah-vaddr;
+   printk(BLE %s f: map %p, handle %p\n, __func__, map, map-handle);
map-offset = (unsigned long)dmah-busaddr;
kfree(dmah);
break;
@@ -291,6 +296,7 @@ static int drm_addmap_core(struct drm_de

list = drm_alloc(sizeof(*list), DRM_MEM_MAPS);
if (!list) {
+   printk(BLE %s g: map %p, handle %p\n, __func__, map, map-handle);
if (map-type == _DRM_REGISTERS)
iounmap(map-handle);
drm_free(map, sizeof(*map), DRM_MEM_MAPS);
@@ -308,6 +314,7 @@ static int drm_addmap_core(struct drm_de
map-offset;
ret = drm_map_handle(dev, list-hash, user_token, 0);
if (ret) {
+   printk(BLE %s h: map %p, handle %p\n, __func__, map, map-handle);
if (map-type == _DRM_REGISTERS)
iounmap(map-handle);
drm_free(map, sizeof(*map), DRM_MEM_MAPS);
@@ -355,6 +362,7 @@ int drm_addmap_ioctl(struct drm_device *
return err;

/* avoid a warning on 64-bit, this casting isn't very nice, but the API
is set so 

[PATCH 1/1] DRM: i915, fix pointer strip

2007-11-13 Thread Jiri Slaby
i915, fix pointer strip

Beside the emitted warning, the added cast (u64 - unsigned) strips out
part of address on 64 bit. Cast to unsigned long instead.

Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
Cc: Thomas Hellstrom [EMAIL PROTECTED]
Cc: Dave Airlie [EMAIL PROTECTED]

---
commit 496b198ff1b261c902337f93f07e7eabebd15fcd
tree 82e09385c7079b58397c547d4213f8a7f066191e
parent 32df077a4a9ff106df31681999e869971eacb470
author Jiri Slaby [EMAIL PROTECTED] Tue, 13 Nov 2007 14:12:08 +0100
committer Jiri Slaby [EMAIL PROTECTED] Tue, 13 Nov 2007 14:12:08 +0100

 drivers/char/drm/i915_dma.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/char/drm/i915_dma.c b/drivers/char/drm/i915_dma.c
index eced445..a68e0ee 100644
--- a/drivers/char/drm/i915_dma.c
+++ b/drivers/char/drm/i915_dma.c
@@ -900,7 +900,7 @@ int i915_validate_buffer_list(struct drm_file *file_priv,
 
buffers[buf_count] = NULL;
 
-   if (copy_from_user(arg, (void __user *)(unsigned)data, 
sizeof(arg))) {
+   if (copy_from_user(arg, (void __user *)(unsigned long)data, 
sizeof(arg))) {
ret = -EFAULT;
goto out_err;
}
@@ -951,7 +951,7 @@ int i915_validate_buffer_list(struct drm_file *file_priv,
arg.handled = 1;
arg.d.rep = rep;
 
-   if (copy_to_user((void __user *)(unsigned)data, arg, 
sizeof(arg)))
+   if (copy_to_user((void __user *)(unsigned long)data, arg, 
sizeof(arg)))
return -EFAULT;
 
data = next;

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: Revert intel_agp: fix stolen mem range on G33

2007-10-07 Thread Jiri Slaby
On 10/06/2007 07:42 AM, Kyle McMartin wrote:
 This reverts commit f443675affe3f16dd428e46f0f7fd3f4d703eeab, which
 breaks horribly if you aren't running an unreleased xf86-video-intel
 driver out of git.

I guess, this will break my graphics, no?
http://lkml.org/lkml/2007/9/20/447

 Conflicts:
 
   drivers/char/agp/intel-agp.c
 
 Signed-off-by: Kyle McMartin [EMAIL PROTECTED]
 ---
 
  drivers/char/agp/intel-agp.c |5 -
  1 files changed, 0 insertions(+), 5 deletions(-)
 
 diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
 index a5d0e95..141ca17 100644
 --- a/drivers/char/agp/intel-agp.c
 +++ b/drivers/char/agp/intel-agp.c
 @@ -506,11 +506,6 @@ static void intel_i830_init_gtt_entries(void)
   break;
   }
   } else {
 - /* G33's GTT stolen memory is separate from gfx data
 -  * stolen memory.
 -  */
 - if (IS_G33)
 - size = 0;
   switch (gmch_ctrl  I855_GMCH_GMS_MASK) {
   case I855_GMCH_GMS_STOLEN_1M:
   gtt_entries = MB(1) - KB(size);


-- 
Jiri Slaby ([EMAIL PROTECTED])
Faculty of Informatics, Masaryk University

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: Revert intel_agp: fix stolen mem range on G33

2007-10-07 Thread Jiri Slaby
On 10/06/2007 09:29 PM, Keith Packard wrote:
 On Sat, 2007-10-06 at 08:59 -0700, Linus Torvalds wrote:
 
 We do have a rule about no regressions, so I think we'll have to do the 
 revert, but it would be nice to hear what the consequences for the revert 
 is for the affected hardware and new X.org..

Agree with the first part. Here comes the X log diff:
--- orig2007-10-07 11:57:50.0 +0200
+++ agp 2007-10-07 11:56:07.0 +0200
@@ -3,7 +3,7 @@
 Release Date: 19 April 2007
 X Protocol Version 11, Revision 0, Release 1.3
 Build Operating System: Fedora Core 7 Red Hat, Inc.
-Current Operating System: Linux bellona 2.6.23-rc8-mm2_64 #58 SMP Fri Sep 28
08:52:12 CEST 2007 x86_64
+Current Operating System: Linux bellona 2.6.23-rc8-mm2_64 #59 SMP Sun Oct 7
11:43:55 CEST 2007 x86_64
 Build Date: 11 June 2007
 Build ID: xorg-x11-server 1.3.0.0-9.fc7
Before reporting problems, check http://wiki.x.org
@@ -12,7 +12,7 @@
 Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
-(==) Log file: /var/log/Xorg.0.log, Time: Sun Oct  7 11:57:20 2007
+(==) Log file: /var/log/Xorg.0.log, Time: Sun Oct  7 11:54:36 2007
 (==) Using config file: /etc/X11/xorg.conf
 (==) ServerLayout Default Layout
 (**) |--Screen Screen0 (0)
@@ -34,7 +34,8 @@
 (**) Option BlankTime 8
 (**) Option StandbyTime 10
 (**) Extension Composite is enabled
-(II) Open ACPI successful (/var/run/acpid.socket)
+(WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
+(II) No APM support in BIOS or kernel
 (II) Loader magic: 0x7be760
 (II) Module ABI versions:
X.Org ANSI C Emulation: 0.3
@@ -760,18 +761,18 @@
 (II) intel(0): 0x0800-0x09ff: textures (32768 kB)
 (II) intel(0): 0x1000:end of aperture
 drmOpenDevice: node name is /dev/dri/card0
-drmOpenDevice: open result is 10, (OK)
+drmOpenDevice: open result is 9, (OK)
 drmOpenDevice: node name is /dev/dri/card0
-drmOpenDevice: open result is 10, (OK)
+drmOpenDevice: open result is 9, (OK)
 drmOpenByBusid: Searching for BusID pci::00:02.0
 drmOpenDevice: node name is /dev/dri/card0
-drmOpenDevice: open result is 10, (OK)
-drmOpenByBusid: drmOpenMinor returns 10
+drmOpenDevice: open result is 9, (OK)
+drmOpenByBusid: drmOpenMinor returns 9
 drmOpenByBusid: drmGetBusid reports pci::00:02.0
 (II) intel(0): [drm] DRM interface version 1.3
 (II) intel(0): [drm] created i915 driver at busid pci::00:02.0
 (II) intel(0): [drm] added 8192 byte SAREA at 0x2efff000
-(II) intel(0): [drm] mapped SAREA 0x2efff000 to 0x7f794b3bb000
+(II) intel(0): [drm] mapped SAREA 0x2efff000 to 0x7fd637f76000
 (II) intel(0): [drm] framebuffer handle = 0xd400
 (II) intel(0): [drm] added 1 reserved context for kernel
 (II) intel(0): [drm] Registers = 0xffa8
@@ -838,11 +839,11 @@
 (II) Initializing built-in extension DAMAGE
 (II) Initializing built-in extension XEVIE
 drmOpenDevice: node name is /dev/dri/card0
-drmOpenDevice: open result is 11, (OK)
+drmOpenDevice: open result is 10, (OK)
 drmOpenByBusid: Searching for BusID pci::00:02.0
 drmOpenDevice: node name is /dev/dri/card0
-drmOpenDevice: open result is 11, (OK)
-drmOpenByBusid: drmOpenMinor returns 11
+drmOpenDevice: open result is 10, (OK)
+drmOpenByBusid: drmOpenMinor returns 10
 drmOpenByBusid: drmGetBusid reports pci::00:02.0
 (WW) AIGLX: 3D driver claims to not support visual 0x23
 (WW) AIGLX: 3D driver claims to not support visual 0x24
@@ -906,7 +907,7 @@
 (II) default pointer: ps2EnableDataReporting: succeeded
 (II) Mouse0-usb-:00:1d.0-1.2/input0: Off
 (II) intel(0): [drm] removed 1 reserved context for kernel
-(II) intel(0): [drm] unmapping 8192 bytes of SAREA 0x2efff000 at 0x7f794b3bb000
+(II) intel(0): [drm] unmapping 8192 bytes of SAREA 0x2efff000 at 0x7fd637f76000
 (EE) intel(0): I830 Vblank Pipe Setup Failed 0
 (EE) intel(0): I830 Vblank Pipe Setup Failed 0
 (EE) intel(0): I830 Vblank Pipe Setup Failed 0


And it seems to work, so I think no regression here.

regards,
-- 
Jiri Slaby ([EMAIL PROTECTED])
Faculty of Informatics, Masaryk University

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: X freezes kernel during exit [Re: 2.6.23-rc3-mm1]

2007-09-17 Thread Jiri Slaby
On 09/09/2007 04:43 PM, Jiri Slaby wrote:
 On 09/09/2007 04:33 PM, Andi Kleen wrote:
 On Sun, Sep 09, 2007 at 04:26:22PM +0200, Jiri Slaby wrote:
 BTW it is reproducible for me on two different machines (i386-x86_64,
 radeon-intel), don't you have the problem too?
 No problems here with a radeon, no.

 Does your CPU have clflush or not in /proc/cpuinfo?
 
 BTW this is how my flush_kernel_map looks like:
 
 static void flush_kernel_map(void *arg)
 {
 struct flush_arg *a = (struct flush_arg *)arg;
 struct page *pg;
 unsigned int xx = 0;
 
 /* When clflush is available use it because it is
much cheaper than WBINVD. */
 printk(%s: 1\n, __func__);
 if (a-full_flush || !cpu_has_clflush)
 asm volatile(wbinvd ::: memory);
 else list_for_each_entry(pg, a-l, lru) {
 printk(%s: %10u 1a\n, __func__, xx++);
 if (PageFlush(pg))
 clflush_cache_range(page_address(pg), PAGE_SIZE);
 }
 printk(%s: 2\n, __func__);
 __flush_tlb_all();
 printk(%s: 3\n, __func__);
 }
 
 It outputs 1a in the infinite loop with incrementing xx. But only in this 
 case,
 some global_flush_tlb are OK. e.g.:
 Sep 10 01:39:19 localhost kernel: agpgart: Detected an Intel G33 Chipset.
 Sep 10 01:39:19 localhost kernel: global_flush_tlb: 1
 Sep 10 01:39:19 localhost kernel: flush_kernel_map: 1
 Sep 10 01:39:19 localhost kernel: flush_kernel_map:  0 1a
 Sep 10 01:39:19 localhost kernel: flush_kernel_map:  1 1a
 Sep 10 01:39:19 localhost kernel: flush_kernel_map: 2
 Sep 10 01:39:19 localhost kernel: flush_kernel_map: 3
 Sep 10 01:39:19 localhost kernel: flush_kernel_map: 1
 Sep 10 01:39:19 localhost kernel: flush_kernel_map:  0 1a
 Sep 10 01:39:19 localhost kernel: flush_kernel_map:  1 1a
 Sep 10 01:39:19 localhost kernel: flush_kernel_map: 2
 Sep 10 01:39:19 localhost kernel: flush_kernel_map: 3
 Sep 10 01:39:19 localhost kernel: global_flush_tlb: 2
 Sep 10 01:39:19 localhost kernel: global_flush_tlb: 3
 Sep 10 01:39:19 localhost kernel: agpgart: Detected 6140K stolen memory.
 
 It seems, that the list is broken only on X shutdown. How can be 
 deferred-pages
 list inited in some bad manner, when list_replace_init is called on it? Weird.

Ok, here comes a BUG with trace:
set status page addr 0x00033000
list_add corruption. next-prev should be prev (8068ae70), but was
80697a50. (next=81000117fbd0).
[ cut here ]
kernel BUG at /home/l/latest/xxx/lib/list_debug.c:27!
invalid opcode:  [1] SMP
last sysfs file: /devices/pci:00/:00:02.0/enable
CPU 0
Modules linked in: ipv6 floppy sr_mod rtc_cmos rtc_core cdrom ehci_hcd rtc_lib
usbhid
Pid: 1639, comm: X Not tainted 2.6.23-rc4-mm1_64 #23
RIP: 0010:[80332f49]  [80332f49] __list_add+0x39/0x60
RSP: 0018:81000547bd48  EFLAGS: 00010296
RAX: 0079 RBX: 81000117a380 RCX: 8068b450
RDX: 81000317d6a0 RSI: 0001 RDI: 8068b420
RBP: 81000547bd48 R08:  R09: 0001
R10: 0001 R11:  R12: 6da2
R13: 810006c10d10 R14: 810006da2000 R15: 8163
FS:  7f7a05258710() GS:806d1000() knlGS:
CS:  0010 DS:  ES:  CR0: 8005003b
CR2: 00a33040 CR3: 04a43000 CR4: 06e0
DR0:  DR1:  DR2: 
DR3:  DR6: 0ff0 DR7: 0400
Process X (pid: 1639, threadinfo 81000547a000, task 81000317d6a0)
Stack:  81000547bd58 80332f7c 81000547bdc8 80225c56
 80225cb5 8163 806830e8 806830a0
 806830a0 810006da2000 81000547bda8 6da2
Call Trace:
 [80332f7c] list_add+0xc/0x10
 [80225c56] __change_page_attr+0x376/0x390
 [80225cb5] change_page_attr_addr+0x45/0x140
 [80225d16] change_page_attr_addr+0xa6/0x140
 [80225de3] change_page_attr+0x33/0x40
 [80387b64] agp_generic_destroy_page+0x44/0x70
 [80388645] agp_free_memory+0x65/0xd0
 [80386d49] agp_free_memory_wrap+0x39/0x60
 [803873fb] agp_release+0xdb/0x1c0
 [80299551] __fput+0xd1/0x1b0
 [802996b6] fput+0x16/0x20
 [802964e6] filp_close+0x56/0x90
 [80297bed] sys_close+0xad/0x110
 [8020bd0e] system_call+0x7e/0x83

INFO: lockdep is turned off.

Code: 0f 0b eb fe 0f 1f 00 48 89 f1 4c 89 c2 48 89 c6 48 c7 c7 e8
RIP  [80332f49] __list_add+0x39/0x60
 RSP 81000547bd48

regards,
-- 
Jiri Slaby ([EMAIL PROTECTED])
Faculty of Informatics, Masaryk University

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go

Re: X freezes kernel during exit [Re: 2.6.23-rc3-mm1]

2007-09-11 Thread Jiri Slaby
On 08/28/2007 01:41 PM, Jiri Slaby wrote:
 Does this went through to your boxes? Any progress, clue, idea?
 
 Jiri Slaby napsal(a):
 Andrew Morton napsal(a):
 ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc3/2.6.23-rc3-mm1/
 Hi,

 I've found a regression against 2.6.23-rc2-mm2. X server shutdown freezes
 (untainted) kernel hardly. Nothing on netconsole, X output follows:


 X Window System Version 1.3.0
 Release Date: 19 April 2007
 X Protocol Version 11, Revision 0, Release 1.3
 Build Operating System: Fedora Core 7 Red Hat, Inc.
 Current Operating System: Linux bellona 2.6.23-rc3-mm1 #315 SMP Wed Aug 22
 21:43:06 CEST 2007 i686
 Build Date: 11 June 2007
 Build ID: xorg-x11-server 1.3.0.0-9.fc7
 Before reporting problems, check http://wiki.x.org
 to make sure that you have the latest version.
 Module Loader present
 Markers: (--) probed, (**) from config file, (==) default setting,
 (++) from command line, (!!) notice, (II) informational,
 (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
 (==) Log file: /var/log/Xorg.0.log, Time: Sun Aug 26 14:22:43 2007
 (==) Using config file: /etc/X11/xorg.conf
 (WW) RADEON: No matching Device section for instance (BusID PCI:1:0:1) found
 (**) RADEON(0): RADEONPreInit
 (II) Module already built-in
 (II) Module already built-in
 (II) Module already built-in
 (**) RADEON(0): RADEONScreenInit f000 0
 (**) RADEON(0): Map: 0xf000, 0x0400
 (**) RADEON(0): RADEONSave
 (**) RADEON(0): RADEONSaveMode(0x8240870)
 (**) RADEON(0): Read: 0x000c 0x00030065 0x
 (**) RADEON(0): Read: rd=12, fd=101, pd=3
 (**) RADEON(0): RADEONSaveMode returns 0x8240870
 (**) RADEON(0): DRI New memory map param
 (**) RADEON(0): RADEONInitMemoryMap() :
 (**) RADEON(0):   mem_size : 0x0400
 (**) RADEON(0):   MC_FB_LOCATION   : 0xf3fff000
 (**) RADEON(0):   MC_AGP_LOCATION  : 0xffc0
 (**) RADEON(0): RADEONModeInit()
 1280x1024 108.00  1280 1328 1440 1688  1024 1025 1028 1066 (24,32) +H +V
 1280x1024 108.00  1280 1328 1440 1688  1024 1025 1028 1066 (24,32) +H +V
 (**) RADEON(0): Pitch = 10485920 bytes (virtualX = 1280, displayWidth = 1280)
 (**) RADEON(0): dc=10800, of=21600, fd=96, pd=2
 (**) RADEON(0): RADEONInit returns 0x8241220
 (**) RADEON(0): RADEONRestoreMode()
 (**) RADEON(0): RADEONRestoreMode(0x8241220)
 (**) RADEON(0): RADEONRestoreMemMapRegisters() :
 (**) RADEON(0):   MC_FB_LOCATION   : 0xf3fff000
 (**) RADEON(0):   MC_AGP_LOCATION  : 0xffc0
 (**) RADEON(0):   Map Changed ! Applying ...
 (**) RADEON(0):   Map applied, resetting engine ...
 (**) RADEON(0): Updating display base addresses...
 (**) RADEON(0): Memory map updated.
 (**) RADEON(0): Programming CRTC1, offset: 0x
 (**) RADEON(0): Wrote: 0x000c 0x00010060 0x (0xa400)
 (**) RADEON(0): Wrote: rd=12, fd=96, pd=1
 (**) RADEON(0): GRPH_BUFFER_CNTL from 20205c5c to 20125c5c
 (**) RADEON(0): RADEONSaveScreen(0)
 (**) RADEON(0): Setting up initial surfaces
 (**) RADEON(0): Initializing fb layer
 (**) RADEON(0): Setting up accel memmap
 (**) RADEON(0): Initializing backing store
 (**) RADEON(0): DRI Finishing init !
 (**) RADEON(0): EngineRestore (32/32)
 (**) RADEON(0): GRPH_BUFFER_CNTL from 20205c5c to 20125c5c
 (**) RADEON(0): Setting up final surfaces
 (**) RADEON(0): Initializing Acceleration
 (**) RADEON(0): EngineInit (32/32)
 (**) RADEON(0): Pitch for acceleration = 160
 (**) RADEON(0): EngineRestore (32/32)
 (**) RADEON(0): Initializing DPMS
 (**) RADEON(0): Initializing Cursor
 (**) RADEON(0): Initializing color map
 (**) RADEON(0): Initializing DGA
 (**) RADEON(0): Initializing Xv
 (**) RADEON(0): RADEONScreenInit finished
 (**) RADEON(0): RADEONSaveScreen(2)
 (**) RADEON(0): RADEONCloseScreen
 (**) RADEON(0): RADEONDRIStop
 (**) RADEON(0): EngineRestore (32/32)
 (**) RADEON(0): RADEONDisplayPowerManagementSet(0,0x0)
 (**) RADEON(0): RADEONRestore
 (**) RADEON(0): RADEONRestoreMode()
 (**) RADEON(0): RADEONRestoreMode(0x8240870)
 (**) RADEON(0): RADEONRestoreMemMapRegisters() :
 (**) RADEON(0):   MC_FB_LOCATION   : 0x1fff
 (**) RADEON(0):   MC_AGP_LOCATION  : 0x27ff2000
 (**) RADEON(0):   Map Changed ! Applying ...
 (**) RADEON(0):   Map applied, resetting engine ...
 (**) RADEON(0): Updating display base addresses...
 (**) RADEON(0): Memory map updated.
 (**) RADEON(0): Programming CRTC1, offset: 0x
 (**) RADEON(0): Wrote: 0x000c 0x00030065 0x (0xa400)
 (**) RADEON(0): Wrote: rd=12, fd=101, pd=3
 (**) RADEON(0): Disposing accel...
 (**) RADEON(0): Disposing cusor info
 (**) RADEON(0): Disposing DGA
 (**) RADEON(0): Unmapping memory
 (**) RADEON(0): RADEONDRICloseScreen



 the only difference is, that 2.6.23-rc2-mm2 writes further

 FreeFontPath: FPE /usr/share/X11/fonts/misc:unscaled refcount is 2, should 
 be
 1; fixing.

 and exits succesfully (note that these messages are taken on remote host, X
 runned remotely).

 Both vesa and radeon + Option NoAccel

Re: X freezes kernel during exit [Re: 2.6.23-rc3-mm1]

2007-09-11 Thread Jiri Slaby
Removed [EMAIL PROTECTED] (dead e-mail)

On 09/09/2007 02:47 PM, Andrew Morton wrote:
 On Sun, 09 Sep 2007 13:44:56 +0200 Jiri Slaby [EMAIL PROTECTED] wrote:
 
 On 08/28/2007 01:41 PM, Jiri Slaby wrote:
 Does this went through to your boxes? Any progress, clue, idea?

 Jiri Slaby napsal(a):
 Andrew Morton napsal(a):
 ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc3/2.6.23-rc3-mm1/
 Hi,

 I've found a regression against 2.6.23-rc2-mm2. X server shutdown freezes
 (untainted) kernel hardly. Nothing on netconsole, X output follows:

^^^

sorry, both netconsole and my usb devices (including my keyboard -- no numlock
led switch) are dead. The trace I've taken appears on the screen after a while.

 X Window System Version 1.3.0
 Release Date: 19 April 2007
 X Protocol Version 11, Revision 0, Release 1.3
 Build Operating System: Fedora Core 7 Red Hat, Inc.
 Current Operating System: Linux bellona 2.6.23-rc3-mm1 #315 SMP Wed Aug 22
[...]
 (**) RADEON(0): RADEONDRICloseScreen



 the only difference is, that 2.6.23-rc2-mm2 writes further

 FreeFontPath: FPE /usr/share/X11/fonts/misc:unscaled refcount is 2, 
 should be
 1; fixing.

 and exits succesfully (note that these messages are taken on remote host, X
 runned remotely).

 Both vesa and radeon + Option NoAccel true works obviously fine.
 Also intel on integrated i915 causes this (NoAccell has no effect in this 
 case).
 Note that also 2.6.23-rc4-mm1 is affected by this behaviour.
 I have a trace for you:
 http://www.fi.muni.cz/~xslaby/sklad/panics/x-freeze.png
 (this is the only what I'm able to grab so far)

 
 afacit everything on that call trace is good.  I guess it's possible that
 one of the higher-level loops has gone infinite (eg, the one in
 agp_remove_controller()).

There is no loop in this function. Anyway, going to track this whole issue down.
Hold on.

 Are you able to get netconsole working, and run sysrq-P and sysrq-T
 ten or so times, see if it's always stuck in the same place on the
 same CPU?

thanks so far,
-- 
Jiri Slaby ([EMAIL PROTECTED])
Faculty of Informatics, Masaryk University

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: X freezes kernel during exit [Re: 2.6.23-rc3-mm1]

2007-09-11 Thread Jiri Slaby
On 09/09/2007 02:47 PM, Andrew Morton wrote:
 On Sun, 09 Sep 2007 13:44:56 +0200 Jiri Slaby [EMAIL PROTECTED] wrote:
 
 On 08/28/2007 01:41 PM, Jiri Slaby wrote:
 Does this went through to your boxes? Any progress, clue, idea?

 Jiri Slaby napsal(a):
 Andrew Morton napsal(a):
 ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc3/2.6.23-rc3-mm1/
 Hi,

 I've found a regression against 2.6.23-rc2-mm2. X server shutdown freezes
 (untainted) kernel hardly. Nothing on netconsole, X output follows:


 X Window System Version 1.3.0
 Release Date: 19 April 2007
 X Protocol Version 11, Revision 0, Release 1.3
 Build Operating System: Fedora Core 7 Red Hat, Inc.
 Current Operating System: Linux bellona 2.6.23-rc3-mm1 #315 SMP Wed Aug 22
 21:43:06 CEST 2007 i686
 Build Date: 11 June 2007
 Build ID: xorg-x11-server 1.3.0.0-9.fc7
 Before reporting problems, check http://wiki.x.org
 to make sure that you have the latest version.
 Module Loader present
 Markers: (--) probed, (**) from config file, (==) default setting,
 (++) from command line, (!!) notice, (II) informational,
 (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
 (==) Log file: /var/log/Xorg.0.log, Time: Sun Aug 26 14:22:43 2007
 (==) Using config file: /etc/X11/xorg.conf
 (WW) RADEON: No matching Device section for instance (BusID PCI:1:0:1) 
 found
 (**) RADEON(0): RADEONPreInit
 (II) Module already built-in
 (II) Module already built-in
 (II) Module already built-in
 (**) RADEON(0): RADEONScreenInit f000 0
 (**) RADEON(0): Map: 0xf000, 0x0400
 (**) RADEON(0): RADEONSave
 (**) RADEON(0): RADEONSaveMode(0x8240870)
 (**) RADEON(0): Read: 0x000c 0x00030065 0x
 (**) RADEON(0): Read: rd=12, fd=101, pd=3
 (**) RADEON(0): RADEONSaveMode returns 0x8240870
 (**) RADEON(0): DRI New memory map param
 (**) RADEON(0): RADEONInitMemoryMap() :
 (**) RADEON(0):   mem_size : 0x0400
 (**) RADEON(0):   MC_FB_LOCATION   : 0xf3fff000
 (**) RADEON(0):   MC_AGP_LOCATION  : 0xffc0
 (**) RADEON(0): RADEONModeInit()
 1280x1024 108.00  1280 1328 1440 1688  1024 1025 1028 1066 (24,32) +H 
 +V
 1280x1024 108.00  1280 1328 1440 1688  1024 1025 1028 1066 (24,32) +H 
 +V
 (**) RADEON(0): Pitch = 10485920 bytes (virtualX = 1280, displayWidth = 
 1280)
 (**) RADEON(0): dc=10800, of=21600, fd=96, pd=2
 (**) RADEON(0): RADEONInit returns 0x8241220
 (**) RADEON(0): RADEONRestoreMode()
 (**) RADEON(0): RADEONRestoreMode(0x8241220)
 (**) RADEON(0): RADEONRestoreMemMapRegisters() :
 (**) RADEON(0):   MC_FB_LOCATION   : 0xf3fff000
 (**) RADEON(0):   MC_AGP_LOCATION  : 0xffc0
 (**) RADEON(0):   Map Changed ! Applying ...
 (**) RADEON(0):   Map applied, resetting engine ...
 (**) RADEON(0): Updating display base addresses...
 (**) RADEON(0): Memory map updated.
 (**) RADEON(0): Programming CRTC1, offset: 0x
 (**) RADEON(0): Wrote: 0x000c 0x00010060 0x (0xa400)
 (**) RADEON(0): Wrote: rd=12, fd=96, pd=1
 (**) RADEON(0): GRPH_BUFFER_CNTL from 20205c5c to 20125c5c
 (**) RADEON(0): RADEONSaveScreen(0)
 (**) RADEON(0): Setting up initial surfaces
 (**) RADEON(0): Initializing fb layer
 (**) RADEON(0): Setting up accel memmap
 (**) RADEON(0): Initializing backing store
 (**) RADEON(0): DRI Finishing init !
 (**) RADEON(0): EngineRestore (32/32)
 (**) RADEON(0): GRPH_BUFFER_CNTL from 20205c5c to 20125c5c
 (**) RADEON(0): Setting up final surfaces
 (**) RADEON(0): Initializing Acceleration
 (**) RADEON(0): EngineInit (32/32)
 (**) RADEON(0): Pitch for acceleration = 160
 (**) RADEON(0): EngineRestore (32/32)
 (**) RADEON(0): Initializing DPMS
 (**) RADEON(0): Initializing Cursor
 (**) RADEON(0): Initializing color map
 (**) RADEON(0): Initializing DGA
 (**) RADEON(0): Initializing Xv
 (**) RADEON(0): RADEONScreenInit finished
 (**) RADEON(0): RADEONSaveScreen(2)
 (**) RADEON(0): RADEONCloseScreen
 (**) RADEON(0): RADEONDRIStop
 (**) RADEON(0): EngineRestore (32/32)
 (**) RADEON(0): RADEONDisplayPowerManagementSet(0,0x0)
 (**) RADEON(0): RADEONRestore
 (**) RADEON(0): RADEONRestoreMode()
 (**) RADEON(0): RADEONRestoreMode(0x8240870)
 (**) RADEON(0): RADEONRestoreMemMapRegisters() :
 (**) RADEON(0):   MC_FB_LOCATION   : 0x1fff
 (**) RADEON(0):   MC_AGP_LOCATION  : 0x27ff2000
 (**) RADEON(0):   Map Changed ! Applying ...
 (**) RADEON(0):   Map applied, resetting engine ...
 (**) RADEON(0): Updating display base addresses...
 (**) RADEON(0): Memory map updated.
 (**) RADEON(0): Programming CRTC1, offset: 0x
 (**) RADEON(0): Wrote: 0x000c 0x00030065 0x (0xa400)
 (**) RADEON(0): Wrote: rd=12, fd=101, pd=3
 (**) RADEON(0): Disposing accel...
 (**) RADEON(0): Disposing cusor info
 (**) RADEON(0): Disposing DGA
 (**) RADEON(0): Unmapping memory
 (**) RADEON(0): RADEONDRICloseScreen



 the only difference is, that 2.6.23-rc2-mm2 writes further

 FreeFontPath: FPE /usr/share/X11/fonts/misc:unscaled refcount is 2, 
 should be
 1; fixing.

 and exits

Re: X freezes kernel during exit [Re: 2.6.23-rc3-mm1]

2007-09-11 Thread Jiri Slaby
On 09/09/2007 04:17 PM, Andi Kleen wrote:
 Hm, I suspect Andi's x86_64-mm-cpa-clflush.patch or something like that. It
 loops in flush_kernel_map in list_for_each_entry on the first CPU. The a-l 
 list
 is somehow corrupted I guess.
 
 Does it still happen with the latest version 

I think so :)
$ diff -u x86_64-mm-cpa-clflush.patch cpa-clflush |wc -l
0

 ftp://ftp.firstfloor.org/pub/ak/x86_64/quilt/patches/cpa-clflush
 
 ?
 
 (you might need to replace the other cpa-* patches too because
 they depend on each other) 

And are there any changes against the -rc4-mm1 in those patches?

BTW it is reproducible for me on two different machines (i386-x86_64,
radeon-intel), don't you have the problem too?

regards,
-- 
Jiri Slaby ([EMAIL PROTECTED])
Faculty of Informatics, Masaryk University

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: X freezes kernel during exit [Re: 2.6.23-rc3-mm1]

2007-09-11 Thread Jiri Slaby
On 09/09/2007 04:33 PM, Andi Kleen wrote:
 On Sun, Sep 09, 2007 at 04:26:22PM +0200, Jiri Slaby wrote:
 BTW it is reproducible for me on two different machines (i386-x86_64,
 radeon-intel), don't you have the problem too?
 
 No problems here with a radeon, no.
 
 Does your CPU have clflush or not in /proc/cpuinfo?

yes:

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model   : 15
model name  : Intel(R) Core(TM)2 Duo CPU E6850  @ 3.00GHz
stepping: 11
cpu MHz : 2992.543
cache size  : 4096 KB
physical id : 0
siblings: 2
core id : 0
cpu cores   : 2
fpu : yes
fpu_exception   : yes
cpuid level : 10
wp  : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm
constant_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl vmx smx est tm2
ssse3 cx16 xtpr lahf_lm
bogomips: 5991.99
clflush size: 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model   : 15
model name  : Intel(R) Core(TM)2 Duo CPU E6850  @ 3.00GHz
stepping: 11
cpu MHz : 2992.543
cache size  : 4096 KB
physical id : 0
siblings: 2
core id : 1
cpu cores   : 2
fpu : yes
fpu_exception   : yes
cpuid level : 10
wp  : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm
constant_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl vmx smx est tm2
ssse3 cx16 xtpr lahf_lm
bogomips: 5985.42
clflush size: 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

-- 
Jiri Slaby ([EMAIL PROTECTED])
Faculty of Informatics, Masaryk University

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: X freezes kernel during exit [Re: 2.6.23-rc3-mm1]

2007-09-11 Thread Jiri Slaby
On 09/09/2007 04:33 PM, Andi Kleen wrote:
 On Sun, Sep 09, 2007 at 04:26:22PM +0200, Jiri Slaby wrote:
 BTW it is reproducible for me on two different machines (i386-x86_64,
 radeon-intel), don't you have the problem too?
 
 No problems here with a radeon, no.
 
 Does your CPU have clflush or not in /proc/cpuinfo?

BTW this is how my flush_kernel_map looks like:

static void flush_kernel_map(void *arg)
{
struct flush_arg *a = (struct flush_arg *)arg;
struct page *pg;
unsigned int xx = 0;

/* When clflush is available use it because it is
   much cheaper than WBINVD. */
printk(%s: 1\n, __func__);
if (a-full_flush || !cpu_has_clflush)
asm volatile(wbinvd ::: memory);
else list_for_each_entry(pg, a-l, lru) {
printk(%s: %10u 1a\n, __func__, xx++);
if (PageFlush(pg))
clflush_cache_range(page_address(pg), PAGE_SIZE);
}
printk(%s: 2\n, __func__);
__flush_tlb_all();
printk(%s: 3\n, __func__);
}

It outputs 1a in the infinite loop with incrementing xx. But only in this case,
some global_flush_tlb are OK. e.g.:
Sep 10 01:39:19 localhost kernel: agpgart: Detected an Intel G33 Chipset.
Sep 10 01:39:19 localhost kernel: global_flush_tlb: 1
Sep 10 01:39:19 localhost kernel: flush_kernel_map: 1
Sep 10 01:39:19 localhost kernel: flush_kernel_map:  0 1a
Sep 10 01:39:19 localhost kernel: flush_kernel_map:  1 1a
Sep 10 01:39:19 localhost kernel: flush_kernel_map: 2
Sep 10 01:39:19 localhost kernel: flush_kernel_map: 3
Sep 10 01:39:19 localhost kernel: flush_kernel_map: 1
Sep 10 01:39:19 localhost kernel: flush_kernel_map:  0 1a
Sep 10 01:39:19 localhost kernel: flush_kernel_map:  1 1a
Sep 10 01:39:19 localhost kernel: flush_kernel_map: 2
Sep 10 01:39:19 localhost kernel: flush_kernel_map: 3
Sep 10 01:39:19 localhost kernel: global_flush_tlb: 2
Sep 10 01:39:19 localhost kernel: global_flush_tlb: 3
Sep 10 01:39:19 localhost kernel: agpgart: Detected 6140K stolen memory.

It seems, that the list is broken only on X shutdown. How can be deferred-pages
list inited in some bad manner, when list_replace_init is called on it? Weird.

-- 
Jiri Slaby ([EMAIL PROTECTED])
Faculty of Informatics, Masaryk University

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: X freezes kernel during exit [Re: 2.6.23-rc3-mm1]

2007-09-11 Thread Jiri Slaby
On 09/09/2007 05:01 PM, Andi Kleen wrote:
 On Sun, Sep 09, 2007 at 04:43:37PM +0200, Jiri Slaby wrote:
 On 09/09/2007 04:33 PM, Andi Kleen wrote:
 On Sun, Sep 09, 2007 at 04:26:22PM +0200, Jiri Slaby wrote:
 BTW it is reproducible for me on two different machines (i386-x86_64,
 radeon-intel), don't you have the problem too?
 No problems here with a radeon, no.

 Does your CPU have clflush or not in /proc/cpuinfo?
 BTW this is how my flush_kernel_map looks like:
 
 Can you stick a printk into change_page_attr to log in which order
 it changes pages (including their addresses and the pgattr)? 

printk(%s: %p %p %.16lx %d\n, __func__, page, page_address(page),
pgprot_val(prot), numpages);
http://www.fi.muni.cz/~xslaby/sklad/panics/x-freeze_chpa.png

What other info needed?

-- 
Jiri Slaby ([EMAIL PROTECTED])
Faculty of Informatics, Masaryk University

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: X freezes kernel during exit [Re: 2.6.23-rc3-mm1]

2007-08-28 Thread Jiri Slaby
Does this went through to your boxes? Any progress, clue, idea?

Jiri Slaby napsal(a):
 Andrew Morton napsal(a):
 ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc3/2.6.23-rc3-mm1/
 
 Hi,
 
 I've found a regression against 2.6.23-rc2-mm2. X server shutdown freezes
 (untainted) kernel hardly. Nothing on netconsole, X output follows:
 
 
 X Window System Version 1.3.0
 Release Date: 19 April 2007
 X Protocol Version 11, Revision 0, Release 1.3
 Build Operating System: Fedora Core 7 Red Hat, Inc.
 Current Operating System: Linux bellona 2.6.23-rc3-mm1 #315 SMP Wed Aug 22
 21:43:06 CEST 2007 i686
 Build Date: 11 June 2007
 Build ID: xorg-x11-server 1.3.0.0-9.fc7
 Before reporting problems, check http://wiki.x.org
 to make sure that you have the latest version.
 Module Loader present
 Markers: (--) probed, (**) from config file, (==) default setting,
 (++) from command line, (!!) notice, (II) informational,
 (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
 (==) Log file: /var/log/Xorg.0.log, Time: Sun Aug 26 14:22:43 2007
 (==) Using config file: /etc/X11/xorg.conf
 (WW) RADEON: No matching Device section for instance (BusID PCI:1:0:1) found
 (**) RADEON(0): RADEONPreInit
 (II) Module already built-in
 (II) Module already built-in
 (II) Module already built-in
 (**) RADEON(0): RADEONScreenInit f000 0
 (**) RADEON(0): Map: 0xf000, 0x0400
 (**) RADEON(0): RADEONSave
 (**) RADEON(0): RADEONSaveMode(0x8240870)
 (**) RADEON(0): Read: 0x000c 0x00030065 0x
 (**) RADEON(0): Read: rd=12, fd=101, pd=3
 (**) RADEON(0): RADEONSaveMode returns 0x8240870
 (**) RADEON(0): DRI New memory map param
 (**) RADEON(0): RADEONInitMemoryMap() :
 (**) RADEON(0):   mem_size : 0x0400
 (**) RADEON(0):   MC_FB_LOCATION   : 0xf3fff000
 (**) RADEON(0):   MC_AGP_LOCATION  : 0xffc0
 (**) RADEON(0): RADEONModeInit()
 1280x1024 108.00  1280 1328 1440 1688  1024 1025 1028 1066 (24,32) +H +V
 1280x1024 108.00  1280 1328 1440 1688  1024 1025 1028 1066 (24,32) +H +V
 (**) RADEON(0): Pitch = 10485920 bytes (virtualX = 1280, displayWidth = 1280)
 (**) RADEON(0): dc=10800, of=21600, fd=96, pd=2
 (**) RADEON(0): RADEONInit returns 0x8241220
 (**) RADEON(0): RADEONRestoreMode()
 (**) RADEON(0): RADEONRestoreMode(0x8241220)
 (**) RADEON(0): RADEONRestoreMemMapRegisters() :
 (**) RADEON(0):   MC_FB_LOCATION   : 0xf3fff000
 (**) RADEON(0):   MC_AGP_LOCATION  : 0xffc0
 (**) RADEON(0):   Map Changed ! Applying ...
 (**) RADEON(0):   Map applied, resetting engine ...
 (**) RADEON(0): Updating display base addresses...
 (**) RADEON(0): Memory map updated.
 (**) RADEON(0): Programming CRTC1, offset: 0x
 (**) RADEON(0): Wrote: 0x000c 0x00010060 0x (0xa400)
 (**) RADEON(0): Wrote: rd=12, fd=96, pd=1
 (**) RADEON(0): GRPH_BUFFER_CNTL from 20205c5c to 20125c5c
 (**) RADEON(0): RADEONSaveScreen(0)
 (**) RADEON(0): Setting up initial surfaces
 (**) RADEON(0): Initializing fb layer
 (**) RADEON(0): Setting up accel memmap
 (**) RADEON(0): Initializing backing store
 (**) RADEON(0): DRI Finishing init !
 (**) RADEON(0): EngineRestore (32/32)
 (**) RADEON(0): GRPH_BUFFER_CNTL from 20205c5c to 20125c5c
 (**) RADEON(0): Setting up final surfaces
 (**) RADEON(0): Initializing Acceleration
 (**) RADEON(0): EngineInit (32/32)
 (**) RADEON(0): Pitch for acceleration = 160
 (**) RADEON(0): EngineRestore (32/32)
 (**) RADEON(0): Initializing DPMS
 (**) RADEON(0): Initializing Cursor
 (**) RADEON(0): Initializing color map
 (**) RADEON(0): Initializing DGA
 (**) RADEON(0): Initializing Xv
 (**) RADEON(0): RADEONScreenInit finished
 (**) RADEON(0): RADEONSaveScreen(2)
 (**) RADEON(0): RADEONCloseScreen
 (**) RADEON(0): RADEONDRIStop
 (**) RADEON(0): EngineRestore (32/32)
 (**) RADEON(0): RADEONDisplayPowerManagementSet(0,0x0)
 (**) RADEON(0): RADEONRestore
 (**) RADEON(0): RADEONRestoreMode()
 (**) RADEON(0): RADEONRestoreMode(0x8240870)
 (**) RADEON(0): RADEONRestoreMemMapRegisters() :
 (**) RADEON(0):   MC_FB_LOCATION   : 0x1fff
 (**) RADEON(0):   MC_AGP_LOCATION  : 0x27ff2000
 (**) RADEON(0):   Map Changed ! Applying ...
 (**) RADEON(0):   Map applied, resetting engine ...
 (**) RADEON(0): Updating display base addresses...
 (**) RADEON(0): Memory map updated.
 (**) RADEON(0): Programming CRTC1, offset: 0x
 (**) RADEON(0): Wrote: 0x000c 0x00030065 0x (0xa400)
 (**) RADEON(0): Wrote: rd=12, fd=101, pd=3
 (**) RADEON(0): Disposing accel...
 (**) RADEON(0): Disposing cusor info
 (**) RADEON(0): Disposing DGA
 (**) RADEON(0): Unmapping memory
 (**) RADEON(0): RADEONDRICloseScreen
 
 
 
 the only difference is, that 2.6.23-rc2-mm2 writes further
 
 FreeFontPath: FPE /usr/share/X11/fonts/misc:unscaled refcount is 2, should 
 be
 1; fixing.
 
 and exits succesfully (note that these messages are taken on remote host, X
 runned remotely).
 
 Both vesa and radeon + Option NoAccel true works obviously fine.
 
 regards

X freezes kernel during exit [Re: 2.6.23-rc3-mm1]

2007-08-26 Thread Jiri Slaby
Andrew Morton napsal(a):
 ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc3/2.6.23-rc3-mm1/

Hi,

I've found a regression against 2.6.23-rc2-mm2. X server shutdown freezes
(untainted) kernel hardly. Nothing on netconsole, X output follows:


X Window System Version 1.3.0
Release Date: 19 April 2007
X Protocol Version 11, Revision 0, Release 1.3
Build Operating System: Fedora Core 7 Red Hat, Inc.
Current Operating System: Linux bellona 2.6.23-rc3-mm1 #315 SMP Wed Aug 22
21:43:06 CEST 2007 i686
Build Date: 11 June 2007
Build ID: xorg-x11-server 1.3.0.0-9.fc7
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: /var/log/Xorg.0.log, Time: Sun Aug 26 14:22:43 2007
(==) Using config file: /etc/X11/xorg.conf
(WW) RADEON: No matching Device section for instance (BusID PCI:1:0:1) found
(**) RADEON(0): RADEONPreInit
(II) Module already built-in
(II) Module already built-in
(II) Module already built-in
(**) RADEON(0): RADEONScreenInit f000 0
(**) RADEON(0): Map: 0xf000, 0x0400
(**) RADEON(0): RADEONSave
(**) RADEON(0): RADEONSaveMode(0x8240870)
(**) RADEON(0): Read: 0x000c 0x00030065 0x
(**) RADEON(0): Read: rd=12, fd=101, pd=3
(**) RADEON(0): RADEONSaveMode returns 0x8240870
(**) RADEON(0): DRI New memory map param
(**) RADEON(0): RADEONInitMemoryMap() :
(**) RADEON(0):   mem_size : 0x0400
(**) RADEON(0):   MC_FB_LOCATION   : 0xf3fff000
(**) RADEON(0):   MC_AGP_LOCATION  : 0xffc0
(**) RADEON(0): RADEONModeInit()
1280x1024 108.00  1280 1328 1440 1688  1024 1025 1028 1066 (24,32) +H +V
1280x1024 108.00  1280 1328 1440 1688  1024 1025 1028 1066 (24,32) +H +V
(**) RADEON(0): Pitch = 10485920 bytes (virtualX = 1280, displayWidth = 1280)
(**) RADEON(0): dc=10800, of=21600, fd=96, pd=2
(**) RADEON(0): RADEONInit returns 0x8241220
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x8241220)
(**) RADEON(0): RADEONRestoreMemMapRegisters() :
(**) RADEON(0):   MC_FB_LOCATION   : 0xf3fff000
(**) RADEON(0):   MC_AGP_LOCATION  : 0xffc0
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x
(**) RADEON(0): Wrote: 0x000c 0x00010060 0x (0xa400)
(**) RADEON(0): Wrote: rd=12, fd=96, pd=1
(**) RADEON(0): GRPH_BUFFER_CNTL from 20205c5c to 20125c5c
(**) RADEON(0): RADEONSaveScreen(0)
(**) RADEON(0): Setting up initial surfaces
(**) RADEON(0): Initializing fb layer
(**) RADEON(0): Setting up accel memmap
(**) RADEON(0): Initializing backing store
(**) RADEON(0): DRI Finishing init !
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): GRPH_BUFFER_CNTL from 20205c5c to 20125c5c
(**) RADEON(0): Setting up final surfaces
(**) RADEON(0): Initializing Acceleration
(**) RADEON(0): EngineInit (32/32)
(**) RADEON(0): Pitch for acceleration = 160
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): Initializing DPMS
(**) RADEON(0): Initializing Cursor
(**) RADEON(0): Initializing color map
(**) RADEON(0): Initializing DGA
(**) RADEON(0): Initializing Xv
(**) RADEON(0): RADEONScreenInit finished
(**) RADEON(0): RADEONSaveScreen(2)
(**) RADEON(0): RADEONCloseScreen
(**) RADEON(0): RADEONDRIStop
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): RADEONDisplayPowerManagementSet(0,0x0)
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x8240870)
(**) RADEON(0): RADEONRestoreMemMapRegisters() :
(**) RADEON(0):   MC_FB_LOCATION   : 0x1fff
(**) RADEON(0):   MC_AGP_LOCATION  : 0x27ff2000
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x
(**) RADEON(0): Wrote: 0x000c 0x00030065 0x (0xa400)
(**) RADEON(0): Wrote: rd=12, fd=101, pd=3
(**) RADEON(0): Disposing accel...
(**) RADEON(0): Disposing cusor info
(**) RADEON(0): Disposing DGA
(**) RADEON(0): Unmapping memory
(**) RADEON(0): RADEONDRICloseScreen



the only difference is, that 2.6.23-rc2-mm2 writes further

FreeFontPath: FPE /usr/share/X11/fonts/misc:unscaled refcount is 2, should be
1; fixing.

and exits succesfully (note that these messages are taken on remote host, X
runned remotely).

Both vesa and radeon + Option NoAccel true works obviously fine.

regards,
-- 
Jiri Slaby ([EMAIL PROTECTED])
Faculty of Informatics, Masaryk University


-
This SF.net email is sponsored by: Splunk Inc

Re: [PATCH 4 of 5 ] /drivers/char/rio ioremap balancing/ returncode check

2007-08-15 Thread Jiri Slaby
Scott Thompson napsal(a):
 On Mon, 13 Aug 2007 16:30:14 -0400 Jiri Slaby [EMAIL PROTECTED] 
 wrote:
 why [EMAIL PROTECTED]

 
 David Airlie was listed as the owner on several of the files and in 
 maintainers for DRM, which was my best to: guess for 
 /drivers/char/drm (which was patch 3 in this series).
 
 If there was a better list, or just to linux-kernel, please let me 
 know as tracking down the 'right' list for these kernel-janitor 
 kind of tasks can be tricky

Ok. I was just curious, why did you CC drm people for char drivers changes.

BTW. is there anybody on janitors list, who collects all those patches and
forwards them upstream?

-- 
Jiri Slaby ([EMAIL PROTECTED])
Faculty of Informatics, Masaryk University

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [PATCH 1 of 5 ] /drivers/char ioremap balancing/ returncode check

2007-08-13 Thread Jiri Slaby
Scott Thompson napsal(a):
 patchset against 2.6.23-rc2 and this set is an audit of 
 /drivers/char/a* 
 through drivers/char .   
 
 this corrects missing ioremap return checks and balancing on 
 iounmap calls..
 
 Signed-off-by: Scott Thompson postfail at hushmail.com


NAK.

 --
 diff --git a/drivers/char/moxa.c b/drivers/char/moxa.c
 index ed76f0a..094323d 100644
 --- a/drivers/char/moxa.c
 +++ b/drivers/char/moxa.c
 @@ -447,6 +447,13 @@ static int __init moxa_init(void)
   for (i = 0; i  numBoards; i++) {
   moxa_boards[i].basemem = ioremap(moxa_boards[i].baseAddr,
   0x4000);
 + if (!moxa_boards[i].basemem) { 
 + for (;i  0;i--)
 + if (moxa_boards[i].basemem)
 + iounmap(moxa_boards[i].basemem);
 +
 + return -ENOMEM; 
 + }

This leaks. This is loop only for ISA cards. If you have CONFIG_PCI and have the
card, resources of the PCI one are not freed and are unusable from now.

   }
  
   return retval;
 diff --git a/drivers/char/sx.c b/drivers/char/sx.c
 index 85a2328..30829ed 100644
 --- a/drivers/char/sx.c
 +++ b/drivers/char/sx.c
 @@ -2627,6 +2627,12 @@ static void __devinit fix_sx_pci(struct 
 pci_dev *pdev, struct sx_board *board)
   pci_read_config_dword(pdev, PCI_BASE_ADDRESS_0, hwbase);
   hwbase = PCI_BASE_ADDRESS_MEM_MASK;
   rebase = ioremap(hwbase, 0x80);
 + if (!rebase) {
 + printk(KERN_DEBUG 
 + sx:ioremap fail, unable to perform cntrl reg fix\n);
 + return;
 + }
 + 

1) this should be pci_iomap(pdev, 0, 0x80)
2) KERN_DEBUG is inappropriate and wrap the string in the middle and not in the
beginning
3) you should change void to int and return some error and check it in the 
caller

   t = readl(rebase + CNTRL_REG_OFFSET);
   if (t != CNTRL_REG_GOODVALUE) {
   printk(KERN_DEBUG sx: performing cntrl reg fix: %08x - 
 diff --git a/drivers/char/vr41xx_giu.c b/drivers/char/vr41xx_giu.c
 index e5ed091..2381162 100644
 --- a/drivers/char/vr41xx_giu.c
 +++ b/drivers/char/vr41xx_giu.c
 @@ -639,8 +639,10 @@ static int __devinit giu_probe(struct 
 platform_device *dev)
   }
  
   irq = platform_get_irq(dev, 0);
 - if (irq  0 || irq = NR_IRQS)
 + if (irq  0 || irq = NR_IRQS) {
 + iounmap(giu_base);

+ unregister_chrdev()?

   return -EBUSY;
 + }
  
   return cascade_irq(irq, giu_get_irq);
  }


-- 
Jiri Slaby ([EMAIL PROTECTED])
Faculty of Informatics, Masaryk University

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH 1/2] Char: add __devinitdata to pci_device_ids

2007-02-03 Thread Jiri Slaby
add __devinitdata to pci_device_ids

Signed-off-by: Jiri Slaby [EMAIL PROTECTED]

---
commit 6518489059ea5f8eca8d1ae6de51a6452b46eb52
tree 241f514f7cd903b7815b4ffb10fa650f1e34ba26
parent 1647618e3fba255fc77181e9e2e4eeb09e214680
author Jiri Slaby [EMAIL PROTECTED] Sat, 03 Feb 2007 15:47:33 +0100
committer Jiri Slaby [EMAIL PROTECTED] Sat, 03 Feb 2007 15:47:33 +0100

 drivers/char/agp/ali-agp.c   |2 +-
 drivers/char/agp/amd-k7-agp.c|2 +-
 drivers/char/agp/amd64-agp.c |2 +-
 drivers/char/agp/ati-agp.c   |2 +-
 drivers/char/agp/efficeon-agp.c  |2 +-
 drivers/char/agp/i460-agp.c  |2 +-
 drivers/char/agp/intel-agp.c |2 +-
 drivers/char/agp/nvidia-agp.c|2 +-
 drivers/char/agp/sis-agp.c   |2 +-
 drivers/char/agp/sworks-agp.c|2 +-
 drivers/char/agp/uninorth-agp.c  |2 +-
 drivers/char/agp/via-agp.c   |2 +-
 drivers/char/applicom.c  |2 +-
 drivers/char/cs5535_gpio.c   |2 +-
 drivers/char/drm/i810_drv.c  |2 +-
 drivers/char/drm/i830_drv.c  |2 +-
 drivers/char/drm/i915_drv.c  |2 +-
 drivers/char/drm/mga_drv.c   |2 +-
 drivers/char/drm/r128_drv.c  |2 +-
 drivers/char/drm/radeon_drv.c|2 +-
 drivers/char/drm/savage_drv.c|2 +-
 drivers/char/drm/sis_drv.c   |2 +-
 drivers/char/drm/tdfx_drv.c  |2 +-
 drivers/char/drm/via_drv.c   |2 +-
 drivers/char/epca.c  |2 +-
 drivers/char/hw_random/amd-rng.c |2 +-
 drivers/char/hw_random/geode-rng.c   |2 +-
 drivers/char/hw_random/intel-rng.c   |2 +-
 drivers/char/ipmi/ipmi_si_intf.c |2 +-
 drivers/char/isicom.c|2 +-
 drivers/char/istallion.c |2 +-
 drivers/char/moxa.c  |2 +-
 drivers/char/mxser.c |2 +-
 drivers/char/mxser_new.c |2 +-
 drivers/char/nozomi.c|2 +-
 drivers/char/stallion.c  |2 +-
 drivers/char/sx.c|2 +-
 drivers/char/synclink.c  |2 +-
 drivers/char/synclink_gt.c   |2 +-
 drivers/char/synclinkmp.c|2 +-
 drivers/char/watchdog/alim1535_wdt.c |2 +-
 drivers/char/watchdog/i6300esb.c |2 +-
 drivers/char/watchdog/i8xx_tco.c |2 +-
 drivers/char/watchdog/pcwd_pci.c |2 +-
 drivers/char/watchdog/wdt_pci.c  |2 +-
 45 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/drivers/char/agp/ali-agp.c b/drivers/char/agp/ali-agp.c
index 98177a9..2862a24 100644
--- a/drivers/char/agp/ali-agp.c
+++ b/drivers/char/agp/ali-agp.c
@@ -376,7 +376,7 @@ static void __devexit agp_ali_remove(struct pci_dev *pdev)
agp_put_bridge(bridge);
 }
 
-static struct pci_device_id agp_ali_pci_table[] = {
+static struct pci_device_id agp_ali_pci_table[] __devinitdata = {
{
.class  = (PCI_CLASS_BRIDGE_HOST  8),
.class_mask = ~0,
diff --git a/drivers/char/agp/amd-k7-agp.c b/drivers/char/agp/amd-k7-agp.c
index 3d8d448..30b4407 100644
--- a/drivers/char/agp/amd-k7-agp.c
+++ b/drivers/char/agp/amd-k7-agp.c
@@ -490,7 +490,7 @@ static void __devexit agp_amdk7_remove(struct pci_dev *pdev)
 }
 
 /* must be the same order as name table above */
-static struct pci_device_id agp_amdk7_pci_table[] = {
+static struct pci_device_id agp_amdk7_pci_table[] __devinitdata = {
{
.class  = (PCI_CLASS_BRIDGE_HOST  8),
.class_mask = ~0,
diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c
index 636d984..058b420 100644
--- a/drivers/char/agp/amd64-agp.c
+++ b/drivers/char/agp/amd64-agp.c
@@ -612,7 +612,7 @@ static int agp_amd64_resume(struct pci_dev *pdev)
 
 #endif /* CONFIG_PM */
 
-static struct pci_device_id agp_amd64_pci_table[] = {
+static struct pci_device_id agp_amd64_pci_table[] __devinitdata = {
{
.class  = (PCI_CLASS_BRIDGE_HOST  8),
.class_mask = ~0,
diff --git a/drivers/char/agp/ati-agp.c b/drivers/char/agp/ati-agp.c
index 77c9ad6..e96f380 100644
--- a/drivers/char/agp/ati-agp.c
+++ b/drivers/char/agp/ati-agp.c
@@ -528,7 +528,7 @@ static void __devexit agp_ati_remove(struct pci_dev *pdev)
agp_put_bridge(bridge);
 }
 
-static struct pci_device_id agp_ati_pci_table[] = {
+static struct pci_device_id agp_ati_pci_table[] __devinitdata = {
{
.class  = (PCI_CLASS_BRIDGE_HOST  8),
.class_mask = ~0,
diff --git a/drivers/char/agp/efficeon-agp.c b/drivers/char/agp/efficeon-agp.c
index 658cb1a..ced8104 100644
--- a/drivers/char/agp/efficeon-agp.c
+++ b/drivers/char/agp/efficeon-agp.c
@@ -421,7 +421,7 @@ static int agp_efficeon_resume(struct pci_dev *pdev)
 }
 #endif
 
-static struct pci_device_id agp_efficeon_pci_table[] = {
+static struct pci_device_id agp_efficeon_pci_table[] __devinitdata

Re: [PATCH 1/2] Char: add __devinitdata to pci_device_ids

2007-02-03 Thread Jiri Slaby
On 2/3/07, Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] wrote:
 On 2/3/07, Jiri Slaby [EMAIL PROTECTED] wrote:
  add __devinitdata to pci_device_ids
 
  Signed-off-by: Jiri Slaby [EMAIL PROTECTED]

 http://lkml.org/lkml/2003/8/1/135

 I think that it is still true, Greg?

Hmm, then I misunderstood this:
http://lkml.org/lkml/2007/1/17/136
?

regards,
-- 
http://www.fi.muni.cz/~xslaby/Jiri Slaby
faculty of informatics, masaryk university, brno, cz
e-mail: jirislaby gmail com, gpg pubkey fingerprint:
B674 9967 0407 CE62 ACC8  22A0 32CC 55C3 39D4 7A7E

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [PATCH 1/2] Char: add __devinitdata to pci_device_ids

2007-02-03 Thread Jiri Slaby
Greg KH napsal(a):
 On Sat, Feb 03, 2007 at 04:39:34PM +0100, Jiri Slaby wrote:
 On 2/3/07, Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] wrote:
 On 2/3/07, Jiri Slaby [EMAIL PROTECTED] wrote:
 add __devinitdata to pci_device_ids

 Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
 http://lkml.org/lkml/2003/8/1/135

 I think that it is still true, Greg?
 
 No it is not.
 
 Hmm, then I misunderstood this:
 http://lkml.org/lkml/2007/1/17/136
 ?
 
 Yes, that is correct.
 
 But Jiri, why do this?  What memory savings are you seeing here now that
 CONFIG_HOTPLUG is enabled by default?  The only people I see liking this
 kind of change are embedded, and I don't think many embedded devices
 have these drivers and do not use hotplug at the same time :)

Yes, correct, please cat this_patch /dev/null.

thanks,
-- 
http://www.fi.muni.cz/~xslaby/Jiri Slaby
faculty of informatics, masaryk university, brno, cz
e-mail: jirislaby gmail com, gpg pubkey fingerprint:
B674 9967 0407 CE62 ACC8  22A0 32CC 55C3 39D4 7A7E

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [PATCH 2.6.13-rc4-mm1] Re: Obsolete files in 2.6 tree

2005-08-04 Thread Jiri Slaby

Jiri Slaby napsal(a):


Alan Cox napsal(a):


drivers/char/drm/gamma_dma.c
drivers/char/drm/gamma_drv.c





Gamma is defunct certainly
 


Removes gamma sources, headers and pointers from Kconfig and Makefile.

Signed-off-by: Jiri Slaby [EMAIL PROTECTED]

patch is here (about 70 KiB):
http://www.fi.muni.cz/~xslaby/lnx/gamma.txt


Removes gamma line from Documentation/kernel-parameters.txt

Signed-off-by: Jiri Slaby [EMAIL PROTECTED]

diff --git a/Documentation/kernel-parameters.txt 
b/Documentation/kernel-parameters.txt

--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -497,8 +497,6 @@ running once the system is up.
   Format: port#,pad1,pad2,pad3,pad4,pad5
   See also Documentation/input/joystick-parport.txt

-   gamma=  [HW,DRM]
-
   gdth=   [HW,SCSI]
   See header of drivers/scsi/gdth.c.

--
Jiri Slaby www.fi.muni.cz/~xslaby
~\-/~  [EMAIL PROTECTED]  ~\-/~
241B347EC88228DE51EE A49C4A73A25004CB2A10


diff --git a/Documentation/kernel-parameters.txt 
b/Documentation/kernel-parameters.txt
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -497,8 +497,6 @@ running once the system is up.
Format: port#,pad1,pad2,pad3,pad4,pad5
See also Documentation/input/joystick-parport.txt
 
-   gamma=  [HW,DRM]
-
gdth=   [HW,SCSI]
See header of drivers/scsi/gdth.c.
 


[PATCH 2.6.13-rc4-mm1] Re: Obsolete files in 2.6 tree

2005-08-03 Thread Jiri Slaby

Alan Cox napsal(a):


drivers/char/drm/gamma_dma.c
drivers/char/drm/gamma_drv.c
 



Gamma is defunct certainly
 


Removes gamma sources, headers and pointers from Kconfig and Makefile.

Signed-off-by: Jiri Slaby [EMAIL PROTECTED]

patch is here (about 70 KiB):
http://www.fi.muni.cz/~xslaby/lnx/gamma.txt

--
Jiri Slaby www.fi.muni.cz/~xslaby
~\-/~  [EMAIL PROTECTED]  ~\-/~
241B347EC88228DE51EE A49C4A73A25004CB2A10



---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing  QA
Security * Process Improvement  Measurement * http://www.sqe.com/bsce5sf
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel