v2: setup and alloc number of contiguous PTs if possible
Warning: Heaven benchmark /sometimes/ fails with this patch after
10 or 15 minutes of working, so any insight is greatly appreciated.
The code is a bit bloated because it's a question how a decent optimization
should be made: via macros? us
v2: setup and alloc number of contiguous PTs if possible
Warning: Heaven benchmark /sometimes/ fails with this patch after
10 or 15 minutes of working, so any insight is greatly appreciated.
The code is a bit bloated because it's a question how a decent optimization
should be made: via macros? us
make dynamic allocation of page tables on demand in radeon_vm_update_pte
Signed-off-by: Dmitry Cherkasov
---
drivers/gpu/drm/radeon/radeon.h | 12
drivers/gpu/drm/radeon/radeon_gart.c | 106 ++
2 files changed, 107 insertions(+), 11 deletions
add addr_list array to set_page.
if it's not NULL these addresses will be put to the ring.
Signed-off-by: Dmitry Cherkasov
---
to be applied on top of drm/radeon: add 2-level VM pagetables support v9
drivers/gpu/drm/radeon/ni.c | 11 ---
drivers/gpu/drm/radeon/rad
make dynamic allocation of page tables on demand in radeon_vm_update_pte
Signed-off-by: Dmitry Cherkasov
---
drivers/gpu/drm/radeon/radeon.h | 12
drivers/gpu/drm/radeon/radeon_gart.c | 106 ++
2 files changed, 107 insertions(+), 11 deletions
add addr_list array to set_page.
if it's not NULL these addresses will be put to the ring.
Signed-off-by: Dmitry Cherkasov
---
to be applied on top of drm/radeon: add 2-level VM pagetables support v9
drivers/gpu/drm/radeon/ni.c | 11 ---
drivers/gpu/drm/radeon/rad
* rebased on top of "refactor set_page chipset interface v3"
* switched offsets calc macros to inline funcs where possible
* remove pd_addr from radeon_vm
* switched RADEON_BLOCK_SIZE define to 9 (and PTE_COUNT to 1 << BLOCK_SIZE)
Signed-off-by: Dmitry Cherkasov
---
d
From: Christian König
Cleanup the interface in preparation for hierarchical page tables.
v3: * add incr parameter to set_page for simple scattered PTs uptates
* added PDE-specific flags to r600_flags and radeon_drm.h
* removed superflous value masking with 0x
* removed superfl
* rebased on top of "refactor set_page chipset interface v3"
* switched offsets calc macros to inline funcs where possible
* remove pd_addr from radeon_vm
* switched RADEON_BLOCK_SIZE define to 9 (and PTE_COUNT to 1 << BLOCK_SIZE)
Signed-off-by: Dmitry Cherkasov
---
d
From: Christian K?nig
Cleanup the interface in preparation for hierarchical page tables.
v3: * add incr parameter to set_page for simple scattered PTs uptates
* added PDE-specific flags to r600_flags and radeon_drm.h
* removed superflous value masking with 0x
* removed superfl
* rebased on top of "refactor set_page chipset interface v2"
* code cleanups
Signed-off-by: Dmitry Cherkasov
---
drivers/gpu/drm/radeon/ni.c |4 +-
drivers/gpu/drm/radeon/radeon.h |4 +-
drivers/gpu/drm/radeon/radeon_gart.c | 145 +++
From: Christian König
Cleanup the interface in preparation for hierarchical page tables.
v2: * add incr parameter to set_page for simple scattered PTs uptates
* added PDE-specific flags to r600_flags and radeon_drm.h
* removed superflous value masking with 0x
Signed-off-by: Chris
* rebased on top of "refactor set_page chipset interface v2"
* code cleanups
Signed-off-by: Dmitry Cherkasov
---
drivers/gpu/drm/radeon/ni.c |4 +-
drivers/gpu/drm/radeon/radeon.h |4 +-
drivers/gpu/drm/radeon/radeon_gart.c | 145 +++
From: Christian K?nig
Cleanup the interface in preparation for hierarchical page tables.
v2: * add incr parameter to set_page for simple scattered PTs uptates
* added PDE-specific flags to r600_flags and radeon_drm.h
* removed superflous value masking with 0x
Signed-off-by: Chris
PDE/PTE update code uses CP ring for memory writes.
All page table entries are preallocated for now in alloc_pt().
It is made as whole because it's hard to divide it to several patches
that compile and doesn't break anything being applied separately.
Tested on cayman card.
Signed-off-
PDE/PTE update code uses CP ring for memory writes.
All page table entries are preallocated for now in alloc_pt().
It is made as whole because it's hard to divide it to several patches
that compile and doesn't break anything being applied separately.
Tested on cayman card.
Signed-off-
16 matches
Mail list logo