diff options
author | Keith Packard <keithp@keithp.com> | 2008-10-14 22:55:10 -0400 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2008-10-17 17:10:53 -0400 |
commit | ba1eb1d825fdef40f69871caf8e5842d00efbbc5 (patch) | |
tree | 73b45769022788532ee169c270e2792a229b1a40 /drivers/gpu/drm/drm_agpsupport.c | |
parent | 50aa253d820ad4577e2231202f2c8fd89f9dc4e6 (diff) |
i915: Map status page cached for chips with GTT-based HWS location.
This should improve performance by avoiding uncached reads by the CPU (the
point of having a status page), and may improve stability. This patch only
affects G33, GM45 and G45 chips as those are the only ones using GTT-based
HWS mappings.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_agpsupport.c')
-rw-r--r-- | drivers/gpu/drm/drm_agpsupport.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/drm_agpsupport.c b/drivers/gpu/drm/drm_agpsupport.c index 2639be2db9e5..3d33b8252b58 100644 --- a/drivers/gpu/drm/drm_agpsupport.c +++ b/drivers/gpu/drm/drm_agpsupport.c | |||
@@ -464,7 +464,8 @@ DRM_AGP_MEM * | |||
464 | drm_agp_bind_pages(struct drm_device *dev, | 464 | drm_agp_bind_pages(struct drm_device *dev, |
465 | struct page **pages, | 465 | struct page **pages, |
466 | unsigned long num_pages, | 466 | unsigned long num_pages, |
467 | uint32_t gtt_offset) | 467 | uint32_t gtt_offset, |
468 | u32 type) | ||
468 | { | 469 | { |
469 | DRM_AGP_MEM *mem; | 470 | DRM_AGP_MEM *mem; |
470 | int ret, i; | 471 | int ret, i; |
@@ -472,7 +473,7 @@ drm_agp_bind_pages(struct drm_device *dev, | |||
472 | DRM_DEBUG("\n"); | 473 | DRM_DEBUG("\n"); |
473 | 474 | ||
474 | mem = drm_agp_allocate_memory(dev->agp->bridge, num_pages, | 475 | mem = drm_agp_allocate_memory(dev->agp->bridge, num_pages, |
475 | AGP_USER_MEMORY); | 476 | type); |
476 | if (mem == NULL) { | 477 | if (mem == NULL) { |
477 | DRM_ERROR("Failed to allocate memory for %ld pages\n", | 478 | DRM_ERROR("Failed to allocate memory for %ld pages\n", |
478 | num_pages); | 479 | num_pages); |