aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_agpsupport.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2008-10-14 22:55:10 -0400
committerDave Airlie <airlied@linux.ie>2008-10-17 17:10:53 -0400
commitba1eb1d825fdef40f69871caf8e5842d00efbbc5 (patch)
tree73b45769022788532ee169c270e2792a229b1a40 /drivers/gpu/drm/drm_agpsupport.c
parent50aa253d820ad4577e2231202f2c8fd89f9dc4e6 (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.c5
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 *
464drm_agp_bind_pages(struct drm_device *dev, 464drm_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);