hrev44035 adds 1 changeset to branch 'master' old head: 937ca113b0b7ca9c8aef601311ff336c8d7df8c4 new head: 325089f1fcf20eb45c83e834e23f810f0533aa57 ---------------------------------------------------------------------------- 325089f: radeon_hd: Stub out gfx ring boot. * Tab fix as well [ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev44035 Commit: 325089f1fcf20eb45c83e834e23f810f0533aa57 URL: http://cgit.haiku-os.org/haiku/commit/?id=325089f Author: Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> Date: Sun Apr 15 02:54:11 2012 UTC ---------------------------------------------------------------------------- 3 files changed, 21 insertions(+), 1 deletions(-) src/add-ons/accelerants/radeon_hd/accelerant.cpp | 2 + src/add-ons/accelerants/radeon_hd/gpu.cpp | 19 +++++++++++++++++- src/add-ons/accelerants/radeon_hd/gpu.h | 1 + ---------------------------------------------------------------------------- diff --git a/src/add-ons/accelerants/radeon_hd/accelerant.cpp b/src/add-ons/accelerants/radeon_hd/accelerant.cpp index 18ece47..cf6bb2e 100644 --- a/src/add-ons/accelerants/radeon_hd/accelerant.cpp +++ b/src/add-ons/accelerants/radeon_hd/accelerant.cpp @@ -300,6 +300,8 @@ radeon_init_accelerant(int device) // Set up data crunching + irq rings radeon_gpu_ring_setup(); + radeon_gpu_ring_boot(RADEON_QUEUE_TYPE_GFX_INDEX); + TRACE("%s done\n", __func__); return B_OK; } diff --git a/src/add-ons/accelerants/radeon_hd/gpu.cpp b/src/add-ons/accelerants/radeon_hd/gpu.cpp index d52e4a3..c966c12 100644 --- a/src/add-ons/accelerants/radeon_hd/gpu.cpp +++ b/src/add-ons/accelerants/radeon_hd/gpu.cpp @@ -506,7 +506,7 @@ radeon_gpu_ring_setup() TRACE("%s called\n", __func__); // init GFX ring queue - gInfo->ringQueue[RADEON_QUEUE_TYPE_GFX_INDEX] + gInfo->ringQueue[RADEON_QUEUE_TYPE_GFX_INDEX] = new RingQueue(1024 * 1024, RADEON_QUEUE_TYPE_GFX_INDEX); #if 0 @@ -521,6 +521,23 @@ radeon_gpu_ring_setup() status_t +radeon_gpu_ring_boot(uint32 ringType) +{ + TRACE("%s called\n", __func__); + + RingQueue* ring = gInfo->ringQueue[ringType]; + if (ring == NULL) { + ERROR("%s: Specified ring doesn't exist!\n", __func__); + return B_ERROR; + } + + // TODO: Write initial ring state + + return B_OK; +} + + +status_t radeon_gpu_ss_disable() { TRACE("%s called\n", __func__); diff --git a/src/add-ons/accelerants/radeon_hd/gpu.h b/src/add-ons/accelerants/radeon_hd/gpu.h index c22c353..7377219 100644 --- a/src/add-ons/accelerants/radeon_hd/gpu.h +++ b/src/add-ons/accelerants/radeon_hd/gpu.h @@ -176,6 +176,7 @@ void radeon_gpu_mc_resume(struct gpu_state *gpuState); status_t radeon_gpu_mc_idlewait(); status_t radeon_gpu_mc_setup(); status_t radeon_gpu_ring_setup(); +status_t radeon_gpu_ring_boot(uint32 ringType); status_t radeon_gpu_ss_disable();