summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-04-08 11:56:57 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-04-08 12:17:31 +0100
commit95374225e865da3a30153f73e8bb536700d15459 (patch)
treeab8797a6f255a0d76e5d8e7439b8fe4a9b34ca90 /tools
parentcd64e193299be4b9733a5e804cedd99e2072830f (diff)
Enable compilation on non-Intel, non-DRM systems.
A few of the tools can be performed post-mortem from a different system, so it is useful to be able to compile those tools on those foreign systems. Obviously, any program to interact with the PCI device or talk to GEM will fail on a non-Intel system. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tools')
-rw-r--r--tools/intel_audio_dump.c4
-rw-r--r--tools/intel_error_decode.c14
-rw-r--r--tools/intel_gpu_dump.c16
-rw-r--r--tools/intel_gpu_time.c2
-rw-r--r--tools/intel_gpu_top.c14
-rw-r--r--tools/intel_gtt.c6
-rw-r--r--tools/intel_lid.c2
-rw-r--r--tools/intel_reg_dumper.c9
-rw-r--r--tools/intel_reg_read.c2
-rw-r--r--tools/intel_reg_snapshot.c6
-rw-r--r--tools/intel_reg_write.c2
11 files changed, 54 insertions, 23 deletions
diff --git a/tools/intel_audio_dump.c b/tools/intel_audio_dump.c
index 704ad235..f371b942 100644
--- a/tools/intel_audio_dump.c
+++ b/tools/intel_audio_dump.c
@@ -38,6 +38,7 @@
#include <fcntl.h>
#include <getopt.h>
#include <arpa/inet.h>
+
#include "intel_gpu_tools.h"
#define AUD_CONFIG 0x62000
@@ -187,7 +188,8 @@ int main(int argc, char **argv)
int i;
do_self_tests();
- intel_get_mmio();
+
+ intel_get_mmio(intel_get_pci_device());
/* printf("%-18s %8s %s\n\n", "register name", "raw value", "description"); */
diff --git a/tools/intel_error_decode.c b/tools/intel_error_decode.c
index d4bf8bcf..af205dc3 100644
--- a/tools/intel_error_decode.c
+++ b/tools/intel_error_decode.c
@@ -55,9 +55,15 @@
#include "instdone.h"
static void
-print_instdone (unsigned int instdone, unsigned int instdone1)
+print_instdone (uint32_t devid, unsigned int instdone, unsigned int instdone1)
{
int i;
+ static int once;
+
+ if (!once) {
+ init_instdone_definitions(devid);
+ once = 1;
+ }
for (i = 0; i < num_instdone_bits; i++) {
int busy = 0;
@@ -190,11 +196,11 @@ read_data_file (const char * filename)
matched = sscanf (line, " INSTDONE: 0x%08x\n", &reg);
if (matched)
- print_instdone (reg, -1);
+ print_instdone (devid, reg, -1);
matched = sscanf (line, " INSTDONE1: 0x%08x\n", &reg);
if (matched)
- print_instdone (-1, reg);
+ print_instdone (devid, -1, reg);
continue;
}
@@ -247,8 +253,6 @@ main (int argc, char *argv[])
return 1;
}
- init_instdone_definitions();
-
if (argc == 1) {
path = "/debug/dri/0";
err = stat (path, &st);
diff --git a/tools/intel_gpu_dump.c b/tools/intel_gpu_dump.c
index 9fd3f123..a6d2acb4 100644
--- a/tools/intel_gpu_dump.c
+++ b/tools/intel_gpu_dump.c
@@ -92,7 +92,7 @@ print_instdone (unsigned int instdone, unsigned int instdone1)
* exit()).
*/
static void
-read_data_file (const char * filename, int is_batch)
+read_data_file (uint32_t devid, const char * filename, int is_batch)
{
FILE *file;
uint32_t *data = NULL;
@@ -250,7 +250,9 @@ main (int argc, char *argv[])
const char *path;
struct stat st;
int err;
+ uint32_t devid;
uint32_t instdone, instdone1 = 0;
+ struct pci_device *pci_dev;
if (argc > 2) {
fprintf (stderr,
@@ -271,8 +273,10 @@ main (int argc, char *argv[])
return 1;
}
- intel_get_mmio();
- init_instdone_definitions();
+ pci_dev = intel_get_pci_device();
+ devid = pci_dev->device_id;
+ intel_get_mmio(pci_dev);
+ init_instdone_definitions(devid);
if (argc == 1) {
path = "/debug/dri/0";
@@ -352,7 +356,7 @@ main (int argc, char *argv[])
asprintf (&filename, "%s/i915_batchbuffers", path);
intel_decode_context_set_head_tail(acthd, 0xffffffff);
- read_data_file (filename, 1);
+ read_data_file (devid, filename, 1);
free (filename);
asprintf (&filename, "%s/i915_ringbuffer_data", path);
@@ -360,10 +364,10 @@ main (int argc, char *argv[])
printf("Ringbuffer: ");
printf("Reminder: head pointer is GPU read, tail pointer is CPU "
"write\n");
- read_data_file (filename, 0);
+ read_data_file (devid, filename, 0);
free (filename);
} else {
- read_data_file (path, 1);
+ read_data_file (devid, path, 1);
}
return 0;
diff --git a/tools/intel_gpu_time.c b/tools/intel_gpu_time.c
index b36bf389..c30b84d2 100644
--- a/tools/intel_gpu_time.c
+++ b/tools/intel_gpu_time.c
@@ -65,7 +65,7 @@ int main(int argc, char **argv)
static struct rusage rusage;
int status;
- intel_get_mmio();
+ intel_get_mmio(intel_get_pci_device());
if (argc == 1) {
fprintf(stderr, "usage: %s cmd [args...]\n", argv[0]);
diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c
index 3ddbd387..b82a9bd8 100644
--- a/tools/intel_gpu_top.c
+++ b/tools/intel_gpu_top.c
@@ -137,8 +137,9 @@ print_clock(char *name, int clock) {
}
static int
-print_clock_info(void)
+print_clock_info(struct pci_device *pci_dev)
{
+ uint32_t devid = pci_dev->device_id;
uint16_t gcfgc;
if (IS_GM45(devid)) {
@@ -284,11 +285,16 @@ print_percentage_bar(float percent, int cur_line_len)
int main(int argc, char **argv)
{
- intel_get_mmio();
+ struct pci_device *pci_dev;
uint32_t ring_size;
+ uint32_t devid;
int i;
- init_instdone_definitions();
+ pci_dev = intel_get_pci_device();
+ devid = pci_dev->device_id;
+ intel_get_mmio(pci_dev);
+ init_instdone_definitions(devid);
+
for (i = 0; i < num_instdone_bits; i++) {
top_bits[i].bit = &instdone_bits[i];
top_bits[i].count = 0;
@@ -362,7 +368,7 @@ int main(int argc, char **argv)
printf("%s", clear_screen);
- print_clock_info();
+ print_clock_info(pci_dev);
percent = ring_idle / SAMPLES_TO_PERCENT_RATIO;
len = printf("%30s: %3d%%: ", "ring idle", percent);
diff --git a/tools/intel_gtt.c b/tools/intel_gtt.c
index 2e71104c..2c1639cd 100644
--- a/tools/intel_gtt.c
+++ b/tools/intel_gtt.c
@@ -42,10 +42,14 @@
int main(int argc, char **argv)
{
+ struct pci_device *pci_dev;
int start, aper_size;
unsigned char *gtt;
+ uint32_t devid;
- intel_get_mmio();
+ pci_dev = intel_get_pci_device();
+ devid = pci_dev->device_id;
+ intel_get_mmio(pci_dev);
if (!IS_9XX(devid)) {
printf("Unsupported chipset for gtt dumper\n");
diff --git a/tools/intel_lid.c b/tools/intel_lid.c
index 71eedb29..908224ee 100644
--- a/tools/intel_lid.c
+++ b/tools/intel_lid.c
@@ -117,7 +117,7 @@ int main(int argc, char **argv)
{
int swf14, acpi_lid;
- intel_get_mmio();
+ intel_get_mmio(intel_get_pci_device());
while (1) {
swf14 = INREG(SWF14);
diff --git a/tools/intel_reg_dumper.c b/tools/intel_reg_dumper.c
index 8a9cf7a0..b1a7e47a 100644
--- a/tools/intel_reg_dumper.c
+++ b/tools/intel_reg_dumper.c
@@ -33,6 +33,8 @@
#include <err.h>
#include "intel_gpu_tools.h"
+static uint32_t devid;
+
#define DEBUGSTRING(func) static void func(char **result, int reg, uint32_t val)
DEBUGSTRING(i830_16bit_func)
@@ -1658,10 +1660,15 @@ intel_dump_regs(void)
int main(int argc, char** argv)
{
+ struct pci_device *pci_dev;
+
+ pci_dev = intel_get_pci_device();
+ devid = pci_dev->device_id; /* XXX not true when mapping! */
+
if (argc == 2)
intel_map_file(argv[1]);
else
- intel_get_mmio();
+ intel_get_mmio(pci_dev);
if (HAS_PCH_SPLIT(devid) || getenv("HAS_PCH_SPLIT"))
ironlake_dump_regs();
diff --git a/tools/intel_reg_read.c b/tools/intel_reg_read.c
index 9a7712fc..02599245 100644
--- a/tools/intel_reg_read.c
+++ b/tools/intel_reg_read.c
@@ -53,7 +53,7 @@ int main(int argc, char** argv)
exit(1);
}
- intel_get_mmio();
+ intel_get_mmio(intel_get_pci_device());
if (!strcmp(argv[1], "-f")) {
dump_range(0x00000, 0x00fff); /* VGA registers */
diff --git a/tools/intel_reg_snapshot.c b/tools/intel_reg_snapshot.c
index f8219280..fcc8b812 100644
--- a/tools/intel_reg_snapshot.c
+++ b/tools/intel_reg_snapshot.c
@@ -29,9 +29,13 @@
int main(int argc, char** argv)
{
+ struct pci_device *pci_dev;
+ uint32_t devid;
int mmio_bar;
- intel_get_mmio();
+ pci_dev = intel_get_pci_device();
+ devid = pci_dev->device_id;
+ intel_get_mmio(pci_dev);
if (IS_9XX(devid))
mmio_bar = 0;
diff --git a/tools/intel_reg_write.c b/tools/intel_reg_write.c
index 7bed0623..c8af9bbf 100644
--- a/tools/intel_reg_write.c
+++ b/tools/intel_reg_write.c
@@ -43,7 +43,7 @@ int main(int argc, char** argv)
exit(1);
}
- intel_get_mmio();
+ intel_get_mmio(intel_get_pci_device());
sscanf(argv[1], "0x%x", &reg);
sscanf(argv[2], "0x%x", &value);
ptr = (volatile uint32_t *)((volatile char *)mmio + reg);