[Bug 19002] Radeon rv730 AGP/KMS/DRM kernel lockup
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
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
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
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
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
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
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
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
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.
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