Hi Matt, > > The GT has its own properties and in sysfs they should be grouped > > in the 'gt/' directory. > > > > Create a 'gt/' directory in sysfs which will contain gt0...gtN > > directories related to each tile configured in the GPU. Move the > > power management files inside those directories. > > > > The previous power management files are kept in their original > > root directory to avoid breaking the ABI. They point to the tile > > '0' and a warning message is printed whenever accessed to. The > > deprecated interface needs for the CONFIG_SYSFS_DEPRECATED_V2 > > flag in order to be generated. > > > > The new sysfs structure will have a similar layout for the 4 tile > > case: > > > > /sys/.../card0 > > ├── gt > > │ ├── gt0 > > │ │ ├── id > > │ │ ├── rc6_enable > > │ │ ├── rc6_residency_ms > > │ │ ├── rps_act_freq_mhz > > │ │ ├── rps_boost_freq_mhz > > │ │ ├── rps_cur_freq_mhz > > │ │ ├── rps_max_freq_mhz > > │ │ ├── rps_min_freq_mhz > > │ │ ├── rps_RP0_freq_mhz > > │ │ ├── rps_RP1_freq_mhz > > │ │ └── rps_RPn_freq_mhz > > . . > > . . > > . . > > │ └── gt3 > > │ ├── id > > │ ├── rc6_enable > > │ ├── rc6_residency_ms > > │ ├── rps_act_freq_mhz > > │ ├── rps_boost_freq_mhz > > │ ├── rps_cur_freq_mhz > > │ ├── rps_max_freq_mhz > > │ ├── rps_min_freq_mhz > > │ ├── rps_RP0_freq_mhz > > │ ├── rps_RP1_freq_mhz > > │ └── rps_RPn_freq_mhz > > ├── gt_act_freq_mhz -+ > > ├── gt_boost_freq_mhz | > > ├── gt_cur_freq_mhz | Original interface > > ├── gt_max_freq_mhz +─-> kept as existing ABI; > > ├── gt_min_freq_mhz | it points to gt0/ > > ├── gt_RP0_freq_mhz | > > └── gt_RP1_freq_mhz | > > └── gt_RPn_freq_mhz -+ > > > > Signed-off-by: Andi Shyti <andi.shyti@xxxxxxxxxxxxxxx> > > Signed-off-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx> > > Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> > > Cc: Sujaritha Sundaresan <sujaritha.sundaresan@xxxxxxxxx> > > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > > Even though this is a pretty natural extension of sysfs entries we > already have in the driver today, it's still technically "new ABI" so I > think we need a link to the IGT changes that exercise it to make sure > it's working as expected. this patch should unblock the level0 sysman for DG1 and DG2, currently being upstreamed, and this will be handled by Sujaritha in the next days. Besides there a patch that is adding an hwmon interface to i915 that depends on this one. > Likewise we need a link to the real userspace consumer that is expecting > to use this (does some of the Level0 stuff use these knobs?). If this > is one of those really rare cases where we never expect any specific > userspace software to use the ABI, but the intent is instead to let > sysadmins turn the knobs manually with custom shell scripts or whatever, > that would need to be justified in the commit message too. I think with the first multitile platform coming (next series) this will be essential to control the power of multitile devices, either manually or with tools, otherwise we will be able only to access tile 0. I can add a note in the commit message. Andi