[Bug 19002] Radeon rv730 AGP/KMS/DRM kernel lockup

2010-12-15 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=19002





--- Comment #29 from Duncan 1i5t5.dun...@cox.net  2010-12-15 12:37:52 ---
The patch above was committed as f3886f85:

commit f3886f85cfde578f1d0ba6e40ac5f9d70043923b
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Wed Dec 8 10:05:34 2010 -0500

drm/radeon/kms: don't apply 7xx HDP flush workaround on AGP

It should be required for all 7xx asics, but seems to cause
problems on some AGP 7xx chips.

Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=19002

Signed-off-by: Alex Deucher alexdeuc...@gmail.com
Reported-and-Tested-by: Duncan 1i5t5.dun...@cox.net
Cc: sta...@kernel.org
Signed-off-by: Dave Airlie airl...@redhat.com


Re-verified working.

I'm updated and on the mainline Linus kernel without patches again as of
v2.6.37-rc5-332-g0fcdcfb.  Nice to be back, as I've been unable to go without
first the revert and then the patch above, since shortly after 2.6.35.  =:^)

The bug as filed can thus be closed, from my viewpoint.  But as there's another
one being investigated, I'll leave it open for now.

Should the remaining open bug be re-filed as a separate bug now and this one
closed?  If it is, feel free to CC me if desired.  It's possible the contrast
between my working system and HL's not working system might continue to be
helpful.

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 19002] Radeon rv730 AGP/KMS/DRM kernel lockup

2010-12-15 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=19002





--- Comment #30 from Holger Lenz holger.l...@onlinehome.de  2010-12-15 
13:30:45 ---
(In reply to comment #29)
 The patch above was committed as f3886f85:
...
 Should the remaining open bug be re-filed as a separate bug now and this one
 closed?  If it is, feel free to CC me if desired.  It's possible the contrast
 between my working system and HL's not working system might continue to be
 helpful.
I suggest to close the current one and open a new one - there are actually 2:
- Radeon AGP broken on my system and
- Driver not loading (in PCI mode) because of the ttm_background_bind issue
May even be worth openeing 2 new bugs unless you think they are closely
related.
Depends on your defect management process.
Alex?

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 19002] Radeon rv730 AGP/KMS/DRM kernel lockup

2010-12-15 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=19002





--- Comment #31 from Alex Deucher alexdeuc...@gmail.com  2010-12-15 15:45:13 
---
(In reply to comment #28)
 Is there, anywhere, any documentation with reasonable information on what
 settings in the xorg.conf and radeon manpages no longer apply in xorg.conf 
 with
 kms, and what the parallel radeon.* kernel commandline options are?
 
 Either updating the manpages, or a separate kms manpage (with suitable SEE 
 ALSO
 section mentions from existing manpages), would be /wonderful/.  Or a kernel
 Documentation/radeon.txt or kms.txt file.  (And, couldn't all the kernel
 display/graphics related Docs be moved into a display/graphics/video subdir? 
 Seems about time.)
 

I updated the radeon man page last week to reflect what options are KMS vs.
UMS.  Grab the latest xf86-video-ati from git master.

 
   BTW, /should/ a larger aperture work?  Given that half of it's AGGART 
   IOMMU,
   should larger == better?
  
  Bigger isn't necessarily better, it just means more pages can be mapped into
  the gart.  We default to 512 MB on non-AGP systems.
 
 Thanks.  Useful information.
 
   4) dmesg says AGP v3 device in 8x mode.  [L]ast I tried,
   4x and 8x worked but 1x and 2x were broken.
  
  AGP v3 devices only support 4x and 8x modes.
 
 Now if only that were documented in the manpages... =:^(
 It does explain why modes below 4x wouldn't work, tho. =:^)

It's not really radeon specific, but it would probably be nice to mention it
somewhere.

(In reply to comment #30)
 I suggest to close the current one and open a new one - there are actually 2:
 - Radeon AGP broken on my system and
 - Driver not loading (in PCI mode) because of the ttm_background_bind issue
 May even be worth openeing 2 new bugs unless you think they are closely
 related.

Sure.

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 19002] Radeon rv730 AGP/KMS/DRM kernel lockup

2010-12-15 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=19002


Florian Mickler flor...@mickler.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||CODE_FIX




--- Comment #32 from Florian Mickler flor...@mickler.org  2010-12-15 20:14:51 
---
If you do so, please also post references to the two other bugreports here and
mention this bug in the 2 new bugreports. 

I'm closing this as fixed then.

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 19002] Radeon rv730 AGP/KMS/DRM kernel lockup

