Announcement

Collapse
No announcement yet.

Radeon Power Management Gets More Fixes For 3.11

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Radeon Power Management Gets More Fixes For 3.11

    Phoronix: Radeon Power Management Gets More Fixes For 3.11

    Just days after the first release candidate of the Linux 3.11 kernel, additional user testing of the new Radeon dynamic power management support has revealed more bugs in the open-source driver. Fortunately, there's already another pull request for Linux 3.11 to take care of some more Radeon "DPM" issues...

    http://www.phoronix.com/vr.php?view=MTQxMzM

  • #2
    Thanks to Alex Deucher for his great work, finally DPM is working correctly on my HD6870.

    Comment


    • #3
      Does this fix the HD6850 brokenness? I've grown tired of testing every push to Alex's repo in the hope that it does...

      Comment


      • #4
        Originally posted by cmr~ View Post
        Does this fix the HD6850 brokenness? I've grown tired of testing every push to Alex's repo in the hope that it does...
        It's been working fine depending on what compiler you are using. gcc 4.8 seems to produce broken code for one of the functions in the driver. It's fixed now.

        Comment


        • #5
          Originally posted by agd5f View Post
          It's been working fine depending on what compiler you are using. gcc 4.8 seems to produce broken code for one of the functions in the driver. It's fixed now.
          GCC got fixed (ergo you need to wait for a GCC point release / compile GCC yourself) or you worked around whatever the issue with GCC is, within the function (ergo you need need to just compile your latest branch)?

          Comment


          • #6
            Originally posted by Ericg View Post
            GCC got fixed (ergo you need to wait for a GCC point release / compile GCC yourself) or you worked around whatever the issue with GCC is, within the function (ergo you need need to just compile your latest branch)?
            From reading the dri-devel list messages, it looks like they worked around the GCC breakage.

            Comment


            • #7
              Originally posted by Veerappan View Post
              From reading the dri-devel list messages, it looks like they worked around the GCC breakage.
              Thank you Veerappan Just need to know what I'm actually compiling haha

              Comment


              • #8
                We just restructured the code to make gcc generate a working binary.

                Comment


                • #9
                  I have a notebook with intel 4000 / HD7970M "Enduro" and with the kernel from your repo with dpm I always get an immediate complete system lockup when trying to disable the radeon gpu with vgaswitcheroo.
                  I just tried 3.11-rc1 without dpm and even there I get complete lockups when trying to disable the radeon gpu with vgaswitcheroo.

                  I know that vgaswitcheroo is "bad", but until dave airlie's patches for powering off the discrete gpu that I can't even find with google anymore are mainline, this is the only possibility to not be tortured by a loud fan noise all the time (With a build of your kernel from monday, 15.07, my fan runs all the time with
                  "uvd vclk: 0 dclk: 0
                  power level 0 sclk: 30000 mclk: 15000 vddc: 825 vddci: 850 pcie gen: 3"
                  compared to it running most of the time in earlier builds).

                  Can some of you look at this or do I need to make a proper bug report?

                  Comment


                  • #10
                    Originally posted by agd5f View Post
                    It's been working fine depending on what compiler you are using. gcc 4.8 seems to produce broken code for one of the functions in the driver. It's fixed now.
                    Yup, works great now! I was indeed using gcc 4.8. Thanks bunches.

                    Comment


                    • #11
                      I am not that excited (with the DPM) about recent AMD GPUs as long as they have the FGLRX option for modern performance and power management.

                      But it is FANTASTIC for owners with Radeon 4000 Series and below with the abandoned support from AMD proprietary drivers.

                      Laptops with such GPUs suffered from heat and power management and especially for laptops and mobile devices power management is the most important.

                      Also I would like to see the performance impact (if any) on older hardware. I have a Multimedia PC on my TV with old hardware (Radeon 2600PRO 512) and now with Steam i would like to be able to play the L4D2 or TF2 on low settings.

                      Comment


                      • #12
                        Originally posted by verde View Post
                        Also I would like to see the performance impact (if any) on older hardware. I have a Multimedia PC on my TV with old hardware (Radeon 2600PRO 512) and now with Steam i would like to be able to play the L4D2 or TF2 on low settings.
                        Most of the older hardware defaulted to high clocks, so if your system had sufficient cooling to run at those high clocks then I wouldn't expect a performance gain. If you were running at low or mid profile to keep the GPU cool, however, then dpm should let your hardware adjust clocks up when needed for performance and down the rest of the time.

                        Comment


                        • #13
                          Originally posted by bridgman View Post
                          Most of the older hardware defaulted to high clocks, so if your system had sufficient cooling to run at those high clocks then I wouldn't expect a performance gain. If you were running at low or mid profile to keep the GPU cool, however, then dpm should let your hardware adjust clocks up when needed for performance and down the rest of the time.
                          I pulled out my 8400GS temporarily to try out the new dpm coding against my towers IGP HD4200. DPM didn't seem to like it and it wasn't upping my clocks at all. I did noticed that DPM uses 3 different profiles (power save, balanced, performance), so I tried setting performance and for some reason I was getting about 15 FPS loss against using Profile/High.

                          Comment


                          • #14
                            seems the last patches fixed my 6850.

                            4.999083] device class 'drm': registering
                            [ 4.999105] [drm] Initialized drm 1.1.0 20060810
                            [ 5.222933] [drm] radeon kernel modesetting enabled.
                            [ 5.281468] [drm] initializing kernel modesetting (BARTS 0x1002:0x6739 0x174B:0x174B).
                            [ 5.281705] [drm] register mmio base: 0xFBFC0000
                            [ 5.281835] [drm] register mmio size: 131072
                            [ 5.284132] [drm] Detected VRAM RAM=1024M, BAR=256M
                            [ 5.284262] [drm] RAM width 256bits DDR
                            [ 5.289035] [drm] radeon: 1024M of VRAM memory ready
                            [ 5.289169] [drm] radeon: 512M of GTT memory ready.
                            [ 5.399757] [drm] GART: num cpu pages 131072, num gpu pages 131072
                            [ 5.400752] [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0
                            [ 5.401049] [drm] Loading BARTS Microcode
                            [ 5.655677] [drm] PCIE GART of 512M enabled (table at 0x0000000000273000).
                            [ 5.656698] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
                            [ 5.656827] [drm] Driver supports precise vblank timestamp query.
                            [ 5.657195] [drm] radeon: irq initialized.
                            [ 5.673762] [drm] ring test on 0 succeeded in 2 usecs
                            [ 5.673957] [drm] ring test on 3 succeeded in 1 usecs
                            [ 5.860332] [drm] ring test on 5 succeeded in 1 usecs
                            [ 5.860475] [drm] UVD initialized successfully.
                            [ 5.860729] [drm] Enabling audio support
                            [ 5.860924] [drm] ib test on ring 0 succeeded in 0 usecs
                            [ 5.861109] [drm] ib test on ring 3 succeeded in 0 usecs
                            [ 6.013809] [drm] ib test on ring 5 succeeded
                            [ 6.014937] [drm] Radeon Display Connectors
                            [ 6.015065] [drm] Connector 0:
                            [ 6.015226] [drm] DP-1
                            [ 6.015354] [drm] HPD4
                            [ 6.015483] [drm] DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
                            [ 6.015689] [drm] Encoders:
                            [ 6.015819] [drm] DFP1: INTERNAL_UNIPHY2
                            [ 6.015940] [drm] Connector 1:
                            [ 6.016060] [drm] HDMI-A-1
                            [ 6.016187] [drm] HPD3
                            [ 6.016316] [drm] DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c
                            [ 6.016514] [drm] Encoders:
                            [ 6.016641] [drm] DFP2: INTERNAL_UNIPHY2
                            [ 6.016780] [drm] Connector 2:
                            [ 6.016901] [drm] DVI-I-1
                            [ 6.017024] [drm] HPD6
                            [ 6.017145] [drm] DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x647c 0x647c
                            [ 6.017345] [drm] Encoders:
                            [ 6.017466] [drm] DFP3: INTERNAL_UNIPHY
                            [ 6.017592] [drm] CRT1: INTERNAL_KLDSCP_DAC1
                            [ 6.017715] [drm] Connector 3:
                            [ 6.017837] [drm] DVI-D-1
                            [ 6.017961] [drm] HPD1
                            [ 6.018082] [drm] DDC: 0x6480 0x6480 0x6484 0x6484 0x6488 0x6488 0x648c 0x648c
                            [ 6.018283] [drm] Encoders:
                            [ 6.018405] [drm] DFP4: INTERNAL_UNIPHY1
                            [ 6.018631] [drm] Internal thermal controller with fan control
                            [ 6.033814] [drm] radeon: dpm initialized
                            [ 6.115285] [drm] fb mappable at 0xD0375000
                            [ 6.116318] [drm] vram apper at 0xD0000000
                            [ 6.116378] [drm] size 8294400
                            [ 6.116438] [drm] fb depth is 24
                            [ 6.116497] [drm] pitch is 7680
                            [ 6.116612] fbcon: radeondrmfb (fb0) is primary device
                            [ 6.250000] radeon 0000:03:00.0: fb0: radeondrmfb frame buffer device
                            [ 6.250007] [drm] Initialized radeon 2.34.0 20080528 for 0000:03:00.0 on minor 0

                            884.315647] ui class: performance
                            [ 884.315649] internal class: none
                            [ 884.315651] caps:
                            [ 884.315653] uvd vclk: 0 dclk: 0
                            [ 884.315655] power level 0 sclk: 10000 mclk: 15000 vddc: 950 vddci: 950
                            [ 884.315657] power level 1 sclk: 60000 mclk: 100000 vddc: 1100 vddci: 1100
                            [ 884.315659] power level 2 sclk: 77500 mclk: 100000 vddc: 1150 vddci: 1100
                            [ 884.315660] status: c
                            [ 884.315661] switching to power state:
                            [ 884.315662] ui class: none
                            [ 884.315663] internal class: uvd
                            [ 884.315665] caps: video
                            [ 884.315666] uvd vclk: 54000 dclk: 40000
                            [ 884.315668] power level 0 sclk: 30000 mclk: 100000 vddc: 950 vddci: 1100
                            [ 884.315669] power level 1 sclk: 30000 mclk: 100000 vddc: 950 vddci: 1100
                            [ 884.315671] power level 2 sclk: 77500 mclk: 100000 vddc: 1150 vddci: 1100
                            [ 884.315672] status: r

                            03:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Barts HDMI Audio [Radeon HD 6800 Series]
                            Subsystem: PC Partner Limited Device aa88
                            Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
                            Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR+ <PERR- INTx-
                            Latency: 0, Cache Line Size: 64 bytes
                            Interrupt: pin B routed to IRQ 43
                            Region 0: Memory at fbffc000 (64-bit, non-prefetchable) [size=16K]
                            Capabilities: [50] Power Management version 3
                            Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                            Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
                            Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
                            DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
                            ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                            DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                            RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                            MaxPayload 128 bytes, MaxReadReq 512 bytes
                            DevSta: CorrErr+ UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-
                            LnkCap: Port #0, Speed 5GT/s, Width x16, ASPM L0s L1, Latency L0 <64ns, L1 <1us
                            ClockPM- Surprise- LLActRep- BwNot-
                            LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                            LnkSta: Speed 5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                            DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported
                            DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                            LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
                            EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
                            Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
                            Address: 00000000fee0f00c Data: 41c1
                            Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
                            Capabilities: [150 v1] Advanced Error Reporting
                            UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
                            UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                            UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                            CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                            CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                            AERCap: First Error Pointer: 14, GenCap+ CGenEn- ChkCap+ ChkEn-
                            Kernel driver in use: snd_hda_intel
                            Kernel modules: snd_hda_intel

                            Comment


                            • #15
                              I always wonder:

                              Originally posted by Phoronix Article
                              - The radeon.aspm=0 kernel module parameter has been introduced for disabling ASPM support. PCI Express Active-State Power Management (PCI-E ASPM) was added for the open Radeon driver as part of the DPM changes, but for certain motherboards it will lead to hangs. For those that remember the ASPM power issues Phoronix uncovered in years prior, this shouldn't be a big surprise, but now if you're hitting hangs there is this workaround.
                              Why is Windows not suffering from these kind of issue's?

                              Comment

                              Working...
                              X