Riva Tuner 2.07 Fan Speed & HD3870

Discussion in 'Rivatuner Statistics Server (RTSS) Forum' started by Arthur H., Mar 5, 2008.

  1. Arthur H.

    Arthur H. Member

    Messages:
    10
    Likes Received:
    0
    I just make some test with RT 2.07 and HD3870, and here is the result:

    Defaut Value for Club3D HD3870 are:

    PWM mode: 2
    Duty Cycle 100%: 135
    Duty Cycle spinout: 0
    Duty Cycle min: 0
    T Min: 73
    T Max: 106
    T Slope: 72
    T Hysteresis: 4

    If I apply setting like post #4 on this thread:
    PWM mode: 2
    Duty Cycle 100%: 135
    Duty Cycle spinout: 0
    Duty Cycle min: 0
    T Min: 0
    T Max: 101
    T Slope: 22
    T Hysteresis: 0

    fan remain fixed on the last higher value (if fan is at 55% at the end of benchmark, its remain at 55%...)

    If I apply settings like post #38 on this thread
    PWM mode: 3
    Duty Cycle 100%: 135
    Duty Cycle spinout: 0
    Duty Cycle min: 0
    T Min: 73
    T Max: 106
    T Slope: 72
    T Hysteresis: 4

    It's work too, but I got the same: fan remain fixed on the last higher value. :confused:
    Note that I don't change Duty Cycle Spinout. (Def:0)

    Finally, the only way I found for a correct fan speed control is simply change T Slope:
    PWM mode: 2
    Duty Cycle 100%: 135
    Duty Cycle spinout: 0
    Duty Cycle min: 0
    T Min: 73
    T Max: 106
    T Slope: 220
    T Hysteresis: 4

    if I set it to 220, It's make that fan is very reactive:

    [​IMG]

    Is someone have the same result? or is someone have found better settings??
     
    Last edited: Mar 5, 2008
  2. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,300
    Likes Received:
    2,602
    I'd like to see full state of your fan controller (can be captured by ticking "ATI graphics processor registers" diagnostic report category and re-capturing the report).
     
  3. enessel

    enessel Master Guru

    Messages:
    720
    Likes Received:
    0
    GPU:
    Radeon R9 280
    So once you did that you could set all of your autofanspeed parameters and the fan speed went down when the temp went down?
     
  4. Arthur H.

    Arthur H. Member

    Messages:
    10
    Likes Received:
    0
    Here is the report:

    Code:
    $ffffffffff ----------------------------------------------------------------
    $ffffffffff Northbridge information
    $ffffffffff ----------------------------------------------------------------
    $0400000000 Description               : unknown
    $0400000001 Vendor ID                 : 8086 (Intel)
    $0400000002 Device ID                 : 29c0
    $0400000003 AGP bus                   : not supported
    $ffffffffff ----------------------------------------------------------------
    $ffffffffff Display adapter information
    $ffffffffff ----------------------------------------------------------------
    $0000000000 Description               : ATI Radeon HD 3870
    $0000000001 Vendor ID                 : 1002 (ATI)
    $0000000002 Device ID                 : 9501
    $0000000003 Location                  : bus 1, device 0, function 0
    $0000000004 Bus type                  : PCIE
    $000000000f PCIE link width           : 16x supported, 16x selected
    $0000000009 Base address 0            : d0000000 (memory range)
    $000000000a Base address 1            : none
    $000000000b Base address 2            : fdce0000 (memory range)
    $000000000c Base address 3            : none
    $000000000d Base address 4            : 0000ae00 (I/O range)
    $000000000e Base address 5            : none
    $ffffffffff ----------------------------------------------------------------
    $ffffffffff ATI specific display adapter information
    $ffffffffff ----------------------------------------------------------------
    $0900000000 Graphics core             : RV670 (320sp)
    $0900000002 Memory bus                : 256-bit
    $0900000001 Memory type               : DDR4 SGRAM
    $0900000003 Memory amount             : 512MB
    $0900000004 Core clock                : 297.000MHz
    $0900000005 Memory clock              : 1125.000MHz (2250.000MHz effective)
    $0900000006 Reference clock           : 27.000MHz
    $ffffffffff ----------------------------------------------------------------
    $ffffffffff ATI VGA BIOS information
    $ffffffffff ----------------------------------------------------------------
    $0a00000000 Title                     : 113-B33904-102 RV670 GDDR4_16Mx32 256bit 512MB 777e/1126m
    $0a00000001 Date/time                 : 10/17/07 10:27
    $0a00000002 Core clock                : 777.000MHz
    $0a00000003 Memory clock              : 1126.000MHz
    $0a00000004 Reference clock           : 27.000MHz
    $0a00030000 PowerPlay state 0         : 777MHz/1126MHz/1.33V/boot
    $0a00030100   Performance level 1     : 777MHz/1126MHz/1.33V
    $0a00030200   Performance level 2     : 777MHz/1126MHz/1.33V
    $0a00030001 PowerPlay state 1         : 300MHz/1126MHz/1.24V/Overdrive
    $0a00030101   Performance level 1     : 300MHz/1126MHz/1.24V
    $0a00030201   Performance level 2     : 777MHz/1126MHz/1.33V
    $0a00030002 PowerPlay state 2         : 300MHz/1126MHz/1.24V
    $0a00030102   Performance level 1     : 300MHz/1126MHz/1.24V
    $0a00030202   Performance level 2     : 777MHz/1126MHz/1.33V
    $0a00030003 PowerPlay state 3         : 700MHz/1126MHz/1.33V/UVD
    $0a00030103   Performance level 1     : 700MHz/1126MHz/1.33V
    $0a00030203   Performance level 2     : 700MHz/1126MHz/1.33V
    $0a00000008 Memory type               : DDR4
    $ffffffffff ----------------------------------------------------------------
    $ffffffffff ATI graphics processor registers
    $ffffffffff ----------------------------------------------------------------
    $0b00000134 RCU_ASIC_SERIAL_NUM0                                : 3a9eaac8
    $0b00000138 RCU_ASIC_SERIAL_NUM1                                : 000220e8
    $0b00000600 CG_SPLL_FUNC_CNTL                                   : 21001cfc
    $0b00000610 MPLL_FUNC_CNTL                                      : 24001f54
    $0b00000618 GENERAL_PWRMGT                                      : 000176eb
    $0b00000648 SCLK_FREQ_SETTING_STEP_0_PART1                      : 1007b111
    $0b0000064c SCLK_FREQ_SETTING_STEP_0_PART2                      : 80000200
    $0b00000650 SCLK_FREQ_SETTING_STEP_1_PART1                      : 1007b111
    $0b00000654 SCLK_FREQ_SETTING_STEP_1_PART2                      : 80000200
    $0b00000658 SCLK_FREQ_SETTING_STEP_2_PART1                      : 1007d511
    $0b0000065c SCLK_FREQ_SETTING_STEP_2_PART2                      : 80000200
    $0b00000660 SCLK_FREQ_SETTING_STEP_3_PART1                      : 1007db11
    $0b00000664 SCLK_FREQ_SETTING_STEP_3_PART2                      : 80000200
    $0b00000668 SCLK_FREQ_SETTING_STEP_4_PART1                      : 1007e611
    $0b0000066c SCLK_FREQ_SETTING_STEP_4_PART2                      : 80000200
    $0b00000670 SCLK_FREQ_SETTING_STEP_5_PART1                      : 1007e600
    $0b00000674 SCLK_FREQ_SETTING_STEP_5_PART2                      : 80000200
    $0b00000678 SCLK_FREQ_SETTING_STEP_6_PART1                      : 00014600
    $0b0000067c SCLK_FREQ_SETTING_STEP_6_PART2                      : 00000000
    $0b00000680 SCLK_FREQ_SETTING_STEP_7_PART1                      : 00014600
    $0b00000684 SCLK_FREQ_SETTING_STEP_7_PART2                      : 00000000
    $0b00000688 SCLK_FREQ_SETTING_STEP_8_PART1                      : 00014600
    $0b0000068c SCLK_FREQ_SETTING_STEP_8_PART2                      : 00000000
    $0b00000690 SCLK_FREQ_SETTING_STEP_9_PART1                      : 00014600
    $0b00000694 SCLK_FREQ_SETTING_STEP_9_PART2                      : 00000000
    $0b00000698 SCLK_FREQ_SETTING_STEP_10_PART1                     : 00014600
    $0b0000069c SCLK_FREQ_SETTING_STEP_10_PART2                     : 00000000
    $0b000006a0 SCLK_FREQ_SETTING_STEP_11_PART1                     : 00014600
    $0b000006a4 SCLK_FREQ_SETTING_STEP_11_PART2                     : 00000000
    $0b000006a8 SCLK_FREQ_SETTING_STEP_12_PART1                     : 00014600
    $0b000006ac SCLK_FREQ_SETTING_STEP_12_PART2                     : 00000000
    $0b000006b0 SCLK_FREQ_SETTING_STEP_13_PART1                     : 00014600
    $0b000006b4 SCLK_FREQ_SETTING_STEP_13_PART2                     : 00000000
    $0b000006b8 SCLK_FREQ_SETTING_STEP_14_PART1                     : 00014600
    $0b000006bc SCLK_FREQ_SETTING_STEP_14_PART2                     : 00000000
    $0b000006c0 SCLK_FREQ_SETTING_STEP_15_PART1                     : 00014600
    $0b000006c4 SCLK_FREQ_SETTING_STEP_15_PART2                     : 00000000
    $0b000006c8 SCLK_FREQ_SETTING_STEP_16_PART1                     : 00014600
    $0b000006cc SCLK_FREQ_SETTING_STEP_16_PART2                     : 00000000
    $0b000006d0 SCLK_FREQ_SETTING_STEP_17_PART1                     : 00014600
    $0b000006d4 SCLK_FREQ_SETTING_STEP_17_PART2                     : 00000000
    $0b000006d8 SCLK_FREQ_SETTING_STEP_18_PART1                     : 00014600
    $0b000006dc SCLK_FREQ_SETTING_STEP_18_PART2                     : 00000000
    $0b000006e0 SCLK_FREQ_SETTING_STEP_19_PART1                     : 00014600
    $0b000006e4 SCLK_FREQ_SETTING_STEP_19_PART2                     : 00000000
    $0b000006e8 MPLL_FREQ_LEVEL_0                                   : 0050fa00
    $0b000006ec MPLL_FREQ_LEVEL_1                                   : 0050fa00
    $0b000006f0 MPLL_FREQ_LEVEL_2                                   : 0050fa00
    $0b000006f4 MPLL_FREQ_LEVEL_3                                   : 0050fa00
    $0b000006fc CTXSW_PROFILE_INDEX                                 : 00000000
    $0b00000700 HIGH_PROFILE_INDEX                                  : 00001c5a
    $0b00000704 MED_PROFILE_INDEX                                   : 00001419
    $0b00000708 LOW_PROFILE_INDEX                                   : 00001409
    $0b0000070c TARGET_AND_CURRENT_PROFILE_INDEX                    : 00572090
    $0b0000078c CG_BUSY_SAMPLING_PARAMETERS                         : 000241eb
    $0b000007d4 CG_SPLL_FUNC_CNTL_2                                 : 00000000
    $0b000007d8 MPLL_FUNC_CNTL_2                                    : 00000000
    $0b000007f4 CG_THERMAL_STATUS                                   : 00000036
    $0b000007f8 CG_THERMAL_INT                                      : f800737b
    $0b00000804 CG_FDO_CTRL0                                        : 01c00000
    $0b00000808 CG_FDO_CTRL1                                        : 00480087
    $0b0000080c CG_FDO_CTRL2                                        : 00d51049
    $0b00000810 CG_FDO_LUPT0                                        : 4b46413c
    $0b00000814 CG_FDO_LUPT1                                        : 625a5550
    $0b00000818 CG_FDO_LUPF0                                        : 52443729
    $0b0000081c CG_FDO_LUPF1                                        : 87796d5f
    $0b00002004 CHMAP                                               : 00002f10
    $0b00002408 RAMCFG                                              : 000013a9
    $0b00005428 CONFIG_MEMSIZE                                      : 20000000
    $0b00008950 REG_8950                                            : 00000000
    $0b00008954 REG_8954                                            : 00000000
    Otherwize, it seem that equations:

    Duty_cycle = Duty_cycle_min + 6.25 * (T - T_min) * T_slope / Duty_cycle_100%

    or

    Duty_cycle = Duty_cycle_min + (T - T_min) * (100 * T_slope / Duty_cycle_100%) / 16

    don't work with my Graphic card; I make some test tomorrow and post the result.
     
    Last edited: Mar 5, 2008

  5. Arthur H.

    Arthur H. Member

    Messages:
    10
    Likes Received:
    0
    ...I change only T Slope; fan speed don't work 1-to-1 with these settings,
    but fan work better (more speed than defaut setting) and temperature is not as big.
     
  6. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,300
    Likes Received:
    2,602
    I've analyzed your fan controller's state using the report you've provided.
    Geez, AMD BIOS guys definitively have a tallent of screwing even more things in the BIOS I could imagine. Besides incorrect temperature hysteresis settings explained in post #4 in your BIOS they also screwed controller's PWM hysteresis settings. Hysteresis effect is used to get rid of chatter in dynamically changing values and it normally defines offset from value, whithin which the changes are treated as noise and ignored by the controller.
    In your BIOS they set PWM hysteresis to 32 due to some odd reason. In other words it means that the controller is not allowed to decrease fan speed if duty cycle is decreasing by less than 32 PWM units (approximately 25% of duty cyle). Damn, that is insane! It looks like this controller's parameter will be needed to be added to editable list too.
    In the everning I'll try to provide you command line switch using direct access to PWM controller and ripping wrong PWM hysteresis settings from it. Cannot do it right now, currently I'm in the office on NVIDIA hardware.

    Bravo, AMD. You're "best" and keep surprizing me with 38x0 bugware internals every day.

    P.S. Also, I strongly do not recommend you to set T_slope to values higher than Duty_cycle_100% like you did. Due to internal PWM calculations overflow in the controller it can really work under certain conditions (because the formula adjusts duty cycle in _much_ bigger steps so you can get rid of PWM hysteresis effect), however the same overflow can have negative effects too. Just increase T_slope within [0;Duty_cycle_100%] range to make duty cycle changing faster and get rid of PWM hystersis without overflow.
     
  7. Arthur H.

    Arthur H. Member

    Messages:
    10
    Likes Received:
    0
    I'm not surprised by the 25% Duty Cycle, cause I can use other speed than 25,
    51, 76 or 100% by defaut in fixed fan.
    It's a shame for T_Slope, cause it's the only way I found for a correct fan speed control,
    but I'll follow your recommendation.
    I'm not at home this afternoon, but I'll make PWM controller test tomorrow.
    Thank for the support... :)
     
  8. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,300
    Likes Received:
    2,602
    I've just came returned to home, here are promised command line switches for zapping PWM hysteresis from your fan controller:

    RivaTuner.exe /ar804,FF81FFFF

    After that the formula should give you expected result. Please take a note that BIOS reprograms PWM hysteresis after each reboot, so the command line affects the system only till reboot too. So you may place a shotcut to these switches and use it after each reboot. It can be easily done using RT's built-in launcher and scheduler.
     
  9. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,300
    Likes Received:
    2,602
    Does it apply to your default Duty_cycle_100% value (135)? I was under impression that those who see that gradient fixed fan speed adjustment suffer from low Duty_cycle_100% only.
    OMG... The controller is also trying to apply PWM hysteresis to manual fan speed override mode? AMD engineers keep surprizing me more and more.
     
  10. enessel

    enessel Master Guru

    Messages:
    720
    Likes Received:
    0
    GPU:
    Radeon R9 280
    Unwinder, can anyone with a 3870 use that command line switch or just Arthut H.?
     

  11. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,300
    Likes Received:
    2,602
    Anyone can use it. This command sets fan controller's PWM hysteresis to 0 on any RV670 based display adapter.
     
  12. enessel

    enessel Master Guru

    Messages:
    720
    Likes Received:
    0
    GPU:
    Radeon R9 280
    Ok thanks for all your help. It's pretty sad that all this work has to go into getting a properly controlled fan!
     
  13. enessel

    enessel Master Guru

    Messages:
    720
    Likes Received:
    0
    GPU:
    Radeon R9 280
    The switch works, but I don't like how the reference fan duty cycle changes as much as the core temp. It doesn't seem right to have it that way. I'll just stick to my fixed fan profiles.
     
  14. Arthur H.

    Arthur H. Member

    Messages:
    10
    Likes Received:
    0
    Unwinder: very great work, the command line switches work perfectly for me:
    -In fixed mode, I can change now by 1% step;
    -In PWM mode=3 with Thermal tab, work fine too;
    -in PWM mode=2, fan duty cycle follow temperature almost 1-to-1 now, and it's the best:

    Switch "RivaTuner.exe /ar804,FF81FFFF": apply with Scheduler at windows Startup;
    PWM mode: 2;
    Duty Cycle 100%: 135;
    Duty Cycle spinout: 0;
    Duty Cycle min: 0;
    T Min: 0;
    T Max: 101;
    T Slope: 22;
    T Hysteresis: 0;


    [​IMG]

    Yes, with Duty_cycle_100% value (135); a blame for AMD (or Club3D?) for the fan speed controller on HD3870
     
  15. Arthur H.

    Arthur H. Member

    Messages:
    10
    Likes Received:
    0
    I have a last request: as you know, HD3870 have a "low profile" wich make that GPU Frequency is at 300 MHz/1,24V in 2D;
    If I overclock my card at 830 MHz with RT and restore clock frequency by "Defaults" click, it's work fine:

    [​IMG]

    But I overclock my card only when I play Crysis for now, so I use the launcher;
    It's work fine too, but when I stop to play and return on Windows,
    GPU Frequency is at 777MHZ, not 300MHz:

    [​IMG]

    I don't know if it's possible to fix that, or perhaps it's me whos make an error....
     

  16. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,300
    Likes Received:
    2,602
    Fine, after getting 1-to-1 adjustment you can optimize fan control by adjusting "Duty cycle min" to move "Reference fan duty cycle" graph up/down or by adjusting "T slope" to increase/decrease curve slope.
    Aslo, I've already added PWM hysteresis and PWM ramp (both are explained here) to the list of parameters editable via RivaTuner's fan control tab. If you wish to experiemnt with new version allowing editing these parametes - give me your email via PM.
     
  17. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,300
    Likes Received:
    2,602
    No way to avoid it. That's just one more AMD driver's limitation. There are two independent clock adjustment interfaces in the Catalyst: the first one is dedicated for CCC and it supports PowerPlay but doesn't support o/c without 8-pin power connector on 2900 series and have really low allowed overclocking range. The second one allows overclocking without clock limits and without 8-pin power connector restrictions, but it requires PowerPlay to be disabled for proper functionality. I definitively choose the second one due to lack of limits.
     
  18. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,300
    Likes Received:
    2,602
  19. Arthur H.

    Arthur H. Member

    Messages:
    10
    Likes Received:
    0
    ...thank for the info; I'll update my thread, but it seem that
    most of XtremeSystems guys are NVidia (8800) owners. :)
     
  20. zoleman

    zoleman New Member

    Messages:
    9
    Likes Received:
    0
    GPU:
    Sapphire HD3870 512Mb
    Staying fairly on topic but straying a bit from this path. Is there an explanation for fixed duty cycles dropping on their own for no apparent reason?
    I have mine set to 100% and sometimes (way too often actually) it drops down to about 25-30% on its own.
    I usually set the fan to 0% and back to 100% when this happens, but it is realy annoying to do this every 30min or so.

    Is there a logical explanation and a way to fix this problem?
     

Share This Page