aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorZhenyu Wang <zhenyu.z.wang@intel.com>2007-09-11 18:23:58 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-09-11 20:21:20 -0400
commit4740622c5c805d88c63a50747a2d05537dd233cf (patch)
tree2de8aa3ba9cc32150e989bd099573f9005cdc13a /drivers/char
parentf443675affe3f16dd428e46f0f7fd3f4d703eeab (diff)
intel_agp: fix GTT map size on G33
G33 has 1MB GTT table range. Fix GTT mapping in case like 512MB aperture size. Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com> Acked-by: Dave Airlie <airlied@linux.ie> Cc: Dave Jones <davej@codemonkey.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/agp/intel-agp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
index 581f9222a9d1..7c69bf259caa 100644
--- a/drivers/char/agp/intel-agp.c
+++ b/drivers/char/agp/intel-agp.c
@@ -919,6 +919,7 @@ static int intel_i915_create_gatt_table(struct agp_bridge_data *bridge)
919 struct aper_size_info_fixed *size; 919 struct aper_size_info_fixed *size;
920 int num_entries; 920 int num_entries;
921 u32 temp, temp2; 921 u32 temp, temp2;
922 int gtt_map_size = 256 * 1024;
922 923
923 size = agp_bridge->current_size; 924 size = agp_bridge->current_size;
924 page_order = size->page_order; 925 page_order = size->page_order;
@@ -928,7 +929,9 @@ static int intel_i915_create_gatt_table(struct agp_bridge_data *bridge)
928 pci_read_config_dword(intel_private.pcidev, I915_MMADDR, &temp); 929 pci_read_config_dword(intel_private.pcidev, I915_MMADDR, &temp);
929 pci_read_config_dword(intel_private.pcidev, I915_PTEADDR,&temp2); 930 pci_read_config_dword(intel_private.pcidev, I915_PTEADDR,&temp2);
930 931
931 intel_private.gtt = ioremap(temp2, 256 * 1024); 932 if (IS_G33)
933 gtt_map_size = 1024 * 1024; /* 1M on G33 */
934 intel_private.gtt = ioremap(temp2, gtt_map_size);
932 if (!intel_private.gtt) 935 if (!intel_private.gtt)
933 return -ENOMEM; 936 return -ENOMEM;
934 937