[PATCH 04/10] drm/radeon: remove vm_unbind

2012-08-13 Thread Christian König
It actually isn't very useful.

Signed-off-by: Christian K?nig 
---
 drivers/gpu/drm/radeon/ni.c  |   11 ---
 drivers/gpu/drm/radeon/radeon.h  |2 --
 drivers/gpu/drm/radeon/radeon_asic.c |3 ---
 drivers/gpu/drm/radeon/radeon_gart.c |1 -
 drivers/gpu/drm/radeon/si.c  |   12 
 5 files changed, 29 deletions(-)

diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
index efa3ab9..3b1aab3 100644
--- a/drivers/gpu/drm/radeon/ni.c
+++ b/drivers/gpu/drm/radeon/ni.c
@@ -1501,17 +1501,6 @@ int cayman_vm_bind(struct radeon_device *rdev, struct 
radeon_vm *vm, int id)
return 0;
 }

-void cayman_vm_unbind(struct radeon_device *rdev, struct radeon_vm *vm)
-{
-   WREG32(VM_CONTEXT0_PAGE_TABLE_START_ADDR + (vm->id << 2), 0);
-   WREG32(VM_CONTEXT0_PAGE_TABLE_END_ADDR + (vm->id << 2), 0);
-   WREG32(VM_CONTEXT0_PAGE_TABLE_BASE_ADDR + (vm->id << 2), 0);
-   /* flush hdp cache */
-   WREG32(HDP_MEM_COHERENCY_FLUSH_CNTL, 0x1);
-   /* bits 0-7 are the VM contexts0-7 */
-   WREG32(VM_INVALIDATE_REQUEST, 1 << vm->id);
-}
-
 void cayman_vm_tlb_flush(struct radeon_device *rdev, struct radeon_vm *vm)
 {
if (vm->id == -1)
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 5163346..aeb2d1f 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -1135,7 +1135,6 @@ struct radeon_asic {
int (*init)(struct radeon_device *rdev);
void (*fini)(struct radeon_device *rdev);
int (*bind)(struct radeon_device *rdev, struct radeon_vm *vm, 
int id);
-   void (*unbind)(struct radeon_device *rdev, struct radeon_vm 
*vm);
void (*tlb_flush)(struct radeon_device *rdev, struct radeon_vm 
*vm);
uint32_t (*page_flags)(struct radeon_device *rdev,
   struct radeon_vm *vm,
@@ -1697,7 +1696,6 @@ void radeon_ring_write(struct radeon_ring *ring, uint32_t 
v);
 #define radeon_asic_vm_init(rdev) (rdev)->asic->vm.init((rdev))
 #define radeon_asic_vm_fini(rdev) (rdev)->asic->vm.fini((rdev))
 #define radeon_asic_vm_bind(rdev, v, id) (rdev)->asic->vm.bind((rdev), (v), 
(id))
-#define radeon_asic_vm_unbind(rdev, v) (rdev)->asic->vm.unbind((rdev), (v))
 #define radeon_asic_vm_tlb_flush(rdev, v) (rdev)->asic->vm.tlb_flush((rdev), 
(v))
 #define radeon_asic_vm_page_flags(rdev, v, flags) 
(rdev)->asic->vm.page_flags((rdev), (v), (flags))
 #define radeon_asic_vm_set_page(rdev, v, pfn, addr, flags) 
(rdev)->asic->vm.set_page((rdev), (v), (pfn), (addr), (flags))
diff --git a/drivers/gpu/drm/radeon/radeon_asic.c 
b/drivers/gpu/drm/radeon/radeon_asic.c
index 7d29d53..9d5f4f3 100644
--- a/drivers/gpu/drm/radeon/radeon_asic.c
+++ b/drivers/gpu/drm/radeon/radeon_asic.c
@@ -1360,7 +1360,6 @@ static struct radeon_asic cayman_asic = {
.init = _vm_init,
.fini = _vm_fini,
.bind = _vm_bind,
-   .unbind = _vm_unbind,
.tlb_flush = _vm_tlb_flush,
.page_flags = _vm_page_flags,
.set_page = _vm_set_page,
@@ -1463,7 +1462,6 @@ static struct radeon_asic trinity_asic = {
.init = _vm_init,
.fini = _vm_fini,
.bind = _vm_bind,
-   .unbind = _vm_unbind,
.tlb_flush = _vm_tlb_flush,
.page_flags = _vm_page_flags,
.set_page = _vm_set_page,
@@ -1566,7 +1564,6 @@ static struct radeon_asic si_asic = {
.init = _vm_init,
.fini = _vm_fini,
.bind = _vm_bind,
-   .unbind = _vm_unbind,
.tlb_flush = _vm_tlb_flush,
.page_flags = _vm_page_flags,
.set_page = _vm_set_page,
diff --git a/drivers/gpu/drm/radeon/radeon_gart.c 
b/drivers/gpu/drm/radeon/radeon_gart.c
index 2902e5f..18a03ab 100644
--- a/drivers/gpu/drm/radeon/radeon_gart.c
+++ b/drivers/gpu/drm/radeon/radeon_gart.c
@@ -522,7 +522,6 @@ static void radeon_vm_unbind_locked(struct radeon_device 
*rdev,
radeon_fence_unref(>fence);

/* hw unbind */
-   radeon_asic_vm_unbind(rdev, vm);
rdev->vm_manager.use_bitmap &= ~(1 << vm->id);
list_del_init(>list);
vm->id = -1;
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c
index 4ebcb33..40a9a85 100644
--- a/drivers/gpu/drm/radeon/si.c
+++ b/drivers/gpu/drm/radeon/si.c
@@ -2795,18 +2795,6 @@ int si_vm_bind(struct radeon_device *rdev, struct 
radeon_vm *vm, int id)
return 0;
 }

-void si_vm_unbind(struct radeon_device *rdev, struct radeon_vm *vm)
-{
-   if (vm->id < 8)
-   WREG32(VM_CONTEXT0_PAGE_TABLE_BASE_ADDR + (vm->id << 2), 0);
-   else
-   WREG32(VM_CONTEXT8_PAGE_TABLE_BASE_ADDR + ((vm->id - 8) << 2), 
0);
-   /* flush hdp cache */
-   WREG32(HDP_MEM_COHERENCY_FLUSH_CNTL, 0x1);
-   

[PATCH 04/10] drm/radeon: remove vm_unbind

2012-08-13 Thread Christian König
It actually isn't very useful.

Signed-off-by: Christian König deathsim...@vodafone.de
---
 drivers/gpu/drm/radeon/ni.c  |   11 ---
 drivers/gpu/drm/radeon/radeon.h  |2 --
 drivers/gpu/drm/radeon/radeon_asic.c |3 ---
 drivers/gpu/drm/radeon/radeon_gart.c |1 -
 drivers/gpu/drm/radeon/si.c  |   12 
 5 files changed, 29 deletions(-)

diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
index efa3ab9..3b1aab3 100644
--- a/drivers/gpu/drm/radeon/ni.c
+++ b/drivers/gpu/drm/radeon/ni.c
@@ -1501,17 +1501,6 @@ int cayman_vm_bind(struct radeon_device *rdev, struct 
radeon_vm *vm, int id)
return 0;
 }
 
-void cayman_vm_unbind(struct radeon_device *rdev, struct radeon_vm *vm)
-{
-   WREG32(VM_CONTEXT0_PAGE_TABLE_START_ADDR + (vm-id  2), 0);
-   WREG32(VM_CONTEXT0_PAGE_TABLE_END_ADDR + (vm-id  2), 0);
-   WREG32(VM_CONTEXT0_PAGE_TABLE_BASE_ADDR + (vm-id  2), 0);
-   /* flush hdp cache */
-   WREG32(HDP_MEM_COHERENCY_FLUSH_CNTL, 0x1);
-   /* bits 0-7 are the VM contexts0-7 */
-   WREG32(VM_INVALIDATE_REQUEST, 1  vm-id);
-}
-
 void cayman_vm_tlb_flush(struct radeon_device *rdev, struct radeon_vm *vm)
 {
if (vm-id == -1)
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 5163346..aeb2d1f 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -1135,7 +1135,6 @@ struct radeon_asic {
int (*init)(struct radeon_device *rdev);
void (*fini)(struct radeon_device *rdev);
int (*bind)(struct radeon_device *rdev, struct radeon_vm *vm, 
int id);
-   void (*unbind)(struct radeon_device *rdev, struct radeon_vm 
*vm);
void (*tlb_flush)(struct radeon_device *rdev, struct radeon_vm 
*vm);
uint32_t (*page_flags)(struct radeon_device *rdev,
   struct radeon_vm *vm,
@@ -1697,7 +1696,6 @@ void radeon_ring_write(struct radeon_ring *ring, uint32_t 
v);
 #define radeon_asic_vm_init(rdev) (rdev)-asic-vm.init((rdev))
 #define radeon_asic_vm_fini(rdev) (rdev)-asic-vm.fini((rdev))
 #define radeon_asic_vm_bind(rdev, v, id) (rdev)-asic-vm.bind((rdev), (v), 
(id))
-#define radeon_asic_vm_unbind(rdev, v) (rdev)-asic-vm.unbind((rdev), (v))
 #define radeon_asic_vm_tlb_flush(rdev, v) (rdev)-asic-vm.tlb_flush((rdev), 
(v))
 #define radeon_asic_vm_page_flags(rdev, v, flags) 
(rdev)-asic-vm.page_flags((rdev), (v), (flags))
 #define radeon_asic_vm_set_page(rdev, v, pfn, addr, flags) 
(rdev)-asic-vm.set_page((rdev), (v), (pfn), (addr), (flags))
diff --git a/drivers/gpu/drm/radeon/radeon_asic.c 
b/drivers/gpu/drm/radeon/radeon_asic.c
index 7d29d53..9d5f4f3 100644
--- a/drivers/gpu/drm/radeon/radeon_asic.c
+++ b/drivers/gpu/drm/radeon/radeon_asic.c
@@ -1360,7 +1360,6 @@ static struct radeon_asic cayman_asic = {
.init = cayman_vm_init,
.fini = cayman_vm_fini,
.bind = cayman_vm_bind,
-   .unbind = cayman_vm_unbind,
.tlb_flush = cayman_vm_tlb_flush,
.page_flags = cayman_vm_page_flags,
.set_page = cayman_vm_set_page,
@@ -1463,7 +1462,6 @@ static struct radeon_asic trinity_asic = {
.init = cayman_vm_init,
.fini = cayman_vm_fini,
.bind = cayman_vm_bind,
-   .unbind = cayman_vm_unbind,
.tlb_flush = cayman_vm_tlb_flush,
.page_flags = cayman_vm_page_flags,
.set_page = cayman_vm_set_page,
@@ -1566,7 +1564,6 @@ static struct radeon_asic si_asic = {
.init = si_vm_init,
.fini = si_vm_fini,
.bind = si_vm_bind,
-   .unbind = si_vm_unbind,
.tlb_flush = si_vm_tlb_flush,
.page_flags = cayman_vm_page_flags,
.set_page = cayman_vm_set_page,
diff --git a/drivers/gpu/drm/radeon/radeon_gart.c 
b/drivers/gpu/drm/radeon/radeon_gart.c
index 2902e5f..18a03ab 100644
--- a/drivers/gpu/drm/radeon/radeon_gart.c
+++ b/drivers/gpu/drm/radeon/radeon_gart.c
@@ -522,7 +522,6 @@ static void radeon_vm_unbind_locked(struct radeon_device 
*rdev,
radeon_fence_unref(vm-fence);
 
/* hw unbind */
-   radeon_asic_vm_unbind(rdev, vm);
rdev-vm_manager.use_bitmap = ~(1  vm-id);
list_del_init(vm-list);
vm-id = -1;
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c
index 4ebcb33..40a9a85 100644
--- a/drivers/gpu/drm/radeon/si.c
+++ b/drivers/gpu/drm/radeon/si.c
@@ -2795,18 +2795,6 @@ int si_vm_bind(struct radeon_device *rdev, struct 
radeon_vm *vm, int id)
return 0;
 }
 
-void si_vm_unbind(struct radeon_device *rdev, struct radeon_vm *vm)
-{
-   if (vm-id  8)
-   WREG32(VM_CONTEXT0_PAGE_TABLE_BASE_ADDR + (vm-id  2), 0);
-   else
-   WREG32(VM_CONTEXT8_PAGE_TABLE_BASE_ADDR + ((vm-id - 8)  2),