Lines Matching refs:bridge
179 curr->bridge->driver->free_by_type(curr); in agp_free_memory()
183 if (curr->bridge->driver->agp_destroy_pages) { in agp_free_memory()
184 curr->bridge->driver->agp_destroy_pages(curr); in agp_free_memory()
188 curr->bridge->driver->agp_destroy_page( in agp_free_memory()
193 curr->bridge->driver->agp_destroy_page( in agp_free_memory()
218 struct agp_memory *agp_allocate_memory(struct agp_bridge_data *bridge, in agp_allocate_memory() argument
226 if (!bridge) in agp_allocate_memory()
229 cur_memory = atomic_read(&bridge->current_memory_agp); in agp_allocate_memory()
230 if ((cur_memory + page_count > bridge->max_memory_agp) || in agp_allocate_memory()
237 new->bridge = bridge; in agp_allocate_memory()
242 new = bridge->driver->alloc_by_type(page_count, type); in agp_allocate_memory()
244 new->bridge = bridge; in agp_allocate_memory()
255 if (bridge->driver->agp_alloc_pages) { in agp_allocate_memory()
256 if (bridge->driver->agp_alloc_pages(bridge, new, page_count)) { in agp_allocate_memory()
260 new->bridge = bridge; in agp_allocate_memory()
265 struct page *page = bridge->driver->agp_alloc_page(bridge); in agp_allocate_memory()
274 new->bridge = bridge; in agp_allocate_memory()
363 int agp_copy_info(struct agp_bridge_data *bridge, struct agp_kern_info *info) in agp_copy_info() argument
366 if (!bridge) { in agp_copy_info()
371 info->version.major = bridge->version->major; in agp_copy_info()
372 info->version.minor = bridge->version->minor; in agp_copy_info()
374 info->device = bridge->dev; in agp_copy_info()
375 if (bridge->mode & AGPSTAT_MODE_3_0) in agp_copy_info()
376 info->mode = bridge->mode & ~AGP3_RESERVED_MASK; in agp_copy_info()
378 info->mode = bridge->mode & ~AGP2_RESERVED_MASK; in agp_copy_info()
379 info->aper_base = bridge->gart_bus_addr; in agp_copy_info()
381 info->max_memory = bridge->max_memory_agp; in agp_copy_info()
382 info->current_memory = atomic_read(&bridge->current_memory_agp); in agp_copy_info()
383 info->cant_use_aperture = bridge->driver->cant_use_aperture; in agp_copy_info()
384 info->vm_ops = bridge->vm_ops; in agp_copy_info()
419 curr->bridge->driver->cache_flush(); in agp_bind_memory()
423 ret_val = curr->bridge->driver->insert_memory(curr, pg_start, curr->type); in agp_bind_memory()
459 ret_val = curr->bridge->driver->remove_memory(curr, curr->pg_start, curr->type); in agp_unbind_memory()
466 spin_lock(&curr->bridge->mapped_lock); in agp_unbind_memory()
468 spin_unlock(&curr->bridge->mapped_lock); in agp_unbind_memory()
720 u32 agp_collect_device_status(struct agp_bridge_data *bridge, u32 requested_mode, u32 bridge_agpsta… in agp_collect_device_status() argument
788 void get_agp_version(struct agp_bridge_data *bridge) in get_agp_version() argument
793 if (bridge->major_version != 0) in get_agp_version()
796 pci_read_config_dword(bridge->dev, bridge->capndx, &ncapid); in get_agp_version()
797 bridge->major_version = (ncapid >> AGP_MAJOR_VERSION_SHIFT) & 0xf; in get_agp_version()
798 bridge->minor_version = (ncapid >> AGP_MINOR_VERSION_SHIFT) & 0xf; in get_agp_version()
803 void agp_generic_enable(struct agp_bridge_data *bridge, u32 requested_mode) in agp_generic_enable() argument
823 if (bridge->major_version >= 3) { in agp_generic_enable()
824 if (bridge->mode & AGPSTAT_MODE_3_0) { in agp_generic_enable()
826 if (bridge->minor_version >= 5) in agp_generic_enable()
827 agp_3_5_enable(bridge); in agp_generic_enable()
833 pci_read_config_dword(bridge->dev, in agp_generic_enable()
834 bridge->capndx+AGPCTRL, &temp); in agp_generic_enable()
836 pci_write_config_dword(bridge->dev, in agp_generic_enable()
837 bridge->capndx+AGPCTRL, temp); in agp_generic_enable()
839 dev_info(&bridge->dev->dev, "bridge is in legacy mode, falling back to 2.x\n"); in agp_generic_enable()
849 int agp_generic_create_gatt_table(struct agp_bridge_data *bridge) in agp_generic_create_gatt_table() argument
861 if (bridge->driver->size_type == LVL2_APER_SIZE) in agp_generic_create_gatt_table()
865 i = bridge->aperture_size_idx; in agp_generic_create_gatt_table()
866 temp = bridge->current_size; in agp_generic_create_gatt_table()
869 if (bridge->driver->size_type != FIXED_APER_SIZE) { in agp_generic_create_gatt_table()
871 switch (bridge->driver->size_type) { in agp_generic_create_gatt_table()
901 switch (bridge->driver->size_type) { in agp_generic_create_gatt_table()
903 bridge->current_size = A_IDX8(bridge); in agp_generic_create_gatt_table()
906 bridge->current_size = A_IDX16(bridge); in agp_generic_create_gatt_table()
909 bridge->current_size = A_IDX32(bridge); in agp_generic_create_gatt_table()
917 temp = bridge->current_size; in agp_generic_create_gatt_table()
919 bridge->aperture_size_idx = i; in agp_generic_create_gatt_table()
921 } while (!table && (i < bridge->driver->num_aperture_sizes)); in agp_generic_create_gatt_table()
937 bridge->gatt_table_real = (u32 *) table; in agp_generic_create_gatt_table()
940 bridge->driver->cache_flush(); in agp_generic_create_gatt_table()
945 bridge->gatt_table = (u32 __iomem *)table; in agp_generic_create_gatt_table()
947 bridge->gatt_table = ioremap_nocache(virt_to_phys(table), in agp_generic_create_gatt_table()
949 bridge->driver->cache_flush(); in agp_generic_create_gatt_table()
952 if (bridge->gatt_table == NULL) { in agp_generic_create_gatt_table()
960 bridge->gatt_bus_addr = virt_to_phys(bridge->gatt_table_real); in agp_generic_create_gatt_table()
964 writel(bridge->scratch_page, bridge->gatt_table+i); in agp_generic_create_gatt_table()
965 readl(bridge->gatt_table+i); /* PCI Posting. */ in agp_generic_create_gatt_table()
972 int agp_generic_free_gatt_table(struct agp_bridge_data *bridge) in agp_generic_free_gatt_table() argument
979 temp = bridge->current_size; in agp_generic_free_gatt_table()
981 switch (bridge->driver->size_type) { in agp_generic_free_gatt_table()
1007 set_memory_wb((unsigned long)bridge->gatt_table, 1 << page_order); in agp_generic_free_gatt_table()
1009 iounmap(bridge->gatt_table); in agp_generic_free_gatt_table()
1011 table = (char *) bridge->gatt_table_real; in agp_generic_free_gatt_table()
1017 free_gatt_pages(bridge->gatt_table_real, page_order); in agp_generic_free_gatt_table()
1020 bridge->gatt_table = NULL; in agp_generic_free_gatt_table()
1021 bridge->gatt_table_real = NULL; in agp_generic_free_gatt_table()
1022 bridge->gatt_bus_addr = 0; in agp_generic_free_gatt_table()
1035 struct agp_bridge_data *bridge; in agp_generic_insert_memory() local
1038 bridge = mem->bridge; in agp_generic_insert_memory()
1039 if (!bridge) in agp_generic_insert_memory()
1045 temp = bridge->current_size; in agp_generic_insert_memory()
1047 switch (bridge->driver->size_type) { in agp_generic_insert_memory()
1074 mask_type = bridge->driver->agp_type_to_mask_type(bridge, type); in agp_generic_insert_memory()
1087 if (!PGE_EMPTY(bridge, readl(bridge->gatt_table+j))) in agp_generic_insert_memory()
1093 bridge->driver->cache_flush(); in agp_generic_insert_memory()
1098 writel(bridge->driver->mask_memory(bridge, in agp_generic_insert_memory()
1101 bridge->gatt_table+j); in agp_generic_insert_memory()
1103 readl(bridge->gatt_table+j-1); /* PCI Posting. */ in agp_generic_insert_memory()
1105 bridge->driver->tlb_flush(mem); in agp_generic_insert_memory()
1114 struct agp_bridge_data *bridge; in agp_generic_remove_memory() local
1117 bridge = mem->bridge; in agp_generic_remove_memory()
1118 if (!bridge) in agp_generic_remove_memory()
1132 mask_type = bridge->driver->agp_type_to_mask_type(bridge, type); in agp_generic_remove_memory()
1140 writel(bridge->scratch_page, bridge->gatt_table+i); in agp_generic_remove_memory()
1142 readl(bridge->gatt_table+i-1); /* PCI Posting. */ in agp_generic_remove_memory()
1144 bridge->driver->tlb_flush(mem); in agp_generic_remove_memory()
1191 int agp_generic_alloc_pages(struct agp_bridge_data *bridge, struct agp_memory *mem, size_t num_page… in agp_generic_alloc_pages() argument
1221 struct page *agp_generic_alloc_page(struct agp_bridge_data *bridge) in agp_generic_alloc_page() argument
1287 void agp_enable(struct agp_bridge_data *bridge, u32 mode) in agp_enable() argument
1289 if (!bridge) in agp_enable()
1291 bridge->driver->agp_enable(bridge, mode); in agp_enable()
1318 unsigned long agp_generic_mask_memory(struct agp_bridge_data *bridge, in agp_generic_mask_memory() argument
1322 if (bridge->driver->masks) in agp_generic_mask_memory()
1323 return addr | bridge->driver->masks[0].mask; in agp_generic_mask_memory()
1329 int agp_generic_type_to_mask_type(struct agp_bridge_data *bridge, in agp_generic_type_to_mask_type() argument