SWDEV-380792 - Fix floating point exception when maxEngineClockFrequency_ is 0

Change-Id: Ic443ceae586c4c84995ed2abef9bd7f32f8b60f9


[ROCm/clr commit: b798c85272]
This commit is contained in:
jatang
2023-02-03 17:42:01 -05:00
committed by Jason Tang
orang tua 1f19ae8227
melakukan 43e9497462
2 mengubah file dengan 7 tambahan dan 2 penghapusan
@@ -2691,7 +2691,10 @@ bool KernelBlitManager::runScheduler(uint64_t vqVM, amd::Memory* schedulerParam,
sp->vqueue_header = vqVM;
sp->parentAQL = sp->kernarg_address + sizeof(SchedulerParam);
sp->eng_clk = (1000 * 1024) / dev().info().maxEngineClockFrequency_;
if (dev().info().maxEngineClockFrequency_ > 0) {
sp->eng_clk = (1000 * 1024) / dev().info().maxEngineClockFrequency_;
}
// Use a device side global atomics to workaround the reliance of PCIe 3 atomics
sp->write_index = hsa_queue_load_write_index_relaxed(schedulerQueue);
@@ -1147,7 +1147,9 @@ bool Device::populateOCLDeviceConstants() {
//TODO: add the assert statement for Raven
if (!(isa().versionMajor() == 9 && isa().versionMinor() == 0 && isa().versionStepping() == 2)) {
assert(info_.maxEngineClockFrequency_ > 0);
if (info_.maxEngineClockFrequency_ <= 0) {
LogError("maxEngineClockFrequency_ is NOT positive!");
}
}
if (HSA_STATUS_SUCCESS !=