• Andi Shyti's avatar
    drm/i915/gt: Create per-tile RPS sysfs interfaces · 56a709cf
    Andi Shyti authored
    Now tiles have their own sysfs interfaces under the gt/
    directory. Because RPS is a property that can be configured on a
    tile basis, then each tile should have its own interface
    
    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
             .   .
             .   .
             .   .
             │   └── gtN
             │       ├── 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   -+
    
    The existing interfaces have been kept in their original location
    to preserve the existing ABI. They act on all the GTs: when
    writing they loop through all the GTs and write the information
    on each interface. When reading they provide the average value
    from all the GTs.
    
    This patch is not really adding exposing new interfaces (new
    ABI) other than adapting the existing one to more tiles. In any
    case this new set of interfaces will be a basic tool for system
    managers and administrators when using i915.
    Signed-off-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
    Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Sujaritha Sundaresan <sujaritha.sundaresan@intel.com>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Reviewed-by: default avatarAndrzej Hajda <andrzej.hajda@intel.com>
    Signed-off-by: default avatarMatthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220318233938.149744-7-andi.shyti@linux.intel.com
    56a709cf
i915_sysfs.c 6.87 KB