agp: enable optimized agp_alloc_pages methods
The pageattr-array patch that you currently have in tip/master only enables it for intel-agp, not the others. The attached enables it for all drivers currently directly using agp_generic_alloc_page() and agp_generic_destroy_page() (ocal driver is amd-k7-agp). The new agp_generic_alloc_pages() interface uses the also new pageattr array interface API. This makes all AGP drivers that up to now used generic_{alloc,destroy}_page() use it. Signed-off-by: Rene Herman <rene.herman@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
c5e147cf5a
commit
5f310b6378
@ -143,7 +143,9 @@ struct agp_bridge_driver alpha_core_agp_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -386,7 +386,9 @@ static const struct agp_bridge_driver amd_irongate_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -224,7 +224,9 @@ static const struct agp_bridge_driver amd_8151_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -418,7 +418,9 @@ static const struct agp_bridge_driver ati_generic_bridge = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -335,7 +335,9 @@ static const struct agp_bridge_driver efficeon_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -435,7 +435,9 @@ const struct agp_bridge_driver hp_zx1_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
.cant_use_aperture = true,
|
.cant_use_aperture = true,
|
||||||
};
|
};
|
||||||
|
@ -575,7 +575,9 @@ const struct agp_bridge_driver intel_i460_driver = {
|
|||||||
.insert_memory = i460_insert_memory_small_io_page,
|
.insert_memory = i460_insert_memory_small_io_page,
|
||||||
.remove_memory = i460_remove_memory_small_io_page,
|
.remove_memory = i460_remove_memory_small_io_page,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
#endif
|
#endif
|
||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
|
@ -312,7 +312,9 @@ static const struct agp_bridge_driver nvidia_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -224,7 +224,9 @@ static const struct agp_bridge_driver parisc_agp_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
.cant_use_aperture = true,
|
.cant_use_aperture = true,
|
||||||
};
|
};
|
||||||
|
@ -140,7 +140,9 @@ static struct agp_bridge_driver sis_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -437,7 +437,9 @@ static const struct agp_bridge_driver sworks_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -509,7 +509,9 @@ const struct agp_bridge_driver uninorth_agp_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
.cant_use_aperture = true,
|
.cant_use_aperture = true,
|
||||||
};
|
};
|
||||||
@ -534,7 +536,9 @@ const struct agp_bridge_driver u3_agp_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_paged = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
.cant_use_aperture = true,
|
.cant_use_aperture = true,
|
||||||
.needs_scratch_page = true,
|
.needs_scratch_page = true,
|
||||||
|
@ -190,7 +190,9 @@ static const struct agp_bridge_driver via_agp3_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -214,7 +216,9 @@ static const struct agp_bridge_driver via_driver = {
|
|||||||
.alloc_by_type = agp_generic_alloc_by_type,
|
.alloc_by_type = agp_generic_alloc_by_type,
|
||||||
.free_by_type = agp_generic_free_by_type,
|
.free_by_type = agp_generic_free_by_type,
|
||||||
.agp_alloc_page = agp_generic_alloc_page,
|
.agp_alloc_page = agp_generic_alloc_page,
|
||||||
|
.agp_alloc_pages = agp_generic_alloc_pages,
|
||||||
.agp_destroy_page = agp_generic_destroy_page,
|
.agp_destroy_page = agp_generic_destroy_page,
|
||||||
|
.agp_destroy_pages = agp_generic_destroy_pages,
|
||||||
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
.agp_type_to_mask_type = agp_generic_type_to_mask_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user