[haiku-commits] haiku: hrev43296 - src/add-ons/accelerants/radeon_hd

  • From: kallisti5@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 20 Nov 2011 23:59:19 +0100 (CET)

hrev43296 adds 1 changeset to branch 'master'
old head: 021332df5dcdfa8f8a1584a53328e303ae5beec8
new head: 3383e56426351ecd8da51033ae84f28eeffe4bbb

----------------------------------------------------------------------------

1 files changed, 18 insertions(+), 3 deletions(-)
src/add-ons/accelerants/radeon_hd/gpu.cpp |   21 ++++++++++++++++++---

############################################################################

Revision:    hrev43296
Commit:      3383e56426351ecd8da51033ae84f28eeffe4bbb
URL:         http://cgit.haiku-os.org/haiku/commit/?id=3383e56
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sun Nov 20 22:58:47 2011 UTC

Improve GPU memory controller idle check

* style fix
* add better tracing for non-idle memory controller conditions

----------------------------------------------------------------------------

diff --git a/src/add-ons/accelerants/radeon_hd/gpu.cpp 
b/src/add-ons/accelerants/radeon_hd/gpu.cpp
index 87c97be..7fd1101 100644
--- a/src/add-ons/accelerants/radeon_hd/gpu.cpp
+++ b/src/add-ons/accelerants/radeon_hd/gpu.cpp
@@ -217,11 +217,26 @@ uint32
 radeon_gpu_mc_idlecheck()
 {
        uint32 idleStatus;
-       if (!((idleStatus = Read32(MC, SRBM_STATUS)) &
-               (VMC_BUSY | MCB_BUSY |
-                       MCDZ_BUSY | MCDY_BUSY | MCDX_BUSY | MCDW_BUSY)))
+
+       uint32 busyBits
+               = (VMC_BUSY | MCB_BUSY | MCDZ_BUSY | MCDY_BUSY | MCDX_BUSY | 
MCDW_BUSY);
+       if (!((idleStatus = Read32(MC, SRBM_STATUS)) & busyBits))
                return 0;
 
+       bool state;
+       state = (idleStatus & VMC_BUSY) != 0;
+       TRACE("%s: VMC is %s\n", __func__, state ? "busy" : "idle");
+       state = (idleStatus & MCB_BUSY) != 0;
+       TRACE("%s: MCB is %s\n", __func__, state ? "busy" : "idle");
+       state = (idleStatus & MCDZ_BUSY) != 0;
+       TRACE("%s: MCDZ is %s\n", __func__, state ? "busy" : "idle");
+       state = (idleStatus & MCDY_BUSY) != 0;
+       TRACE("%s: MCDY is %s\n", __func__, state ? "busy" : "idle");
+       state = (idleStatus & MCDX_BUSY) != 0;
+       TRACE("%s: MCDX is %s\n", __func__, state ? "busy" : "idle");
+       state = (idleStatus & MCDW_BUSY) != 0;
+       TRACE("%s: MCDW is %s\n", __func__, state ? "busy" : "idle");
+
        return idleStatus;
 }
 


Other related posts:

  • » [haiku-commits] haiku: hrev43296 - src/add-ons/accelerants/radeon_hd - kallisti5