diff options
author | Dave Airlie <airlied@linux.ie> | 2006-11-06 08:03:18 +1100 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2006-11-06 08:03:18 +1100 |
commit | 1e90b7ee8cefff59b70e285557aa7920dea77e81 (patch) | |
tree | 2132e5dcee9e5ef9693742100953063cd6423b3a /linux-core/i915_drv.c | |
parent | 0c34d0f31a691bb649ed69f19e93fc1a723aa1d4 (diff) | |
parent | 7b6cd95bb6c41653aed78952da0a461bd4791413 (diff) |
Merge branch 'master' into nouveau-1
Conflicts:
linux-core/Makefile.kernel
Diffstat (limited to 'linux-core/i915_drv.c')
-rw-r--r-- | linux-core/i915_drv.c | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/linux-core/i915_drv.c b/linux-core/i915_drv.c index 209500be..2c5b43d0 100644 --- a/linux-core/i915_drv.c +++ b/linux-core/i915_drv.c @@ -38,6 +38,27 @@ static struct pci_device_id pciidlist[] = { i915_PCI_IDS }; +#ifdef I915_HAVE_FENCE +static drm_fence_driver_t i915_fence_driver = { + .no_types = 2, + .wrap_diff = (1 << 30), + .flush_diff = (1 << 29), + .sequence_mask = 0xffffffffU, + .lazy_capable = 1, + .emit = i915_fence_emit_sequence, + .poke_flush = i915_poke_flush, +}; +#endif +#ifdef I915_HAVE_BUFFER +static drm_bo_driver_t i915_bo_driver = { + .iomap = {NULL, NULL}, + .cached = {1, 1}, + .create_ttm_backend_entry = i915_create_ttm_backend_entry, + .fence_type = i915_fence_types, + .invalidate_caches = i915_invalidate_caches +}; +#endif + static int probe(struct pci_dev *pdev, const struct pci_device_id *ent); static struct drm_driver driver = { /* don't use mtrr's here, the Xserver or user space app should @@ -79,7 +100,12 @@ static struct drm_driver driver = { .probe = probe, .remove = __devexit_p(drm_cleanup_pci), }, - +#ifdef I915_HAVE_FENCE + .fence_driver = &i915_fence_driver, +#endif +#ifdef I915_HAVE_BUFFER + .bo_driver = &i915_bo_driver, +#endif .name = DRIVER_NAME, .desc = DRIVER_DESC, .date = DRIVER_DATE, |