Add environment flag to enable sdma workaround that will wait for the sdma queue to be idle before updating the write pointer. Add class to manage environment flags.

[git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1254004]


[ROCm/ROCR-Runtime commit: c95f96a9e4]
This commit is contained in:
Besar Wicaksono (xN/A) TX [TEXT]
2016-04-01 17:13:45 -05:00
parent fae50d66a8
commit 2caa405817
8 changed files with 171 additions and 21 deletions
@@ -54,9 +54,10 @@
#include "core/inc/agent.h"
#include "core/inc/memory_region.h"
#include "core/inc/signal.h"
#include "core/util/utils.h"
#include "core/util/flag.h"
#include "core/util/locks.h"
#include "core/util/os.h"
#include "core/util/utils.h"
#include "core/inc/amd_loader_context.hpp"
#include "amd_hsa_code.hpp"
@@ -301,6 +302,8 @@ class Runtime {
return system_deallocator_;
}
const Flag& flag() const { return flag_; }
ExtensionEntryPoints extensions_;
protected:
@@ -488,6 +491,9 @@ class Runtime {
// Holds reference count to runtime object.
volatile uint32_t ref_count_;
// Track environment variables.
Flag flag_;
// Frees runtime memory when the runtime library is unloaded if safe to do so.
// Failure to release the runtime indicates an incorrect application but is
// common (example: calls library routines at process exit).