Announcement

Collapse
No announcement yet.

Radeon DPM Support Should Now Be In Good Shape

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

  • #46
    @agd5f or bridgman

    Is the code that controls the fan speed of the card in the firmware or in mesa/kernel/somewhere open? I am just curious about something

    Thanks in advance.

    Comment


    • #47
      Originally posted by 89c51 View Post
      Is the code that controls the fan speed of the card in the firmware or in mesa/kernel/somewhere open?
      It depends on the card. The gpu has a built in fan controller. If the oem uses that, it's controlled by the fan controller hw. If the oem uses an external fan control chip, that controls the fan. The vbios loads a default fan profile when the asic is initialized. It raises the fan speed as the temperature increases and reduces it as the temperature decreases. There is no support for manual fan control at the moment.

      Comment


      • #48
        Originally posted by agd5f View Post
        It depends on the card. The gpu has a built in fan controller. If the oem uses that, it's controlled by the fan controller hw. If the oem uses an external fan control chip, that controls the fan. The vbios loads a default fan profile when the asic is initialized. It raises the fan speed as the temperature increases and reduces it as the temperature decreases. There is no support for manual fan control at the moment.
        Thanks for the answer. I was just curious about the control algorithm of the thing.

        Comment


        • #49
          I would love to use this feature as my card (ASUS EAH6870 DirectCU/2DI2S/1GD5) is really noisy but it freezes my PC when enabled and the monitor goes to sleep mode.
          If I have radeon compiled as module and firmware in /lib/firmware/radeon freez occurs when the module loads and if I have it with firmware in kernel freez is right at load of kernel.
          I have enabled intel integrated card to see if there is any output but there is nothing on the screen.
          Do I need more than radeon module and firmware from http://people.freedesktop.org/~agd5f/radeon_ucode/ ?

          Comment


          • #50
            Also this.

            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: GPU lockup CP stall for more than 10000msec
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: GPU lockup (waiting for 0x000000000011333f)
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: failed to get a new IB (-35)
            Sep 19 16:32:18 mainland kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to get ib !
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: Saved 695 dwords of commands on ring 0.
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: GPU softreset: 0x00000009
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: GRBM_STATUS = 0xB2703828
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: GRBM_STATUS_SE0 = 0x1C000007
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: GRBM_STATUS_SE1 = 0x08000007
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: SRBM_STATUS = 0x200000C0
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: SRBM_STATUS2 = 0x00000000
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x00000000
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x40000000
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00008006
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: R_008680_CP_STAT = 0x80228647
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: R_00D034_DMA_STATUS_REG = 0x44C83D57
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: GRBM_SOFT_RESET=0x00007F6B
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: SRBM_SOFT_RESET=0x00000100
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: GRBM_STATUS = 0x00003828
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: GRBM_STATUS_SE0 = 0x00000007
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: GRBM_STATUS_SE1 = 0x00000007
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: SRBM_STATUS = 0x200000C0
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: SRBM_STATUS2 = 0x00000000
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x00000000
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x00000000
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00000000
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: R_008680_CP_STAT = 0x00000000
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: R_00D034_DMA_STATUS_REG = 0x44C83D57
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: GPU reset succeeded, trying to resume
            Sep 19 16:32:18 mainland kernel: [drm] PCIE gen 2 link speeds already enabled
            Sep 19 16:32:18 mainland kernel: [drm] PCIE GART of 512M enabled (table at 0x0000000000273000).
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: WB enabled
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff88030ac57c00
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff88030ac57c0c
            Sep 19 16:32:18 mainland kernel: radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0xffffc9000b332118
            Sep 19 16:32:18 mainland kernel: [drm] ring test on 0 succeeded in 3 usecs
            Sep 19 16:32:18 mainland kernel: [drm] ring test on 3 succeeded in 1 usecs
            Sep 19 16:32:19 mainland kernel: [drm] ring test on 5 succeeded in 2 usecs
            Sep 19 16:32:19 mainland kernel: [drm] UVD initialized successfully.
            Sep 19 16:32:19 mainland kernel: [drm] ib test on ring 0 succeeded in 0 usecs
            Sep 19 16:32:19 mainland kernel: [drm] ib test on ring 3 succeeded in 1 usecs
            Sep 19 16:32:19 mainland kernel: [drm] ib test on ring 5 succeeded
            Sep 19 16:32:19 mainland kernel: switching from power state:
            Sep 19 16:32:19 mainland kernel: ui class: none
            Sep 19 16:32:19 mainland kernel: internal class: boot
            Sep 19 16:32:19 mainland kernel: caps:
            Sep 19 16:32:19 mainland kernel: uvd vclk: 0 dclk: 0
            Sep 19 16:32:19 mainland kernel: power level 0 sclk: 10000 mclk: 15000 vddc: 950 vddci: 950
            Sep 19 16:32:19 mainland kernel: power level 1 sclk: 10000 mclk: 15000 vddc: 950 vddci: 950
            Sep 19 16:32:19 mainland kernel: power level 2 sclk: 10000 mclk: 15000 vddc: 950 vddci: 950
            Sep 19 16:32:19 mainland kernel: status: c b
            Sep 19 16:32:19 mainland kernel: switching to power state:
            Sep 19 16:32:19 mainland kernel: ui class: performance
            Sep 19 16:32:19 mainland kernel: internal class: none
            Sep 19 16:32:19 mainland kernel: caps:
            Sep 19 16:32:19 mainland kernel: uvd vclk: 0 dclk: 0
            Sep 19 16:32:19 mainland kernel: power level 0 sclk: 10000 mclk: 15000 vddc: 950 vddci: 950
            Sep 19 16:32:19 mainland kernel: power level 1 sclk: 60000 mclk: 100000 vddc: 1100 vddci: 1100
            Sep 19 16:32:19 mainland kernel: power level 2 sclk: 77500 mclk: 100000 vddc: 1150 vddci: 1100
            Sep 19 16:32:19 mainland kernel: status: r
            Screen blinks from time to time. But thats rare. Not sure if its driver related or something else.

            Comment


            • #51
              Originally posted by pixo View Post
              I would love to use this feature as my card (ASUS EAH6870 DirectCU/2DI2S/1GD5) is really noisy but it freezes my PC when enabled and the monitor goes to sleep mode.
              If I have radeon compiled as module and firmware in /lib/firmware/radeon freez occurs when the module loads and if I have it with firmware in kernel freez is right at load of kernel.
              I have enabled intel integrated card to see if there is any output but there is nothing on the screen.
              Do I need more than radeon module and firmware from http://people.freedesktop.org/~agd5f/radeon_ucode/ ?
              Kernel 3.11, firmware, drm, radeon.dpm=1 at the kernel command line, mesa at least 9.2.

              Comment


              • #52
                Originally posted by gradinaruvasile View Post
                Kernel 3.11, firmware, drm, radeon.dpm=1 at the kernel command line, mesa at least 9.2.
                got all that
                kernel 3.11.1
                dmr and mesa from git

                but if i enable radeon.dpm=1 on kernel command line my PC freezes during boot

                Comment


                • #53
                  My desktop too freezes with this radeon, but only after a few hours or sometimes a day of uptime. In the meantime it works perfectly (AMD 7560D/A8-5500 APU).

                  What distro do you use and what hardware you have?

                  Comment


                  • #54
                    Originally posted by Bushido_root View Post
                    Did you download the appropiate firmware and put it in /lib/firmware/radeon ?
                    Run dmesg | grep dpm in terminal, if it failed to intialize then you need the right ucode...

                    I'm not sure which you should d/l... Seeing how you have a HD4000 series card you should download:
                    RV710_smc.bin
                    RV730_smc.bin
                    RV740_smc.bin
                    RV770_smc.bin

                    and put it all in /lib/firmware/radeon
                    Then reboot and run dmesg | grep dpm to verify if DPM intialized.
                    I run dmesg | grep dpm in terminal, and everything seems to be allright (I use rolling release, so that files are not outdated), and I see how the fan work a lot less than before, but less FPS in games is something I have seen (the most tested game has been team fortress 2, and the same map runs worst with that activated). So, if I enable it I win dynamic power management support, but I lose FPS in games
                    (in AMD Radeon HD4200, free driver, R600 back-end activated).
                    So, seems than it does not improve FPS in any hardware

                    Comment


                    • #55
                      Originally posted by edoantonioco View Post
                      I run dmesg | grep dpm in terminal, and everything seems to be allright (I use rolling release, so that files are not outdated), and I see how the fan work a lot less than before, but less FPS in games is something I have seen (the most tested game has been team fortress 2, and the same map runs worst with that activated). So, if I enable it I win dynamic power management support, but I lose FPS in games
                      (in AMD Radeon HD4200, free driver, R600 back-end activated).
                      So, seems than it does not improve FPS in any hardware
                      Not sure... Perhaps you'll need Mesa from git (9.2) and xorg video driver from git (7.2) as well for better video game performance.

                      Comment


                      • #56
                        The killer is the gardener... err its the monitor.
                        My monitor is Dell UltraSharp U2913WM and when connected dpm code does not work.
                        While connected to my TV dpm works.
                        It may be due to the way the monitor presents itself trought DVI and HDMI port.
                        From my previous experience I know that it presents itself diferently on DVI, HDMI and DP.

                        For now I have tested DVI - DVI and DVI - HDMI (card does not have HDMI port).
                        I will test with DP but first will need to buy the cable.

                        Comment


                        • #57
                          Originally posted by edoantonioco View Post
                          I run dmesg | grep dpm in terminal, and everything seems to be allright (I use rolling release, so that files are not outdated), and I see how the fan work a lot less than before, but less FPS in games is something I have seen (the most tested game has been team fortress 2, and the same map runs worst with that activated). So, if I enable it I win dynamic power management support, but I lose FPS in games
                          (in AMD Radeon HD4200, free driver, R600 back-end activated).
                          So, seems than it does not improve FPS in any hardware
                          The important thing to remember is that dpm is about saving pwer, not improving performance. It happens to improve performance on recent APUs since their default clocks are generally pretty low and enabling dpm allows the GPU to utilize the higher clock speeds. On most dGPUs, the cards default clocks are already pretty high, so dpm doesn't really improve performance. It does however save power since the clocks are dynamically lowered when the GPU is not busy.

                          Comment


                          • #58
                            Originally posted by agd5f View Post
                            The important thing to remember is that dpm is about saving pwer, not improving performance. It happens to improve performance on recent APUs since their default clocks are generally pretty low and enabling dpm allows the GPU to utilize the higher clock speeds. On most dGPUs, the cards default clocks are already pretty high, so dpm doesn't really improve performance. It does however save power since the clocks are dynamically lowered when the GPU is not busy.
                            Thanks for the info Seems than I cant have both things

                            I use kernel 3.10 and 3.11, so, what I thought was to use kernel 3.10 for gaming (no dpm thing there) and 3.11 for anything else. But seems to be than if I put the "radeon.dpm=1" in the kernel boot line, I cant start any other kernel than doesnt support it, in this case kernel 3.10.
                            So, now I have to choose: enable dpm or no? Afterall, the dpm features are great for just ignore it.

                            Comment


                            • #59
                              Originally posted by edoantonioco View Post
                              Thanks for the info Seems than I cant have both things

                              I use kernel 3.10 and 3.11, so, what I thought was to use kernel 3.10 for gaming (no dpm thing there) and 3.11 for anything else. But seems to be than if I put the "radeon.dpm=1" in the kernel boot line, I cant start any other kernel than doesnt support it, in this case kernel 3.10.
                              So, now I have to choose: enable dpm or no? Afterall, the dpm features are great for just ignore it.
                              dpm shouldn't reduce performance significantly. If it does, there's probably a problem and you should report a bug. Note that with dpm you can force the performance level to the lowest or highest level via sysfs if you want to force a performance level rather than letting the hw choose based on GPU load.

                              Comment


                              • #60
                                Originally posted by agd5f View Post
                                dpm shouldn't reduce performance significantly. If it does, there's probably a problem and you should report a bug. Note that with dpm you can force the performance level to the lowest or highest level via sysfs if you want to force a performance level rather than letting the hw choose based on GPU load.
                                I think I know what you mean. In this blog
                                http://www.botchco.com/agd5f/?p=57
                                you says than to force the performance level, the file in
                                /sys/class/drm/card0/device/power_dpm_state
                                by default is in the state "balanced", but if I change it to "performance" I will take all the performance from the GPU.
                                I used it, and in fact, it increase the FPS in team fortress 2
                                So, I think the program should know if I am using 3D stuff, so by itself it should change the flag to "performance" inside the file.
                                So, to acces to these features (I mean, to use different flags depending of the situation (battery, balanced or performance)), the best way is to create a script than just running it, it change the info inside that file depending if I want battery performance, 3D games performance..., because seems to be than the dpm program doesnt do that job by its own (at least in my experience). I need to test it more, but seems to be than my problem was solved thanks to that info.

                                Comment

                                Working...
                                X