Radeon HD6970 (Cayman XT)

AmigaOne X5000 platform specific issues related to Linux only.
Post Reply
User avatar
xeno74
Posts: 7022
Joined: Fri Mar 23, 2012 7:58 am

Radeon HD6970 (Cayman XT)

Post by xeno74 »

I have bought a Radeon HD6970 (Cayman XT). :-) I successfully tested it with ubuntu MATE 16.04.6 LTS PowerPC and with Fedora 27 PPC64 today and the hardware 3D acceleration works great on both distributions. :-) The Cayman cards are the fastest and last released Radeon cards with support for hardware 3D acceleration on Linux PPC Big Endian. New cards are working but without hardware 3D acceleration.

Image Image

Image
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 7022
Joined: Fri Mar 23, 2012 7:58 am

Re: Radeon HD6970 (Cayman XT)

Post by xeno74 »

Hi All,

I have bought another Radeon HD6970 (Cayman XT). :-) This time for the X1000. I successfully tested it with ubuntu MATE 16.04.6 LTS PowerPC and with Fienix today and the hardware 3D acceleration works great on both distributions. :-) The Cayman cards are the fastest and last released Radeon cards with support for hardware 3D acceleration on Linux PPC Big Endian. New cards are working but without hardware 3D acceleration.

Image

Image Image

Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 7022
Joined: Fri Mar 23, 2012 7:58 am

Re: Radeon HD6970 (Cayman XT)

Post by xeno74 »

dmesg of a Radeon HD6970 (Cayman XT) in a X5000:

Code: Select all

