lib/drmtest: add gem_mappable_aperture_size

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Daniel Vetter 2012-01-15 17:40:41 +01:00
parent 7f944349ef
commit 7b14b093d4
2 changed files with 17 additions and 1 deletions

View File

@ -32,10 +32,12 @@
#include <string.h>
#include <sys/mman.h>
#include <signal.h>
#include <pciaccess.h>
#include "drmtest.h"
#include "i915_drm.h"
#include "intel_chipset.h"
#include "intel_gpu_tools.h"
/* This file contains a bunch of wrapper functions to directly use gem ioctls.
* Mostly useful to write kernel tests. */
@ -58,7 +60,6 @@ is_intel(int fd)
/* Ensure the gpu is idle by launching a nop execbuf and stalling for it. */
void gem_quiescent_gpu(int fd)
{
#define MI_BATCH_BUFFER_END (0xA<<23)
uint32_t batch[2] = {MI_BATCH_BUFFER_END, 0};
uint32_t handle;
struct drm_i915_gem_execbuffer2 execbuf;
@ -274,6 +275,20 @@ uint64_t gem_aperture_size(int fd)
return aperture.aper_size;
}
uint64_t gem_mappable_aperture_size(void)
{
struct pci_device *pci_dev;
int bar;
pci_dev = intel_get_pci_device();
if (intel_gen(pci_dev->device_id) < 3)
bar = 0;
else
bar = 2;
return pci_dev->regions[bar].size;
}
static pid_t signal_helper = -1;
long long int sig_stat;
static void signal_helper_process(pid_t pid)

View File

@ -48,6 +48,7 @@ void gem_sync(int fd, uint32_t handle);
uint32_t gem_create(int fd, int size);
void *gem_mmap(int fd, uint32_t handle, int size, int prot);
uint64_t gem_aperture_size(int fd);
uint64_t gem_mappable_aperture_size(void);
void drmtest_fork_signal_helper(void);
void drmtest_stop_signal_helper(void);