2007-09-05 07:14:18

by Zhenyu Wang

[permalink] [raw]
Subject: [PATCH] [AGPGART] intel_agp: fix GTT map size on G33


Subject: [PATCH] [AGPGART] 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 <[email protected]>
---
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 20d50d0..6a5c555 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)
struct aper_size_info_fixed *size;
int num_entries;
u32 temp, temp2;
+ int gtt_map_size = 256 * 1024;

size = agp_bridge->current_size;
page_order = size->page_order;
@@ -928,7 +929,9 @@ static int intel_i915_create_gatt_table(struct agp_bridge_data *bridge)
pci_read_config_dword(intel_private.pcidev, I915_MMADDR, &temp);
pci_read_config_dword(intel_private.pcidev, I915_PTEADDR,&temp2);

- intel_private.gtt = ioremap(temp2, 256 * 1024);
+ if (IS_G33)
+ gtt_map_size = 1024 * 1024; /* 1M on G33 */
+ intel_private.gtt = ioremap(temp2, gtt_map_size);
if (!intel_private.gtt)
return -ENOMEM;

--
1.5.2.3


2007-09-11 05:15:43

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] [AGPGART] intel_agp: fix GTT map size on G33

On Wed, 5 Sep 2007 15:13:07 +0800 Zhenyu Wang <[email protected]> wrote:

>
> Subject: [PATCH] [AGPGART] 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 <[email protected]>
> ---
> 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 20d50d0..6a5c555 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)
> struct aper_size_info_fixed *size;
> int num_entries;
> u32 temp, temp2;
> + int gtt_map_size = 256 * 1024;
>
> size = agp_bridge->current_size;
> page_order = size->page_order;
> @@ -928,7 +929,9 @@ static int intel_i915_create_gatt_table(struct agp_bridge_data *bridge)
> pci_read_config_dword(intel_private.pcidev, I915_MMADDR, &temp);
> pci_read_config_dword(intel_private.pcidev, I915_PTEADDR,&temp2);
>
> - intel_private.gtt = ioremap(temp2, 256 * 1024);
> + if (IS_G33)
> + gtt_map_size = 1024 * 1024; /* 1M on G33 */
> + intel_private.gtt = ioremap(temp2, gtt_map_size);
> if (!intel_private.gtt)
> return -ENOMEM;
>

Ditto. What happens if this patch isn't in 2.6.23? And is it applicable to
and needed in 2.6.22?

2007-09-11 08:09:41

by Dave Airlie

[permalink] [raw]
Subject: Re: [PATCH] [AGPGART] intel_agp: fix GTT map size on G33

>> Subject: [PATCH] [AGPGART] 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 <[email protected]>

Acked-by: Dave Airlie <[email protected]>

> Ditto. What happens if this patch isn't in 2.6.23? And is it applicable to
> and needed in 2.6.22?

It's support for new hardware enablement, so maybe stable requires it, but
I'm not sure how widespread this hw is yet..

Dave.