@@ -376,7 +376,6 @@ enum gfx_sysfs_idx {
376
376
};
377
377
378
378
struct gfx_sysfs_info {
379
- const char * path ;
380
379
FILE * fp ;
381
380
unsigned int val ;
382
381
unsigned long long val_ull ;
@@ -5766,10 +5765,7 @@ int snapshot_graphics(int idx)
5766
5765
{
5767
5766
int retval ;
5768
5767
5769
- if (gfx_info [idx ].fp == NULL )
5770
- gfx_info [idx ].fp = fopen_or_die (gfx_info [idx ].path , "r" );
5771
- else
5772
- rewind (gfx_info [idx ].fp );
5768
+ rewind (gfx_info [idx ].fp );
5773
5769
5774
5770
switch (idx ) {
5775
5771
case GFX_rc6 :
@@ -6474,14 +6470,19 @@ static void probe_intel_uncore_frequency(void)
6474
6470
probe_intel_uncore_frequency_legacy ();
6475
6471
}
6476
6472
6473
+ static void set_graphics_fp (char * path , int idx )
6474
+ {
6475
+ if (!access (path , R_OK ))
6476
+ gfx_info [idx ].fp = fopen_or_die (path , "r" );
6477
+ }
6478
+
6477
6479
static void probe_graphics (void )
6478
6480
{
6479
6481
/* Xe graphics sysfs knobs */
6480
6482
if (!access ("/sys/class/drm/card0/device/tile0/gt0/gtidle/idle_residency_ms" , R_OK )) {
6481
6483
FILE * fp ;
6482
6484
char buf [8 ];
6483
6485
bool gt0_is_gt ;
6484
- int idx ;
6485
6486
6486
6487
fp = fopen ("/sys/class/drm/card0/device/tile0/gt0/gtidle/name" , "r" );
6487
6488
if (!fp )
@@ -6500,81 +6501,62 @@ static void probe_graphics(void)
6500
6501
else
6501
6502
goto next ;
6502
6503
6503
- idx = gt0_is_gt ? GFX_rc6 : SAM_mc6 ;
6504
- gfx_info [idx ].path = "/sys/class/drm/card0/device/tile0/gt0/gtidle/idle_residency_ms" ;
6504
+ set_graphics_fp ("/sys/class/drm/card0/device/tile0/gt0/gtidle/idle_residency_ms" , gt0_is_gt ? GFX_rc6 : SAM_mc6 );
6505
6505
6506
- idx = gt0_is_gt ? GFX_MHz : SAM_MHz ;
6507
- if (!access ("/sys/class/drm/card0/device/tile0/gt0/freq0/cur_freq" , R_OK ))
6508
- gfx_info [idx ].path = "/sys/class/drm/card0/device/tile0/gt0/freq0/cur_freq" ;
6506
+ set_graphics_fp ("/sys/class/drm/card0/device/tile0/gt0/freq0/cur_freq" , gt0_is_gt ? GFX_MHz : SAM_MHz );
6509
6507
6510
- idx = gt0_is_gt ? GFX_ACTMHz : SAM_ACTMHz ;
6511
- if (!access ("/sys/class/drm/card0/device/tile0/gt0/freq0/act_freq" , R_OK ))
6512
- gfx_info [idx ].path = "/sys/class/drm/card0/device/tile0/gt0/freq0/act_freq" ;
6508
+ set_graphics_fp ("/sys/class/drm/card0/device/tile0/gt0/freq0/act_freq" , gt0_is_gt ? GFX_ACTMHz : SAM_ACTMHz );
6513
6509
6514
- idx = gt0_is_gt ? SAM_mc6 : GFX_rc6 ;
6515
- if (!access ("/sys/class/drm/card0/device/tile0/gt1/gtidle/idle_residency_ms" , R_OK ))
6516
- gfx_info [idx ].path = "/sys/class/drm/card0/device/tile0/gt1/gtidle/idle_residency_ms" ;
6510
+ set_graphics_fp ("/sys/class/drm/card0/device/tile0/gt1/gtidle/idle_residency_ms" , gt0_is_gt ? SAM_mc6 : GFX_rc6 );
6517
6511
6518
- idx = gt0_is_gt ? SAM_MHz : GFX_MHz ;
6519
- if (!access ("/sys/class/drm/card0/device/tile0/gt1/freq0/cur_freq" , R_OK ))
6520
- gfx_info [idx ].path = "/sys/class/drm/card0/device/tile0/gt1/freq0/cur_freq" ;
6512
+ set_graphics_fp ("/sys/class/drm/card0/device/tile0/gt1/freq0/cur_freq" , gt0_is_gt ? SAM_MHz : GFX_MHz );
6521
6513
6522
- idx = gt0_is_gt ? SAM_ACTMHz : GFX_ACTMHz ;
6523
- if (!access ("/sys/class/drm/card0/device/tile0/gt1/freq0/act_freq" , R_OK ))
6524
- gfx_info [idx ].path = "/sys/class/drm/card0/device/tile0/gt1/freq0/act_freq" ;
6514
+ set_graphics_fp ("/sys/class/drm/card0/device/tile0/gt1/freq0/act_freq" , gt0_is_gt ? SAM_ACTMHz : GFX_ACTMHz );
6525
6515
6526
6516
goto end ;
6527
6517
}
6528
6518
6529
6519
next :
6530
6520
/* New i915 graphics sysfs knobs */
6531
6521
if (!access ("/sys/class/drm/card0/gt/gt0/rc6_residency_ms" , R_OK )) {
6532
- gfx_info [ GFX_rc6 ]. path = "/sys/class/drm/card0/gt/gt0/rc6_residency_ms" ;
6522
+ set_graphics_fp ( "/sys/class/drm/card0/gt/gt0/rc6_residency_ms" , GFX_rc6 ) ;
6533
6523
6534
- if (!access ("/sys/class/drm/card0/gt/gt0/rps_cur_freq_mhz" , R_OK ))
6535
- gfx_info [GFX_MHz ].path = "/sys/class/drm/card0/gt/gt0/rps_cur_freq_mhz" ;
6524
+ set_graphics_fp ("/sys/class/drm/card0/gt/gt0/rps_cur_freq_mhz" , GFX_MHz );
6536
6525
6537
- if (!access ("/sys/class/drm/card0/gt/gt0/rps_act_freq_mhz" , R_OK ))
6538
- gfx_info [GFX_ACTMHz ].path = "/sys/class/drm/card0/gt/gt0/rps_act_freq_mhz" ;
6526
+ set_graphics_fp ("/sys/class/drm/card0/gt/gt0/rps_act_freq_mhz" , GFX_ACTMHz );
6539
6527
6540
- if (!access ("/sys/class/drm/card0/gt/gt1/rc6_residency_ms" , R_OK ))
6541
- gfx_info [SAM_mc6 ].path = "/sys/class/drm/card0/gt/gt1/rc6_residency_ms" ;
6528
+ set_graphics_fp ("/sys/class/drm/card0/gt/gt1/rc6_residency_ms" , SAM_mc6 );
6542
6529
6543
- if (!access ("/sys/class/drm/card0/gt/gt1/rps_cur_freq_mhz" , R_OK ))
6544
- gfx_info [SAM_MHz ].path = "/sys/class/drm/card0/gt/gt1/rps_cur_freq_mhz" ;
6530
+ set_graphics_fp ("/sys/class/drm/card0/gt/gt1/rps_cur_freq_mhz" , SAM_MHz );
6545
6531
6546
- if (!access ("/sys/class/drm/card0/gt/gt1/rps_act_freq_mhz" , R_OK ))
6547
- gfx_info [SAM_ACTMHz ].path = "/sys/class/drm/card0/gt/gt1/rps_act_freq_mhz" ;
6532
+ set_graphics_fp ("/sys/class/drm/card0/gt/gt1/rps_act_freq_mhz" , SAM_ACTMHz );
6548
6533
6549
6534
goto end ;
6550
6535
}
6551
6536
6552
6537
/* Fall back to traditional i915 graphics sysfs knobs */
6553
- if (!access ("/sys/class/drm/card0/power/rc6_residency_ms" , R_OK ))
6554
- gfx_info [GFX_rc6 ].path = "/sys/class/drm/card0/power/rc6_residency_ms" ;
6538
+ set_graphics_fp ("/sys/class/drm/card0/power/rc6_residency_ms" , GFX_rc6 );
6555
6539
6556
- if (!access ("/sys/class/drm/card0/gt_cur_freq_mhz" , R_OK ))
6557
- gfx_info [GFX_MHz ].path = "/sys/class/drm/card0/gt_cur_freq_mhz" ;
6558
- else if (!access ("/sys/class/graphics/fb0/device/drm/card0/gt_cur_freq_mhz" , R_OK ))
6559
- gfx_info [GFX_MHz ].path = "/sys/class/graphics/fb0/device/drm/card0/gt_cur_freq_mhz" ;
6540
+ set_graphics_fp ("/sys/class/drm/card0/gt_cur_freq_mhz" , GFX_MHz );
6541
+ if (!gfx_info [GFX_MHz ].fp )
6542
+ set_graphics_fp ("/sys/class/graphics/fb0/device/drm/card0/gt_cur_freq_mhz" , GFX_MHz );
6560
6543
6561
- if (!access ("/sys/class/drm/card0/gt_act_freq_mhz" , R_OK ))
6562
- gfx_info [GFX_ACTMHz ].path = "/sys/class/drm/card0/gt_act_freq_mhz" ;
6563
- else if (!access ("/sys/class/graphics/fb0/device/drm/card0/gt_act_freq_mhz" , R_OK ))
6564
- gfx_info [GFX_ACTMHz ].path = "/sys/class/graphics/fb0/device/drm/card0/gt_act_freq_mhz" ;
6544
+ set_graphics_fp ("/sys/class/drm/card0/gt_act_freq_mhz" , GFX_ACTMHz );
6545
+ if (!gfx_info [GFX_ACTMHz ].fp )
6546
+ set_graphics_fp ("/sys/class/graphics/fb0/device/drm/card0/gt_act_freq_mhz" , GFX_ACTMHz );
6565
6547
6566
6548
end :
6567
- if (gfx_info [GFX_rc6 ].path )
6549
+ if (gfx_info [GFX_rc6 ].fp )
6568
6550
BIC_PRESENT (BIC_GFX_rc6 );
6569
- if (gfx_info [GFX_MHz ].path )
6551
+ if (gfx_info [GFX_MHz ].fp )
6570
6552
BIC_PRESENT (BIC_GFXMHz );
6571
- if (gfx_info [GFX_ACTMHz ].path )
6553
+ if (gfx_info [GFX_ACTMHz ].fp )
6572
6554
BIC_PRESENT (BIC_GFXACTMHz );
6573
- if (gfx_info [SAM_mc6 ].path )
6555
+ if (gfx_info [SAM_mc6 ].fp )
6574
6556
BIC_PRESENT (BIC_SAM_mc6 );
6575
- if (gfx_info [SAM_MHz ].path )
6557
+ if (gfx_info [SAM_MHz ].fp )
6576
6558
BIC_PRESENT (BIC_SAMMHz );
6577
- if (gfx_info [SAM_ACTMHz ].path )
6559
+ if (gfx_info [SAM_ACTMHz ].fp )
6578
6560
BIC_PRESENT (BIC_SAMACTMHz );
6579
6561
}
6580
6562
0 commit comments