~radeon-profile/radeon-profile/+git/radeon-profile-master:navi_fixes

Last commit made on 2022-02-24
Get this branch:
git clone -b navi_fixes https://git.launchpad.net/~radeon-profile/radeon-profile/+git/radeon-profile-master

Branch merges

Branch information

Recent commits

0d632ba... by Patrick Michaelis <email address hidden>

fix incomplete bounds checks in parseOcTable()

When parsing the OD_RANGE or volt/freq pairs, three colums are expected
in those tables. However, bounds checks only tested for the case when
only one column (i.e. a new table header) is found.

Properly abort parsing when less than 3 columns are found and ignore
those lines.

ff1facc... by Patrick Michaelis <email address hidden>

ignore empty sclk_table instead of segfaulting when building OC tab

This is a temporary workaround to make the incomplete pp_od_clk_voltage parsing logic for navi2x work without segfaulting, when no voltage steps information is available.

aefd56a... by Patrick Michaelis <email address hidden>

fix segfault when parsing pp_od_clk_voltage for navi2x based cards

Preliminary fixes to support navi2x cards. This is the first step to get radeon-profile functional with navi2x based cards, by working around pp_od_clk_voltage file without FreqVolt pair tables, but OD_SCLK/OD_MCLK ables like vega20.
Proper voltage control may still require support for the new OD_VDDGFX_OFFSET value that is not implemented yet. OC features might be missing, but startup without segfaulting should work.

1e744e1... by Patrick Michaelis <email address hidden>

add some more verbose debug output when parsing pp_od_clk_voltage

Parsing tables in pp_od_clk_voltage is somewhat fragile in the current implementation, as assumptions made on the contents of that file tend to not apply with newer cards. This may lead to segfaults that are easier to debug when users can submit debug output that somewhat shows where the code breaks.

295d189... by Patrick Michaelis <email address hidden>

allow selecting temperature sensor in fan profiles

Adds a new combo box to the fan profile tab to allow the user to select
a temperature sensor as data source for this fan curve.

radeon_profile::adjustFanSpeed() will now read the current temperature
of the temperature sensor selected in the currently active fan profile.

This setting is a per fan profile setting. It is stored in the
newly added FanProfile struct and written to and read from the xml config file
for each fan profile. By default, the edge temperature sensor is
selected. This also applies when an older config file is read without
the new config attribute.

4b3b94e... by Patrick Michaelis <email address hidden>

Make hysteresis a per fan profile setting

Hysteresis was a global setting, applied independently of fan profile.
This is somewhat confusing, as one could expect it to be an aspect of a
fan profile, since one sets it in the fan profile tab.

This adds a new FanProfile struct that can store additional settings
besides the temperature steps and adds hysteresis as one of those
settings.

The global hysteresis value stored in older radeon-profile-settings will
still be read and applied to all loaded profiles. Once new config files
are written, this values is moved to the xml file and stored as attributes
of each fan profile respectively.

1e3f023... by Patrick Michaelis <email address hidden>

display critical and emergency temperature limits in GPU data list

add a third column, display crit and emergency constants for temp sensors, if available.

e83166e... by Patrick Michaelis <email address hidden>

fix typo

70d5d28... by Patrick Michaelis <email address hidden>

Include all temperature sensor readings when logging on exec

8c2f779... by Patrick Michaelis <email address hidden>

add support for multiple sensors to events tab

allow user to select the temperature sensor to monitor for each
TEMPERATURE type event.