agp: use scratch page on memory remove and at GATT creation V4
Convert most AGP chipset to use scratch page as default entries. This help avoiding GPU querying 0 address and trigger computer fault. With KMS and memory manager we bind/unbind AGP memory constantly and it seems that some GPU are still doing AGP traffic even after GPU report being idle with the memory segment. Tested (radeon GPU KMS + Xorg + compiz + glxgears + quake3) on : - SIS 1039:0001 & 1039:0003 - Intel 865 8086:2571 Compile tested for other bridges V2 enable scratch page on uninorth V3 fix unbound check in uninorth insert memory (Michel Dänzer) V4 rebase on top of drm-next branch with the lastest intel AGP changeset (stable should use version V3 of the patch) Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Michel Dänzer <michel@daenzer.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:

committed by
Dave Airlie

parent
2d2ef82275
commit
61cf059325
@@ -464,6 +464,7 @@ static const struct agp_bridge_driver intel_generic_driver = {
|
||||
.aperture_sizes = intel_generic_sizes,
|
||||
.size_type = U16_APER_SIZE,
|
||||
.num_aperture_sizes = 7,
|
||||
.needs_scratch_page = true,
|
||||
.configure = intel_configure,
|
||||
.fetch_size = intel_fetch_size,
|
||||
.cleanup = intel_cleanup,
|
||||
@@ -490,6 +491,7 @@ static const struct agp_bridge_driver intel_815_driver = {
|
||||
.aperture_sizes = intel_815_sizes,
|
||||
.size_type = U8_APER_SIZE,
|
||||
.num_aperture_sizes = 2,
|
||||
.needs_scratch_page = true,
|
||||
.configure = intel_815_configure,
|
||||
.fetch_size = intel_815_fetch_size,
|
||||
.cleanup = intel_8xx_cleanup,
|
||||
@@ -516,6 +518,7 @@ static const struct agp_bridge_driver intel_820_driver = {
|
||||
.aperture_sizes = intel_8xx_sizes,
|
||||
.size_type = U8_APER_SIZE,
|
||||
.num_aperture_sizes = 7,
|
||||
.needs_scratch_page = true,
|
||||
.configure = intel_820_configure,
|
||||
.fetch_size = intel_8xx_fetch_size,
|
||||
.cleanup = intel_820_cleanup,
|
||||
@@ -542,6 +545,7 @@ static const struct agp_bridge_driver intel_830mp_driver = {
|
||||
.aperture_sizes = intel_830mp_sizes,
|
||||
.size_type = U8_APER_SIZE,
|
||||
.num_aperture_sizes = 4,
|
||||
.needs_scratch_page = true,
|
||||
.configure = intel_830mp_configure,
|
||||
.fetch_size = intel_8xx_fetch_size,
|
||||
.cleanup = intel_8xx_cleanup,
|
||||
@@ -568,6 +572,7 @@ static const struct agp_bridge_driver intel_840_driver = {
|
||||
.aperture_sizes = intel_8xx_sizes,
|
||||
.size_type = U8_APER_SIZE,
|
||||
.num_aperture_sizes = 7,
|
||||
.needs_scratch_page = true,
|
||||
.configure = intel_840_configure,
|
||||
.fetch_size = intel_8xx_fetch_size,
|
||||
.cleanup = intel_8xx_cleanup,
|
||||
@@ -594,6 +599,7 @@ static const struct agp_bridge_driver intel_845_driver = {
|
||||
.aperture_sizes = intel_8xx_sizes,
|
||||
.size_type = U8_APER_SIZE,
|
||||
.num_aperture_sizes = 7,
|
||||
.needs_scratch_page = true,
|
||||
.configure = intel_845_configure,
|
||||
.fetch_size = intel_8xx_fetch_size,
|
||||
.cleanup = intel_8xx_cleanup,
|
||||
@@ -620,6 +626,7 @@ static const struct agp_bridge_driver intel_850_driver = {
|
||||
.aperture_sizes = intel_8xx_sizes,
|
||||
.size_type = U8_APER_SIZE,
|
||||
.num_aperture_sizes = 7,
|
||||
.needs_scratch_page = true,
|
||||
.configure = intel_850_configure,
|
||||
.fetch_size = intel_8xx_fetch_size,
|
||||
.cleanup = intel_8xx_cleanup,
|
||||
@@ -646,6 +653,7 @@ static const struct agp_bridge_driver intel_860_driver = {
|
||||
.aperture_sizes = intel_8xx_sizes,
|
||||
.size_type = U8_APER_SIZE,
|
||||
.num_aperture_sizes = 7,
|
||||
.needs_scratch_page = true,
|
||||
.configure = intel_860_configure,
|
||||
.fetch_size = intel_8xx_fetch_size,
|
||||
.cleanup = intel_8xx_cleanup,
|
||||
@@ -672,6 +680,7 @@ static const struct agp_bridge_driver intel_7505_driver = {
|
||||
.aperture_sizes = intel_8xx_sizes,
|
||||
.size_type = U8_APER_SIZE,
|
||||
.num_aperture_sizes = 7,
|
||||
.needs_scratch_page = true,
|
||||
.configure = intel_7505_configure,
|
||||
.fetch_size = intel_8xx_fetch_size,
|
||||
.cleanup = intel_8xx_cleanup,
|
||||
|
Reference in New Issue
Block a user