mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-12 10:26:12 +00:00
intel_stepping: Include clocks in summary
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
592b1a51ff
commit
d75f2632c1
@ -32,6 +32,137 @@
|
|||||||
#include <pciaccess.h>
|
#include <pciaccess.h>
|
||||||
#include <err.h>
|
#include <err.h>
|
||||||
#include "intel_chipset.h"
|
#include "intel_chipset.h"
|
||||||
|
#include "intel_gpu_tools.h"
|
||||||
|
|
||||||
|
static void
|
||||||
|
print_clock(char *name, int clock) {
|
||||||
|
if (clock == -1)
|
||||||
|
printf("%s clock: unknown", name);
|
||||||
|
else
|
||||||
|
printf("%s clock: %d Mhz", name, clock);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
print_clock_info(struct pci_device *pci_dev)
|
||||||
|
{
|
||||||
|
uint32_t devid = pci_dev->device_id;
|
||||||
|
uint16_t gcfgc;
|
||||||
|
|
||||||
|
if (IS_GM45(devid)) {
|
||||||
|
int core_clock = -1;
|
||||||
|
|
||||||
|
pci_device_cfg_read_u16(pci_dev, &gcfgc, I915_GCFGC);
|
||||||
|
|
||||||
|
switch (gcfgc & 0xf) {
|
||||||
|
case 8:
|
||||||
|
core_clock = 266;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
core_clock = 320;
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
|
core_clock = 400;
|
||||||
|
break;
|
||||||
|
case 13:
|
||||||
|
core_clock = 533;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
print_clock("core", core_clock);
|
||||||
|
} else if (IS_965(devid) && IS_MOBILE(devid)) {
|
||||||
|
int render_clock = -1, sampler_clock = -1;
|
||||||
|
|
||||||
|
pci_device_cfg_read_u16(pci_dev, &gcfgc, I915_GCFGC);
|
||||||
|
|
||||||
|
switch (gcfgc & 0xf) {
|
||||||
|
case 2:
|
||||||
|
render_clock = 250; sampler_clock = 267;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
render_clock = 320; sampler_clock = 333;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
render_clock = 400; sampler_clock = 444;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
render_clock = 500; sampler_clock = 533;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
print_clock("render", render_clock);
|
||||||
|
printf(" ");
|
||||||
|
print_clock("sampler", sampler_clock);
|
||||||
|
} else if (IS_945(devid) && IS_MOBILE(devid)) {
|
||||||
|
int render_clock = -1, display_clock = -1;
|
||||||
|
|
||||||
|
pci_device_cfg_read_u16(pci_dev, &gcfgc, I915_GCFGC);
|
||||||
|
|
||||||
|
switch (gcfgc & 0x7) {
|
||||||
|
case 0:
|
||||||
|
render_clock = 166;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
render_clock = 200;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
render_clock = 250;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
render_clock = 400;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (gcfgc & 0x70) {
|
||||||
|
case 0:
|
||||||
|
display_clock = 200;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
display_clock = 320;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (gcfgc & (1 << 7))
|
||||||
|
display_clock = 133;
|
||||||
|
|
||||||
|
print_clock("render", render_clock);
|
||||||
|
printf(" ");
|
||||||
|
print_clock("display", display_clock);
|
||||||
|
} else if (IS_915(devid) && IS_MOBILE(devid)) {
|
||||||
|
int render_clock = -1, display_clock = -1;
|
||||||
|
|
||||||
|
pci_device_cfg_read_u16(pci_dev, &gcfgc, I915_GCFGC);
|
||||||
|
|
||||||
|
switch (gcfgc & 0x7) {
|
||||||
|
case 0:
|
||||||
|
render_clock = 160;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
render_clock = 190;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
render_clock = 333;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (gcfgc & (1 << 13))
|
||||||
|
render_clock = 133;
|
||||||
|
|
||||||
|
switch (gcfgc & 0x70) {
|
||||||
|
case 0:
|
||||||
|
display_clock = 190;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
display_clock = 333;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (gcfgc & (1 << 7))
|
||||||
|
display_clock = 133;
|
||||||
|
|
||||||
|
print_clock("render", render_clock);
|
||||||
|
printf(" ");
|
||||||
|
print_clock("display", display_clock);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
@ -156,5 +287,8 @@ int main(int argc, char **argv)
|
|||||||
dev->device_id,
|
dev->device_id,
|
||||||
stepping,
|
stepping,
|
||||||
step_desc);
|
step_desc);
|
||||||
|
|
||||||
|
print_clock_info(dev);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user