Announcement

Collapse
No announcement yet.

Radeon DRM Power Management Moves Along

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

  • #21
    GPU and memory clock are still the same while idle and under heavy load.

    gentoo niko # cat /sys/kernel/debug/dri/0/radeon_pm_info
    state: PM_STATE_ACTIVE
    default engine clock: 776000 kHz
    current engine clock: 769500 kHz
    default memory clock: 1126000 kHz
    current memory clock: 1125000 kHz
    gentoo niko # sleep 60 && cat /sys/kernel/debug/dri/0/radeon_pm_info
    state: PM_STATE_ACTIVE
    default engine clock: 776000 kHz
    current engine clock: 769500 kHz
    default memory clock: 1126000 kHz
    current memory clock: 1125000 kHz
    ## VGA ##
    AMD: X1950XTX, HD3870, HD5870
    Intel: GMA45, HD3000 (Core i5 2500K)

    Comment


    • #22
      The current code only adjusts the engine clock. Also, depending on the power tables in your system, the low power state may be the default state. dmesg should print the available power states for your system.

      Comment


      • #23
        We have some bug in finding minimum state. You can notice this in following log:
        Code:
        [  230.833992] [drm] 7 Power State(s)
        [  230.833993] [drm] State 0 Default (default)
        [  230.833995] [drm] 	16 PCIE Lanes
        [  230.833996] [drm] 	3 Clock Mode(s)
        [  230.833997] [drm] 		0 engine/memory: 600000/700000
        [  230.833999] [drm] 		1 engine/memory: 600000/700000
        [  230.834000] [drm] 		2 engine/memory: 600000/700000
        [  230.834002] [drm] State 1 Performance 
        [  230.834003] [drm] 	16 PCIE Lanes
        [  230.834004] [drm] 	3 Clock Mode(s)
        [  230.834005] [drm] 		0 engine/memory: 110000/405000
        [  230.834006] [drm] 		1 engine/memory: 337000/405000
        [  230.834008] [drm] 		2 engine/memory: 600000/700000
        [  230.834009] [drm] State 2 Battery 
        [  230.834010] [drm] 	16 PCIE Lanes
        [  230.834011] [drm] 	3 Clock Mode(s)
        [  230.834013] [drm] 		0 engine/memory: 110000/405000
        [  230.834014] [drm] 		1 engine/memory: 337000/405000
        [  230.834016] [drm] 		2 engine/memory: 337000/405000
        [  230.834017] [drm] State 3 Default 
        [  230.834018] [drm] 	16 PCIE Lanes
        [  230.834019] [drm] 	3 Clock Mode(s)
        [  230.834020] [drm] 		0 engine/memory: 300000/405000
        [  230.834022] [drm] 		1 engine/memory: 450000/700000
        [  230.834023] [drm] 		2 engine/memory: 450000/700000
        [  230.834024] [drm] State 4 Performance 
        [  230.834026] [drm] 	16 PCIE Lanes
        [  230.834027] [drm] 	3 Clock Mode(s)
        [  230.834028] [drm] 		0 engine/memory: 337000/700000
        [  230.834029] [drm] 		1 engine/memory: 337000/700000
        [  230.834031] [drm] 		2 engine/memory: 600000/700000
        [  230.834032] [drm] State 5 Battery 
        [  230.834033] [drm] 	16 PCIE Lanes
        [  230.834034] [drm] 	3 Clock Mode(s)
        [  230.834036] [drm] 		0 engine/memory: 337000/405000
        [  230.834037] [drm] 		1 engine/memory: 337000/405000
        [  230.834038] [drm] 		2 engine/memory: 337000/405000
        [  230.834040] [drm] State 6 Default 
        [  230.834041] [drm] 	16 PCIE Lanes
        [  230.834042] [drm] 	3 Clock Mode(s)
        [  230.834043] [drm] 		0 engine/memory: 337000/405000
        [  230.834045] [drm] 		1 engine/memory: 337000/405000
        [  230.834046] [drm] 		2 engine/memory: 337000/405000
        [  230.834047] [drm] radeon: dynamic power management enabled
        [  230.834048] [drm] radeon: power management initialized
        [  230.835724] [drm] Detected VRAM RAM=256M, BAR=256M
        [  230.835726] [drm] RAM width 128bits DDR
        [  230.838165] [TTM] Zone  kernel: Available graphics memory: 1994256 kiB.
        [  230.838178] [drm] radeon: 256M of VRAM memory ready
        [  230.838179] [drm] radeon: 512M of GTT memory ready.
        [  230.838226] radeon 0000:01:00.0: irq 34 for MSI/MSI-X
        [  230.838233] [drm] radeon: using MSI.
        [  230.838279] [drm] radeon: irq initialized.
        [  230.838282] [drm] GART: num cpu pages 131072, num gpu pages 131072
        [  230.838635] [drm] Loading RV635 Microcode
        [  230.838638] platform radeon_cp.0: firmware: requesting radeon/RV635_pfp.bin
        [  230.908558] platform radeon_cp.0: firmware: requesting radeon/RV635_me.bin
        [  230.922252] platform radeon_cp.0: firmware: requesting radeon/R600_rlc.bin
        [  230.985614] [drm] ring test succeeded in 1 usecs
        [  230.985681] [drm] radeon: ib pool ready.
        [  230.985699] [drm] ib test succeeded in 0 usecs
        [  230.985701] [drm] Enabling audio support
        [  230.986620] [drm] Radeon Display Connectors
        [  230.986622] [drm] Connector 0:
        [  230.986623] [drm]   VGA
        [  230.986625] [drm]   DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
        [  230.986627] [drm]   Encoders:
        [  230.986628] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
        [  230.986629] [drm] Connector 1:
        [  230.986630] [drm]   LVDS
        [  230.986631] [drm]   Encoders:
        [  230.986632] [drm]     LCD1: INTERNAL_KLDSCP_LVTMA
        [  230.986634] [drm] Connector 2:
        [  230.986635] [drm]   DVI-D
        [  230.986636] [drm]   HPD1
        [  230.986637] [drm]   DDC: 0x7e60 0x7e60 0x7e64 0x7e64 0x7e68 0x7e68 0x7e6c 0x7e6c
        [  230.986639] [drm]   Encoders:
        [  230.986640] [drm]     DFP1: INTERNAL_UNIPHY
        [  230.986641] [drm] Connector 3:
        [  230.986642] [drm]   HDMI-A
        [  230.986643] [drm]   HPD2
        [  230.986644] [drm]   DDC: 0x7e60 0x7e60 0x7e64 0x7e64 0x7e68 0x7e68 0x7e6c 0x7e6c
        [  230.986646] [drm]   Encoders:
        [  230.986647] [drm]     DFP2: INTERNAL_UNIPHY
        [  230.995484] [drm] Requested: e: 11000 m: 40500 p: 16
        [  230.995487] [drm] Setting: e: 11000 m: 40500 p: 16
        [  231.520867] No connectors reported conncted with modes
        [  231.525759] [drm] fb mappable at 0xC0141000
        [  231.525760] [drm] vram apper at 0xC0000000
        [  231.525762] [drm] size 7257600
        [  231.525763] [drm] fb depth is 24
        [  231.525764] [drm]    pitch is 6912
        [  231.532666] [drm] Requested: e: 60000 m: 70000 p: 16
        [  231.732288] [drm] Setting: e: 60000 m: 70000 p: 16
        [  231.909468] executing set pll
        [  231.914412] executing set crtc timing
        [  231.914475] [drm] LVDS-11: set mode 1680x1050 1f
        [  231.917466] [drm:r600_irq_process] *ERROR* Unhandled interrupt: 21 5
        [  231.927363] Console: switching to colour frame buffer device 210x65
        [  231.931866] fb0: radeondrmfb frame buffer device
        [  231.931867] registered panic notifier
        [  231.931871] [drm] Initialized radeon 2.0.0 20080528 for 0000:01:00.0 on minor 0
        [  232.138333] [drm] Requested: e: 33700 m: 40500 p: 16
        [  232.338285] [drm] Setting: e: 33700 m: 40500 p: 16
        From attached log you can see radeon should switch between 2 modes:
        1) e: 60000 m: 70000 p: 16
        2) e: 11000 m: 40500 p: 16

        For some reason a the end of log you can see radeon using:
        3) e: 33700 m: 40500 p: 16

        I'll fix that later.

        Comment


        • #24
          This is with RV670 (Radeon HD3870):

          Code:
          [    1.313917] [drm] 4 Power State(s)                                                                                                                                                                                                                                                                                        
          [    1.313940] [drm] State 0 Default (default)                                                                                                                                                                                                                                                                               
          [    1.313963] [drm]    16 PCIE Lanes                                                                                                                                                                                                                                                                                        
          [    1.313986] [drm]    3 Clock Mode(s)                                                                                                                                                                                                                                                                                      
          [    1.314021] [drm]            0 engine/memory: 776000/1126000                                                                                                                                                                                                                                                              
          [    1.314045] [drm]            1 engine/memory: 776000/1126000                                                                                                                                                                                                                                                              
          [    1.314068] [drm]            2 engine/memory: 776000/1126000                                                                                                                                                                                                                                                              
          [    1.314092] [drm] State 1 Performance                                                                                                                                                                                                                                                                                     
          [    1.314115] [drm]    16 PCIE Lanes                                                                                                                                                                                                                                                                                        
          [    1.314138] [drm]    3 Clock Mode(s)                                                                                                                                                                                                                                                                                      
          [    1.314161] [drm]            0 engine/memory: 300000/1126000                                                                                                                                                                                                                                                              
          [    1.314185] [drm]            1 engine/memory: 300000/1126000                                                                                                                                                                                                                                                              
          [    1.314208] [drm]            2 engine/memory: 776000/1126000                                                                                                                                                                                                                                                              
          [    1.314232] [drm] State 2 Performance                                                                                                                                                                                                                                                                                     
          [    1.314264] [drm]    16 PCIE Lanes                                                                                                                                                                                                                                                                                        
          [    1.314287] [drm]    3 Clock Mode(s)                                                                                                                                                                                                                                                                                      
          [    1.314310] [drm]            0 engine/memory: 300000/1126000                                                                                                                                                                                                                                                              
          [    1.314334] [drm]            1 engine/memory: 300000/1126000                                                                                                                                                                                                                                                              
          [    1.314357] [drm]            2 engine/memory: 776000/1126000                                                                                                                                                                                                                                                              
          [    1.314381] [drm] State 3 Default                                                                                                                                                                                                                                                                                         
          [    1.314404] [drm]    16 PCIE Lanes                                                                                                                                                                                                                                                                                        
          [    1.314426] [drm]    3 Clock Mode(s)                                                                                                                                                                                                                                                                                      
          [    1.314450] [drm]            0 engine/memory: 776000/1126000                                                                                                                                                                                                                                                              
          [    1.314473] [drm]            1 engine/memory: 776000/1126000                                                                                                                                                                                                                                                              
          [    1.314497] [drm]            2 engine/memory: 776000/1126000
          Code:
          [   32.464062] [drm] TMDS-15: set mode 2560x1600 2a
          [   45.007022] [drm] Requested: e: 77600 m: 112600 p: 16
          [   45.607017] [drm] Requested: e: 77600 m: 112600 p: 16
          [   88.730020] [drm] Requested: e: 77600 m: 112600 p: 16
          [   93.334032] [drm] Requested: e: 77600 m: 112600 p: 16
          [   99.334122] [drm] Requested: e: 77600 m: 112600 p: 16
          [  142.943715] [drm] Requested: e: 77600 m: 112600 p: 16
          [  143.855280] [drm] Requested: e: 77600 m: 112600 p: 16
          [  181.385024] [drm] Requested: e: 77600 m: 112600 p: 16
          [ 2860.445474] [drm] Requested: e: 77600 m: 112600 p: 16
          [ 2860.450052] [drm] Requested: e: 77600 m: 112600 p: 16
          [ 2861.365024] [drm] Requested: e: 77600 m: 112600 p: 16
          [ 4152.895021] [drm] Requested: e: 77600 m: 112600 p: 16
          [ 4153.595021] [drm] Requested: e: 77600 m: 112600 p: 16
          [ 4178.842037] [drm] Requested: e: 77600 m: 112600 p: 16
          [ 4179.543019] [drm] Requested: e: 77600 m: 112600 p: 16
          [ 4647.832020] [drm] Requested: e: 77600 m: 112600 p: 16
          [ 4648.432023] [drm] Requested: e: 77600 m: 112600 p: 16
          [ 8695.366784] [drm] Requested: e: 77600 m: 112600 p: 16
          [ 8695.380052] [drm] Requested: e: 77600 m: 112600 p: 16
          [ 8695.786022] [drm] Requested: e: 77600 m: 112600 p: 16
          Code:
          gentoo niko # cat /sys/kernel/debug/dri/0/radeon_pm_info
          state: PM_STATE_ACTIVE
          default engine clock: 776000 kHz
          current engine clock: 769500 kHz
          default memory clock: 1126000 kHz
          current memory clock: 1125000 kHz
          Am I using powerstate 0? How to change the powerstate?
          ## VGA ##
          AMD: X1950XTX, HD3870, HD5870
          Intel: GMA45, HD3000 (Core i5 2500K)

          Comment


          • #25
            darkbasic: driver looks for "Battery" state and takes first mode from it. We didn't predict there are cards without "Battery" state defined. Has to be fixed.

            Comment


            • #26
              Tested with RV790 HD4890, kernel 2.6.33-rc4

              Code:
              ATOM BIOS: RV790                                                                                                
              [drm] Clocks initialized !                                                                                      
              [drm] 5 Power State(s)                                                                                          
              [drm] State 0 Default (default)                                                                                 
              [drm]   16 PCIE Lanes                                                                                           
              [drm]   3 Clock Mode(s)                                                                                         
              [drm]           0 engine/memory: 750000/850000                                                                  
              [drm]           1 engine/memory: 750000/850000                                                                  
              [drm]           2 engine/memory: 750000/850000                                                                  
              [drm] State 1 Performance                                                                                       
              [drm]   16 PCIE Lanes                                                                                           
              [drm]   3 Clock Mode(s)                                                                                         
              [drm]           0 engine/memory: 500000/975000                                                                  
              [drm]           1 engine/memory: 800000/975000                                                                  
              [drm]           2 engine/memory: 850000/975000                                                                  
              [drm] State 2 Default                                                                                           
              [drm]   16 PCIE Lanes                                                                                           
              [drm]   3 Clock Mode(s)                                                                                         
              [drm]           0 engine/memory: 800000/975000                                                                  
              [drm]           1 engine/memory: 800000/975000                                                                  
              [drm]           2 engine/memory: 800000/975000                                                                  
              [drm] State 3 Performance                                                                                       
              [drm]   16 PCIE Lanes                                                                                           
              [drm]   3 Clock Mode(s)                                                                                         
              [drm]           0 engine/memory: 600000/975000                                                                  
              [drm]           1 engine/memory: 800000/975000                                                                  
              [drm]           2 engine/memory: 850000/975000                                                                  
              [drm] State 4 Default                                                                                           
              [drm]   16 PCIE Lanes                                                                                           
              [drm]   3 Clock Mode(s)                                                                                         
              [drm]           0 engine/memory: 240000/975000                                                                  
              [drm]           1 engine/memory: 240000/975000                                                                  
              [drm]           2 engine/memory: 240000/975000                                                                  
              [drm] radeon: dynamic power management enabled                                                                  
              [drm] radeon: power management initialized
              [drm] Requested: e: 75000 m: 85000 p: 16
              [drm] Requested: e: 75000 m: 85000 p: 16
              [drm] Requested: e: 75000 m: 85000 p: 16
              Code:
              state: PM_STATE_ACTIVE
              default engine clock: 850000 kHz
              current engine clock: 850000 kHz
              default memory clock: 975000 kHz
              current memory clock: 975000 kHz

              Comment


              • #27
                DarkMan_: thanks!

                It's crazy, it looks we can not really depend to how manufactures signed AtomBIOS PowerPlayInfo table.

                Current algorithm is:
                1) Find first "Battery" state, take first mode.

                I guess in case of lacking "Battery" we have to go through all other states and take lowest... As lowest can be in any: Default (DarkMan_) or Performance (darkbasic).

                Comment


                • #28
                  What about the memory clock? It doesn't downclock it even in Performance state...
                  ## VGA ##
                  AMD: X1950XTX, HD3870, HD5870
                  Intel: GMA45, HD3000 (Core i5 2500K)

                  Comment


                  • #29
                    darkbasic: well, for some reason your's GPU manufacturer didn't put any info about memory downclocking in AtomBIOS. Maybe this just doesn't work for your GPU? Eventually we will use some quirks later.

                    Comment


                    • #30
                      Originally posted by darkbasic View Post
                      What about the memory clock? It doesn't downclock it even in Performance state...
                      If you read a few posts above you will see that this has been answered already.

                      Comment

                      Working...
                      X