Loading drivers/char/agp/agp.h +3 −3 Original line number Diff line number Diff line Loading @@ -122,8 +122,8 @@ struct agp_bridge_driver { int (*agp_type_to_mask_type) (struct agp_bridge_data *, int); void (*chipset_flush)(struct agp_bridge_data *); int (*agp_map_page)(void *addr, dma_addr_t *ret); void (*agp_unmap_page)(void *addr, dma_addr_t dma); int (*agp_map_page)(struct page *page, dma_addr_t *ret); void (*agp_unmap_page)(struct page *page, dma_addr_t dma); int (*agp_map_memory)(struct agp_memory *mem); void (*agp_unmap_memory)(struct agp_memory *mem); }; Loading @@ -139,7 +139,7 @@ struct agp_bridge_data { u32 __iomem *gatt_table; u32 *gatt_table_real; unsigned long scratch_page; unsigned long scratch_page_real; struct page *scratch_page_page; dma_addr_t scratch_page_dma; unsigned long gart_bus_addr; unsigned long gatt_bus_addr; Loading drivers/char/agp/backend.c +8 −9 Original line number Diff line number Diff line Loading @@ -149,9 +149,9 @@ static int agp_backend_initialize(struct agp_bridge_data *bridge) return -ENOMEM; } bridge->scratch_page_real = phys_to_gart(page_to_phys(page)); bridge->scratch_page_page = page; if (bridge->driver->agp_map_page) { if (bridge->driver->agp_map_page(phys_to_virt(page_to_phys(page)), if (bridge->driver->agp_map_page(page, &bridge->scratch_page_dma)) { dev_err(&bridge->dev->dev, "unable to dma-map scratch page\n"); Loading Loading @@ -205,13 +205,12 @@ static int agp_backend_initialize(struct agp_bridge_data *bridge) err_out: if (bridge->driver->needs_scratch_page && bridge->driver->agp_unmap_page) { void *va = gart_to_virt(bridge->scratch_page_real); bridge->driver->agp_unmap_page(va, bridge->scratch_page_dma); bridge->driver->agp_unmap_page(bridge->scratch_page_page, bridge->scratch_page_dma); } err_out_nounmap: if (bridge->driver->needs_scratch_page) { void *va = gart_to_virt(bridge->scratch_page_real); void *va = page_address(bridge->scratch_page_page); bridge->driver->agp_destroy_page(va, AGP_PAGE_DESTROY_UNMAP); bridge->driver->agp_destroy_page(va, AGP_PAGE_DESTROY_FREE); Loading @@ -238,10 +237,10 @@ static void agp_backend_cleanup(struct agp_bridge_data *bridge) if (bridge->driver->agp_destroy_page && bridge->driver->needs_scratch_page) { void *va = gart_to_virt(bridge->scratch_page_real); void *va = page_address(bridge->scratch_page_page); if (bridge->driver->agp_unmap_page) bridge->driver->agp_unmap_page(va, bridge->driver->agp_unmap_page(bridge->scratch_page_page, bridge->scratch_page_dma); bridge->driver->agp_destroy_page(va, AGP_PAGE_DESTROY_UNMAP); Loading drivers/char/agp/intel-agp.c +6 −6 Original line number Diff line number Diff line Loading @@ -181,18 +181,18 @@ static struct _intel_private { } intel_private; #ifdef USE_PCI_DMA_API static int intel_agp_map_page(void *addr, dma_addr_t *ret) static int intel_agp_map_page(struct page *page, dma_addr_t *ret) { *ret = pci_map_single(intel_private.pcidev, addr, *ret = pci_map_page(intel_private.pcidev, page, 0, PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); if (pci_dma_mapping_error(intel_private.pcidev, *ret)) return -EINVAL; return 0; } static void intel_agp_unmap_page(void *addr, dma_addr_t dma) static void intel_agp_unmap_page(struct page *page, dma_addr_t dma) { pci_unmap_single(intel_private.pcidev, dma, pci_unmap_page(intel_private.pcidev, dma, PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); } Loading Loading
drivers/char/agp/agp.h +3 −3 Original line number Diff line number Diff line Loading @@ -122,8 +122,8 @@ struct agp_bridge_driver { int (*agp_type_to_mask_type) (struct agp_bridge_data *, int); void (*chipset_flush)(struct agp_bridge_data *); int (*agp_map_page)(void *addr, dma_addr_t *ret); void (*agp_unmap_page)(void *addr, dma_addr_t dma); int (*agp_map_page)(struct page *page, dma_addr_t *ret); void (*agp_unmap_page)(struct page *page, dma_addr_t dma); int (*agp_map_memory)(struct agp_memory *mem); void (*agp_unmap_memory)(struct agp_memory *mem); }; Loading @@ -139,7 +139,7 @@ struct agp_bridge_data { u32 __iomem *gatt_table; u32 *gatt_table_real; unsigned long scratch_page; unsigned long scratch_page_real; struct page *scratch_page_page; dma_addr_t scratch_page_dma; unsigned long gart_bus_addr; unsigned long gatt_bus_addr; Loading
drivers/char/agp/backend.c +8 −9 Original line number Diff line number Diff line Loading @@ -149,9 +149,9 @@ static int agp_backend_initialize(struct agp_bridge_data *bridge) return -ENOMEM; } bridge->scratch_page_real = phys_to_gart(page_to_phys(page)); bridge->scratch_page_page = page; if (bridge->driver->agp_map_page) { if (bridge->driver->agp_map_page(phys_to_virt(page_to_phys(page)), if (bridge->driver->agp_map_page(page, &bridge->scratch_page_dma)) { dev_err(&bridge->dev->dev, "unable to dma-map scratch page\n"); Loading Loading @@ -205,13 +205,12 @@ static int agp_backend_initialize(struct agp_bridge_data *bridge) err_out: if (bridge->driver->needs_scratch_page && bridge->driver->agp_unmap_page) { void *va = gart_to_virt(bridge->scratch_page_real); bridge->driver->agp_unmap_page(va, bridge->scratch_page_dma); bridge->driver->agp_unmap_page(bridge->scratch_page_page, bridge->scratch_page_dma); } err_out_nounmap: if (bridge->driver->needs_scratch_page) { void *va = gart_to_virt(bridge->scratch_page_real); void *va = page_address(bridge->scratch_page_page); bridge->driver->agp_destroy_page(va, AGP_PAGE_DESTROY_UNMAP); bridge->driver->agp_destroy_page(va, AGP_PAGE_DESTROY_FREE); Loading @@ -238,10 +237,10 @@ static void agp_backend_cleanup(struct agp_bridge_data *bridge) if (bridge->driver->agp_destroy_page && bridge->driver->needs_scratch_page) { void *va = gart_to_virt(bridge->scratch_page_real); void *va = page_address(bridge->scratch_page_page); if (bridge->driver->agp_unmap_page) bridge->driver->agp_unmap_page(va, bridge->driver->agp_unmap_page(bridge->scratch_page_page, bridge->scratch_page_dma); bridge->driver->agp_destroy_page(va, AGP_PAGE_DESTROY_UNMAP); Loading
drivers/char/agp/intel-agp.c +6 −6 Original line number Diff line number Diff line Loading @@ -181,18 +181,18 @@ static struct _intel_private { } intel_private; #ifdef USE_PCI_DMA_API static int intel_agp_map_page(void *addr, dma_addr_t *ret) static int intel_agp_map_page(struct page *page, dma_addr_t *ret) { *ret = pci_map_single(intel_private.pcidev, addr, *ret = pci_map_page(intel_private.pcidev, page, 0, PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); if (pci_dma_mapping_error(intel_private.pcidev, *ret)) return -EINVAL; return 0; } static void intel_agp_unmap_page(void *addr, dma_addr_t dma) static void intel_agp_unmap_page(struct page *page, dma_addr_t dma) { pci_unmap_single(intel_private.pcidev, dma, pci_unmap_page(intel_private.pcidev, dma, PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); } Loading