2010-12-15 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=19002


Florian Mickler flor...@mickler.org changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED




-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 19002] Radeon rv730 AGP/KMS/DRM kernel lockup

2010-12-15 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=19002





--- Comment #33 from Holger Lenz holger.l...@onlinehome.de  2010-12-15 
20:55:33 ---
YES! I can confirm the fix.
I have the radeon+r600 driver working in AGP mode stable now.
The remaining issues I have been seeing are related to loading the driver:
If I do the following procedure, then radeon/r600 works no matter what I do to
memory holes or AGP speeds:
- Boot to runlevel 3 (ugly 4 char fbcon)
- log in as root
- modprobe radeon (get nice 132 char fbcon)
- init 5
- enjoy X in native resolution and glxgears with 540fps 

Question is, why is radeon not loaded before X is started? Is there a
conflicting framebuffer device (I habe VGA framebuffer compiled in, no
modules). Can I force loading radeon that on the kcmd line?

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 19002] Radeon rv730 AGP/KMS/DRM kernel lockup

2010-12-15 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=19002





--- Comment #34 from Alex Deucher alexdeuc...@gmail.com  2010-12-15 22:02:10 
---
(In reply to comment #33)
 Question is, why is radeon not loaded before X is started?

Depends on your distro's inird and modprode config.  It should load
automatically at boot on most recent distros that support kms.

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 24932] BUG: unable to handle kernel paging request

2010-12-15 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=24932


Andrew Morton a...@linux-foundation.org changed:

   What|Removed |Added

 Regression|No  |Yes




--- Comment #3 from Andrew Morton a...@linux-foundation.org  2010-12-15 
22:27:09 ---
Recategorised as DRI/non-intel, marked as a regression.

Yes please, it would be useful to know if 2.6.35 had the same bug.

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 24932] BUG: unable to handle kernel paging request

2010-12-15 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=24932


Rafael J. Wysocki r...@sisk.pl changed:

   What|Removed |Added

 CC||flor...@mickler.org,
   ||maciej.rute...@gmail.com,
   ||r...@sisk.pl
 Blocks||16055




-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH] vgaarb: use bridges to control VGA routing where possible.

2010-12-15 Thread Dave Airlie
From: Dave Airlie airl...@redhat.com

So in a lot of modern systems, a GPU will always be below a parent bridge that 
won't share with any other GPUs. This means VGA arbitration on those GPUs can 
be controlled by using the bridge routing instead of io/mem decodes.

The problem is locating which GPUs share which upstream bridges. This patch 
attempts to identify all the GPUs which can be controlled via bridges, and ones 
that can't. This patch endeavours to work out the bridge sharing semantics.

When disabling GPUs via a bridge, it doesn't do irq callbacks or touch the 
io/mem decodes for the gpu.

Signed-off-by: Dave Airlie airl...@redhat.com
---
 drivers/gpu/vga/vgaarb.c |  113 --
 drivers/pci/pci.c|   25 ++-
 include/linux/pci.h  |7 ++-
 3 files changed, 118 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c