[    0.436649] [drm] radeon kernel modesetting enabled.
[    0.436729] radeon 0000:01:00.0: vgaarb: deactivate vga console
[    0.607382] radeon 0000:01:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF (2048M used)
[    0.607393] radeon 0000:01:00.0: GTT: 1024M 0x0000000080000000 - 0x00000000BFFFFFFF
[    0.607560] [drm] radeon: 2048M of VRAM memory ready
[    0.607574] [drm] radeon: 1024M of GTT memory ready.
[    0.613629] [drm] radeon: dpm initialized
[    0.615730] [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0
[    0.636121] radeon 0000:01:00.0: WB enabled
[    0.636130] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000080000c00 and cpu addr 0x(____ptrval____)
[    0.640344] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0x(____ptrval____)
[    0.640358] radeon 0000:01:00.0: fence driver on ring 1 use gpu addr 0x0000000080000c04 and cpu addr 0x(____ptrval____)
[    0.640370] radeon 0000:01:00.0: fence driver on ring 2 use gpu addr 0x0000000080000c08 and cpu addr 0x(____ptrval____)
[    0.640382] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000080000c0c and cpu addr 0x(____ptrval____)
[    0.640394] radeon 0000:01:00.0: fence driver on ring 4 use gpu addr 0x0000000080000c10 and cpu addr 0x(____ptrval____)
[    0.640421] radeon 0000:01:00.0: radeon: MSI limited to 32-bit
[    0.640492] radeon 0000:01:00.0: radeon: using MSI.
[    0.640531] [drm] radeon: irq initialized.
[    1.491480] [drm] Radeon Display Connectors
[    1.777451] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[    1.777653] [drm] Initialized radeon 2.50.0 20080528 for 0000:01:00.0 on minor 0
[    7.582590] radeon_dp_aux_transfer_native: 190 callbacks suppressed
[   38.345602] radeon_dp_aux_transfer_native: 158 callbacks suppressed

Code: Select all

[    0.436649] [drm] radeon kernel modesetting enabled.
[    0.436957] [drm] initializing kernel modesetting (CAYMAN 0x1002:0x6718 0x1682:0x3130 0x00).
[    0.607401] [drm] Detected VRAM RAM=2048M, BAR=256M
[    0.607406] [drm] RAM width 256bits DDR
[    0.607560] [drm] radeon: 2048M of VRAM memory ready
[    0.607574] [drm] radeon: 1024M of GTT memory ready.
[    0.607593] [drm] Loading CAYMAN Microcode
[    0.607610] [drm] Internal thermal controller with fan control
[    0.613629] [drm] radeon: dpm initialized
[    0.613684] [drm] GART: num cpu pages 262144, num gpu pages 262144
[    0.615730] [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0
[    0.635994] [drm] PCIE GART of 1024M enabled (table at 0x0000000000162000).
[    0.640408] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.640414] [drm] Driver supports precise vblank timestamp query.
[    0.640531] [drm] radeon: irq initialized.
[    0.659369] [drm] ring test on 0 succeeded in 2 usecs
[    0.659383] [drm] ring test on 3 succeeded in 4 usecs
[    0.659395] [drm] ring test on 4 succeeded in 4 usecs
[    0.836506] [drm] ring test on 5 succeeded in 2 usecs
[    0.836517] [drm] UVD initialized successfully.
[    0.836789] [drm] ib test on ring 0 succeeded in 0 usecs
[    0.836869] [drm] ib test on ring 3 succeeded in 0 usecs
[    0.836945] [drm] ib test on ring 4 succeeded in 0 usecs
[    1.490607] [drm] ib test on ring 5 succeeded
[    1.491480] [drm] Radeon Display Connectors
[    1.491487] [drm] Connector 0:
[    1.491490] [drm]   DP-1
[    1.491493] [drm]   HPD5
[    1.491498] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
[    1.491505] [drm]   Encoders:
[    1.491509] [drm]     DFP1: INTERNAL_UNIPHY2
[    1.491513] [drm] Connector 1:
[    1.491517] [drm]   DP-2
[    1.491520] [drm]   HPD4
[    1.491524] [drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c
[    1.491531] [drm]   Encoders:
[    1.491534] [drm]     DFP2: INTERNAL_UNIPHY2
[    1.491538] [drm] Connector 2:
[    1.491542] [drm]   HDMI-A-1
[    1.491545] [drm]   HPD6
[    1.491550] [drm]   DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c
[    1.491556] [drm]   Encoders:
[    1.491560] [drm]     DFP3: INTERNAL_UNIPHY1
[    1.491564] [drm] Connector 3:
[    1.491578] [drm]   DVI-D-1
[    1.491581] [drm]   HPD1
[    1.491586] [drm]   DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c
[    1.491593] [drm]   Encoders:
[    1.491596] [drm]     DFP4: INTERNAL_UNIPHY1
[    1.491600] [drm] Connector 4:
[    1.491604] [drm]   DVI-I-1
[    1.491607] [drm]   HPD3
[    1.491612] [drm]   DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x647c 0x647c
[    1.491618] [drm]   Encoders:
[    1.491622] [drm]     DFP5: INTERNAL_UNIPHY
[    1.491626] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[    1.603922] [drm] fb mappable at 0xC00371000
[    1.603929] [drm] vram apper at 0xC00000000
[    1.603933] [drm] size 7680000
[    1.603937] [drm] fb depth is 24
[    1.603941] [drm]    pitch is 6400
[    1.777451] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[    1.777653] [drm] Initialized radeon 2.50.0 20080528 for 0000:01:00.0 on minor 0
[    3.402361] drmem: No dynamic reconfiguration memory found
dmesg of a Radeon HD6970 (Cayman XT) in a X1000:

Code: Select all

[    0.575306] [drm] radeon kernel modesetting enabled.
[    0.742370] radeon 0000:01:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF (2048M used)
[    0.742386] radeon 0000:01:00.0: GTT: 1024M 0x0000000080000000 - 0x00000000BFFFFFFF
[    0.742555] [drm] radeon: 2048M of VRAM memory ready
[    0.742564] [drm] radeon: 1024M of GTT memory ready.
[    0.749373] [drm] radeon: dpm initialized
[    0.779822] radeon 0000:01:00.0: WB enabled
[    0.779833] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000080000c00 and cpu addr 0x(____ptrval____)
[    0.786659] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0x(____ptrval____)
[    0.786678] radeon 0000:01:00.0: fence driver on ring 1 use gpu addr 0x0000000080000c04 and cpu addr 0x(____ptrval____)
[    0.786693] radeon 0000:01:00.0: fence driver on ring 2 use gpu addr 0x0000000080000c08 and cpu addr 0x(____ptrval____)
[    0.786708] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000080000c0c and cpu addr 0x(____ptrval____)
[    0.786723] radeon 0000:01:00.0: fence driver on ring 4 use gpu addr 0x0000000080000c10 and cpu addr 0x(____ptrval____)
[    0.786755] radeon 0000:01:00.0: radeon: MSI limited to 32-bit
[    0.786798] [drm] radeon: irq initialized.
[    1.133114] [drm] Radeon Display Connectors
[    1.634627] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[    1.635142] [drm] Initialized radeon 2.50.0 20080528 for 0000:01:00.0 on minor 0
[   17.526644] radeon_dp_aux_transfer_native: 158 callbacks suppressed
[   98.101510] radeon_dp_aux_transfer_native: 158 callbacks suppressed

Code: Select all

[    0.575306] [drm] radeon kernel modesetting enabled.
[    0.575832] [drm] initializing kernel modesetting (CAYMAN 0x1002:0x6718 0x1682:0x3130 0x00).
[    0.742395] [drm] Detected VRAM RAM=2048M, BAR=256M
[    0.742402] [drm] RAM width 256bits DDR
[    0.742555] [drm] radeon: 2048M of VRAM memory ready
[    0.742564] [drm] radeon: 1024M of GTT memory ready.
[    0.742586] [drm] Loading CAYMAN Microcode
[    0.742617] [drm] Internal thermal controller with fan control
[    0.749373] [drm] radeon: dpm initialized
[    0.749421] [drm] GART: num cpu pages 262144, num gpu pages 262144
[    0.779697] [drm] PCIE GART of 1024M enabled (table at 0x0000000000162000).
[    0.786738] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.786746] [drm] Driver supports precise vblank timestamp query.
[    0.786798] [drm] radeon: irq initialized.
[    0.805517] [drm] ring test on 0 succeeded in 2 usecs
[    0.805536] [drm] ring test on 3 succeeded in 4 usecs
[    0.805551] [drm] ring test on 4 succeeded in 4 usecs
[    0.981040] [drm] ring test on 5 succeeded in 2 usecs
[    0.981053] [drm] UVD initialized successfully.
[    0.981448] [drm] ib test on ring 0 succeeded in 0 usecs
[    0.981504] [drm] ib test on ring 3 succeeded in 0 usecs
[    0.981569] [drm] ib test on ring 4 succeeded in 0 usecs
[    1.131461] [drm] ib test on ring 5 succeeded
[    1.133114] [drm] Radeon Display Connectors
[    1.133124] [drm] Connector 0:
[    1.133130] [drm]   DP-1
[    1.133134] [drm]   HPD5
[    1.133141] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
[    1.133149] [drm]   Encoders:
[    1.133155] [drm]     DFP1: INTERNAL_UNIPHY2
[    1.133161] [drm] Connector 1:
[    1.133166] [drm]   DP-2
[    1.133170] [drm]   HPD4
[    1.133177] [drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c
[    1.133185] [drm]   Encoders:
[    1.133190] [drm]     DFP2: INTERNAL_UNIPHY2
[    1.133196] [drm] Connector 2:
[    1.133201] [drm]   HDMI-A-1
[    1.133205] [drm]   HPD6
[    1.133212] [drm]   DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c
[    1.133220] [drm]   Encoders:
[    1.133225] [drm]     DFP3: INTERNAL_UNIPHY1
[    1.133231] [drm] Connector 3:
[    1.133236] [drm]   DVI-D-1
[    1.133240] [drm]   HPD1
[    1.133247] [drm]   DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c
[    1.133255] [drm]   Encoders:
[    1.133260] [drm]     DFP4: INTERNAL_UNIPHY1
[    1.133265] [drm] Connector 4:
[    1.133270] [drm]   DVI-I-1
[    1.133274] [drm]   HPD3
[    1.133281] [drm]   DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x647c 0x647c
[    1.133289] [drm]   Encoders:
[    1.133294] [drm]     DFP5: INTERNAL_UNIPHY
[    1.133300] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[    1.305292] [drm] fb mappable at 0x90371000
[    1.305303] [drm] vram apper at 0x90000000
[    1.305309] [drm] size 7680000
[    1.305314] [drm] fb depth is 24
[    1.305319] [drm]    pitch is 6400
[    1.408242] [drm:.ni_dpm_set_power_state] *ERROR* ni_restrict_performance_levels_before_switch failed
[    1.634627] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[    1.635142] [drm] Initialized radeon 2.50.0 20080528 for 0000:01:00.0 on minor 0
[    6.391071] drmem: No dynamic reconfiguration memory found
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
akmar1
Posts: 2
Joined: Sat Apr 20, 2019 11:34 am

Re: Radeon HD6970 (Cayman XT)

Post by akmar1 »

I have one of these cards and tried it in my X5000 running Fienix. I boot into the uboot menu, go to Command Line and enter the commands to boot Fienix and as soon as I hit Enter the screen goes black and there is no signal to the monitor. Trying to boot AmigaOS does the same thing. MorphOS will boot, but the display is very flakey. I am currently using a Radeon 6670 which works okay for all three but I would like to use the 6970.

Any ideas?
Fogg_80
Posts: 41
Joined: Sat Jun 18, 2011 11:15 pm

Re: Radeon HD6970 (Cayman XT)

Post by Fogg_80 »

This card is very hungry of power, do you have a suitable PSU?
akmar1
Posts: 2
Joined: Sat Apr 20, 2019 11:34 am

Re: Radeon HD6970 (Cayman XT)

Post by akmar1 »

It's a 550w PS which meets the requirements of the graphics card. It's possible that's the problem but I don' think it would be that big of a power load just booting. There is no signal to the monitor as soon as I hit Enter.
User avatar
xeno74
Posts: 7022
Joined: Fri Mar 23, 2012 7:58 am

Re: Radeon HD6970 (Cayman XT)

Post by xeno74 »

The latest git kernels don't boot with Radeon NI graphics cards. I created a patch for solving this issue.

Code: Select all

diff -rupN a/drivers/gpu/drm/radeon/nislands_smc.h b/drivers/gpu/drm/radeon/nislands_smc.h
--- a/drivers/gpu/drm/radeon/nislands_smc.h     2021-04-30 12:53:11.426435827 +0200
+++ b/drivers/gpu/drm/radeon/nislands_smc.h     2021-04-30 12:52:35.298525162 +0200
@@ -134,11 +134,11 @@ typedef struct NISLANDS_SMC_HW_PERFORMAN

 struct NISLANDS_SMC_SWSTATE
 {
-       uint8_t                             flags;
-       uint8_t                             levelCount;
-       uint8_t                             padding2;
-       uint8_t                             padding3;
-       NISLANDS_SMC_HW_PERFORMANCE_LEVEL   levels[];
+    uint8_t                             flags;
+    uint8_t                             levelCount;
+    uint8_t                             padding2;
+    uint8_t                             padding3;
+    NISLANDS_SMC_HW_PERFORMANCE_LEVEL   levels[1];
 };

 typedef struct NISLANDS_SMC_SWSTATE NISLANDS_SMC_SWSTATE;
The kernel compiles and boots with this patch on my X1000 and X5000 with installed Radeon NI graphics cards.

Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 7022
Joined: Fri Mar 23, 2012 7:58 am

Re: Radeon HD6970 (Cayman XT)

Post by xeno74 »

dmesg of the PCIe slot with the Radeon HD6970 (Cayman XT) in a X5000:

Code: Select all

[    0.021527] PCI host bridge /pcie@ffe200000  ranges:
[    0.021583] /pcie@ffe200000: PCICSRBAR @ 0xdf000000
[    0.021602] /pcie@ffe200000: Setup 64-bit PCI DMA window
[    0.021610] /pcie@ffe200000: DMA window size is 0xdf000000
[    0.022019] PCI host bridge /pcie@ffe201000  ranges:
[    0.022064] /pcie@ffe201000: PCICSRBAR @ 0xdf000000
[    0.022082] /pcie@ffe201000: Setup 64-bit PCI DMA window
[    0.022090] /pcie@ffe201000: DMA window size is 0xdf000000
[    0.023731] fsl-pci ffe200000.pcie: PCI host bridge to bus 0000:00
[    0.025813] pci 0000:01:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x4 link at 0000:00:00.0 (capable of 32.000 Gb/s with 2.5 GT/s PCIe x16 link)
[    0.030278] fsl-pci ffe201000.pcie: PCI host bridge to bus 1000:00
[    0.040102] pci 1000:03:00.0: Enable PCIe Retrain Link quirk
[    0.329716] pcieport 0000:00:00.0: PME: Signaling with IRQ 482
[    0.329894] pcieport 0000:00:00.0: AER: enabled with IRQ 482
[    0.330187] pcieport 1000:00:00.0: PME: Signaling with IRQ 481
[    0.330363] pcieport 1000:00:00.0: AER: enabled with IRQ 481
For comparison: dmesg of the PCIe slot with the Radeon X1950 PRO in a X5000:

Code: Select all

[    0.021068] PCI host bridge /pcie@ffe200000  ranges:
[    0.021128] /pcie@ffe200000: PCICSRBAR @ 0xdf000000
[    0.021150] /pcie@ffe200000: Setup 64-bit PCI DMA window
[    0.021161] /pcie@ffe200000: DMA window size is 0xdf000000
[    0.021608] PCI host bridge /pcie@ffe201000  ranges:
[    0.021657] /pcie@ffe201000: PCICSRBAR @ 0xdf000000
[    0.021679] /pcie@ffe201000: Setup 64-bit PCI DMA window
[    0.021689] /pcie@ffe201000: DMA window size is 0xdf000000
[    0.023082] fsl-pci ffe200000.pcie: PCI host bridge to bus 0000:00
[    0.024992] pci 0000:01:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x4 link at 0000:00:00.0 (capable of 32.000 Gb/s with 2.5 GT/s PCIe x16 link)
[    0.025362] pci 0000:01:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
[    0.026761] fsl-pci ffe201000.pcie: PCI host bridge to bus 1000:00
[    0.036724] pci 1000:03:00.0: Enable PCIe Retrain Link quirk
[    0.342581] pcieport 0000:00:00.0: PME: Signaling with IRQ 482
[    0.342765] pcieport 0000:00:00.0: AER: enabled with IRQ 482
[    0.343081] pcieport 1000:00:00.0: PME: Signaling with IRQ 481
[    0.343284] pcieport 1000:00:00.0: AER: enabled with IRQ 481
[    0.483005] [drm] PCIE GART of 512M enabled (table at 0x0000000000040000).
[    9.915718] pcieport 0000:00:00.0: AER: Corrected error received: 0000:00:00.0
[    9.915732] pcieport 0000:00:00.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID)
[    9.915737] pcieport 0000:00:00.0:   device [1957:0421] error status/mask=00001000/00002000
[    9.915743] pcieport 0000:00:00.0:    [12] Timeout   
dmesg of the PCIe slot with the Radeon HD6970 (Cayman XT) in a X1000:

Code: Select all

[    0.059625] pci 0000:01:00.0: [1002:6718] type 00 class 0x030000
[    0.059654] pci 0000:01:00.0: reg 0x10: [mem 0x90000000-0x9fffffff 64bit pref]
[    0.059676] pci 0000:01:00.0: reg 0x18: [mem 0xa0020000-0xa003ffff 64bit]
[    0.059692] pci 0000:01:00.0: reg 0x20: [io  0x12000-0x120ff]
[    0.059713] pci 0000:01:00.0: reg 0x30: [mem 0xa0000000-0xa001ffff pref]
[    0.059731] pci 0000:01:00.0: enabling Extended Tags
[    0.059781] pci 0000:01:00.0: supports D1 D2
[    0.356690] pci 0000:01:00.1: D0 power state depends on 0000:01:00.0
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
Post Reply