I noticed a similar bug was reported on 3.2 kernel in year 2012:
https://bugzilla.redhat.com/show_bug.cgi?id=785375

At the time the bug was fixed by switching the PCI DMA bit mask from 40-bits to 
32-bits:
https://bugzilla.redhat.com/attachment.cgi?id=603278

The initial patch was testing against the GPU chip family, but that
seems wrong because now we see the same GPUs working with 40-bits mask
on some Intel platforms and not on some AMD platforms.

This patch makes all PCI GPU use 32-bit masks. This is expected to be
non-optimal platforms supporting 40-bits DMA masks, but is safest. An
alternative would be to test against the platforms.

This patch is not enough to fix PCI GPUs working on K8 and K10
platforms, also, this patch only concern Radeon hardware, while Nvidia
hardware are both affected on those platforms (both running nouveau or
nvidia).

This patch makes enough to workaround this error on ATI PCI devices on
K10:

```
[drm:r600_ring_test [radeon]] *ERROR* radeon: ring 0 test failed 
(scratch(0x8504)=0xCAFEDEAD)
radeon 0000:03:00.0: disabling GPU acceleration
```

And this one on both ATI PCI devices on K10 and ATI AGP devices on Linux
5.9 (AGP disabled?):

```
trying to bind memory to uninitialized GART !
```

This is not enough to fix PCI GPUs on K8 (K8T800) and K10 (nForce3),
also, non-ATI Nvidia PCI GPUs are affected by at least one other bug
that may be in common.

This is not a call to disable AGP, and other bug(s) left such AGP
hardware unusable once AGP is disabled.

This patch has been written against Linux 5.8 vanilla but applies
correctly on on 5.9 and 5.10-rc2.

** Bug watch added: Red Hat Bugzilla #785375
   https://bugzilla.redhat.com/show_bug.cgi?id=785375

** Patch added: "PATCH: drm/radeon: make all PCI GPUs use 32 bits DMA bit mask 
(not enough to fix the issue and ATI specific)"
   
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1902795/+attachment/5431266/+files/0001-drm-radeon-make-all-PCI-GPUs-use-32bits-DMA-bit-mask.patch

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1902795

Title:
  PCI graphics broken on AMD K8/K10 platform (while it works on Intel)
  verified from Linux 4.4 to 5.10-rc1

Status in linux package in Ubuntu:
  Confirmed

Bug description:
  This is an issue I found while investigating #1899304
  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1899304

  The big concern is that if AGP is disabled, there is no fallback
  display option on those platforms.

  After having discovered some K8 and K10 computers running AGP cards
  stopped working with 5.4.0-48 (Ubuntu 20.04 LTS), I had the idea to
  try some PCI cards to know if problems came from AGP or something
  else, and I've discovered another issue instead.

  Note that I'm not talking about PCI express, but good old PCI.

  The other issue I found is that PCI graphics on AMD K8/K10 platform is
  broken since years. This got probably unnoticed because such hardware
  works on Intel platform and those cards are not very common, so the
  chance to fulfill all the requirements to reproduce the bug are not
  that high.

  To make the test significant enough I used two PCI devices from two
  makers, and some that are not so old: they both support OpenGL 3.3,
  have 512MB of VRAM, and one of them even have HDMI.

  - PCI ATI Radeon HD 4350 (RV710, Terascale 1), HDMI + DVI-I + VGA
  - PCI Nvidia Geforce 8400 GS rev.2 (NV98, Tesla 1.0), DVI-I + VGA

  I've driven tests on four computers:

  - K10 PCIe based: Dell Optiplex 740 motherboard with AMD Athlon 64 X2 CPU 
(dual core), Nvidia C51 bridge, 6GB DDR2 667MHz, PCIe + PCI
  - K8 AGP based: ASRock AM2NF3-VSTA motherboard with AMD Phenom II X4 970 CPU 
(quad core), Nvidia nForce3 bridge, 16GB DDR2 800MHz, AGP + PCI
  - K8 AGP based: MSI MS-6702E motherboard with AMD Athlon 64 3200+ CPU (single 
core), VIA K8T800Pro, VT8237/8251 bridge, 3GB DDR 400MHz, AGP + PCI
  - Intel PCIe based: Lenovo ThinkCentre M58 motherboard with Pentium E5200 CPU 
(dual core), Intel 82801 PCI Bridge, 1GB DDR2 800MHz, PCIe + PCI

  Both PCI GPU work on the Intel based computer, and I get performances that 
looks correct for those GPU given they are PCI ones. You can find real-life use 
case test result here (look for “PCI”):
  https://wiki.unvanquished.net/wiki/GPU_compatibility_matrix

  I tested two Ubuntu versions and multiple kernels:

  Ubuntu 20.04 Focal LTS Linux 5.4.0-48-generic
  Ubuntu 20.04 Focal LTS Linux 5.4.0-47-generic
  Ubuntu 16.04 Xenial LTS Linux 4.15.0-118-generic
  Ubuntu 16.04 Xenial LTS Linux 4.8.0-36-generic
  Ubuntu 16.04 Xenial LTS Linux 4.4.0-190-generic

  All those configurations fail with those two PCI GPUs on AMD K8/K10
  platforms.

  I got some logs and screenshots, so I will add them.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1902795/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to