index c380c65..aab5c59 100644
--- a/drivers/gpu/vga/vgaarb.c
+++ b/drivers/gpu/vga/vgaarb.c
@@ -61,7 +61,7 @@ struct vga_device {
unsigned int mem_lock_cnt;  /* legacy MEM lock count */
unsigned int io_norm_cnt;   /* normal IO count */
unsigned int mem_norm_cnt;  /* normal MEM count */
-
+   bool bridge_has_one_vga;
/* allow IRQ enable/disable hook */
void *cookie;
void (*irq_set_state)(void *cookie, bool enable);
@@ -165,6 +165,8 @@ static struct vga_device *__vga_tryget(struct vga_device 
*vgadev,
unsigned int wants, legacy_wants, match;
struct vga_device *conflict;
unsigned int pci_bits;
+   u32 flags = 0;
+
/* Account for normal resources to lock. If we decode the legacy,
 * counterpart, we need to request it as well
 */
@@ -237,16 +239,23 @@ static struct vga_device *__vga_tryget(struct vga_device 
*vgadev,
/* looks like he doesn't have a lock, we can steal
 * them from him
 */
-   vga_irq_set_state(conflict, false);
 
+   flags = 0;
pci_bits = 0;
-   if (lwants  (VGA_RSRC_LEGACY_MEM|VGA_RSRC_NORMAL_MEM))
-   pci_bits |= PCI_COMMAND_MEMORY;
-   if (lwants  (VGA_RSRC_LEGACY_IO|VGA_RSRC_NORMAL_IO))
-   pci_bits |= PCI_COMMAND_IO;
 
-   pci_set_vga_state(conflict-pdev, false, pci_bits,
- change_bridge);
+   if (!conflict-bridge_has_one_vga) {
+   vga_irq_set_state(conflict, false);
+   flags |= PCI_VGA_STATE_CHANGE_DECODES;
+   if (lwants  (VGA_RSRC_LEGACY_MEM|VGA_RSRC_NORMAL_MEM))
+   pci_bits |= PCI_COMMAND_MEMORY;
+   if (lwants  (VGA_RSRC_LEGACY_IO|VGA_RSRC_NORMAL_IO))
+   pci_bits |= PCI_COMMAND_IO;
+   }
+
+   if (change_bridge)
+   flags |= PCI_VGA_STATE_CHANGE_BRIDGE;
+
+   pci_set_vga_state(conflict-pdev, false, pci_bits, flags);
conflict-owns = ~lwants;
/* If he also owned non-legacy, that is no longer the case */
if (lwants  VGA_RSRC_LEGACY_MEM)
@@ -261,14 +270,24 @@ enable_them:
 * also have in decodes. We can lock resources we don't decode but
 * not own them.
 */
+   flags = 0;
pci_bits = 0;
-   if (wants  (VGA_RSRC_LEGACY_MEM|VGA_RSRC_NORMAL_MEM))
-   pci_bits |= PCI_COMMAND_MEMORY;
-   if (wants  (VGA_RSRC_LEGACY_IO|VGA_RSRC_NORMAL_IO))
-   pci_bits |= PCI_COMMAND_IO;
-   pci_set_vga_state(vgadev-pdev, true, pci_bits, !!(wants  
VGA_RSRC_LEGACY_MASK));
 
-   vga_irq_set_state(vgadev, true);
+   if (!vgadev-bridge_has_one_vga) {
+   flags |= PCI_VGA_STATE_CHANGE_DECODES;
+   if (wants  (VGA_RSRC_LEGACY_MEM|VGA_RSRC_NORMAL_MEM))
+   pci_bits |= PCI_COMMAND_MEMORY;
+   if (wants  (VGA_RSRC_LEGACY_IO|VGA_RSRC_NORMAL_IO))
+   pci_bits |= PCI_COMMAND_IO;
+   }
+   if (!!(wants  VGA_RSRC_LEGACY_MASK))
+   flags |= PCI_VGA_STATE_CHANGE_BRIDGE;
+
+   pci_set_vga_state(vgadev-pdev, true, pci_bits, flags);
+
+   if (!vgadev-bridge_has_one_vga) {
+   vga_irq_set_state(vgadev, true);
+   }
vgadev-owns |= (wants  vgadev-decodes);
 lock_them:
vgadev-locks |= (rsrc  VGA_RSRC_LEGACY_MASK);
@@ -421,6 +440,62 @@ bail:
 }
 EXPORT_SYMBOL(vga_put);
 
+/* Rules for using a bridge to control a VGA descendant decoding:
+   if a bridge has only one VGA descendant then it can be used
+   to control the VGA routing for that device.
+   It should always use the bridge closest to the device to control it.
+   If a bridge has a direct VGA descendant, but also have a sub-bridge
+   VGA descendant then we cannot use that bridge to