diff options
author | Zhenyu Wang <zhenyu.z.wang@intel.com> | 2007-09-11 18:23:58 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-09-11 20:21:20 -0400 |
commit | 4740622c5c805d88c63a50747a2d05537dd233cf (patch) | |
tree | 2de8aa3ba9cc32150e989bd099573f9005cdc13a /drivers/char/agp/intel-agp.c | |
parent | f443675affe3f16dd428e46f0f7fd3f4d703eeab (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/agp/intel-agp.c')
-rw-r--r-- | drivers/char/agp/intel-agp.c | 5 |
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 | ||