From 8c54ade3c20ce8ab8c419ddff28aa2b960638a2a Mon Sep 17 00:00:00 2001 From: foreman Date: Thu, 7 Dec 2017 17:08:40 -0500 Subject: [PATCH] P4 to Git Change 1491909 by gandryey@gera-w8 on 2017/12/07 16:33:58 SWDEV-79445 - OCL generic changes and code clean-up - Add device validation call for LiquidFlash library before usage. Affected files ... ... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_lqdflash_amd.cpp#23 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#294 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/pro/prodevice.hpp#4 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/pro/prodriver.hpp#2 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#77 edit [ROCm/clr commit: 0604712f5a8c89dfe320062081fd6306d3bfb4b2] --- projects/clr/rocclr/runtime/device/device.hpp | 4 ++++ projects/clr/rocclr/runtime/device/rocm/pro/prodevice.hpp | 5 +++++ projects/clr/rocclr/runtime/device/rocm/pro/prodriver.hpp | 1 + projects/clr/rocclr/runtime/device/rocm/rocdevice.cpp | 1 + 4 files changed, 11 insertions(+) diff --git a/projects/clr/rocclr/runtime/device/device.hpp b/projects/clr/rocclr/runtime/device/device.hpp index 8d58fc5a32..c3f1cb2cd4 100644 --- a/projects/clr/rocclr/runtime/device/device.hpp +++ b/projects/clr/rocclr/runtime/device/device.hpp @@ -575,6 +575,10 @@ struct Info : public amd::EmbeddedObject { size_t globalVariablePreferredTotalSize_; //! Driver store location char driverStore_[200]; + //! Device ID + uint32_t pcieDeviceId_; + //! Revision ID + uint32_t pcieRevisionId_; }; //! Device settings diff --git a/projects/clr/rocclr/runtime/device/rocm/pro/prodevice.hpp b/projects/clr/rocclr/runtime/device/rocm/pro/prodevice.hpp index 8e0b3370ce..a4a18fec4f 100644 --- a/projects/clr/rocclr/runtime/device/rocm/pro/prodevice.hpp +++ b/projects/clr/rocclr/runtime/device/rocm/pro/prodevice.hpp @@ -35,6 +35,11 @@ public: virtual void* AllocDmaBuffer( hsa_agent_t agent, size_t size, void** host_ptr) const override; virtual void FreeDmaBuffer(void* ptr) const override; + virtual void GetAsicIdAndRevisionId(uint32_t* asic_id, uint32_t* rev_id) const override + { + *asic_id = gpu_info_.asic_id; + *rev_id = gpu_info_.pci_rev_id; + } private: static void* lib_drm_handle_; diff --git a/projects/clr/rocclr/runtime/device/rocm/pro/prodriver.hpp b/projects/clr/rocclr/runtime/device/rocm/pro/prodriver.hpp index 85feafbb9e..593e4e3922 100644 --- a/projects/clr/rocclr/runtime/device/rocm/pro/prodriver.hpp +++ b/projects/clr/rocclr/runtime/device/rocm/pro/prodriver.hpp @@ -22,6 +22,7 @@ public: virtual void* AllocDmaBuffer(hsa_agent_t agent, size_t size, void** host_ptr) const = 0; virtual void FreeDmaBuffer(void* ptr) const = 0; + virtual void GetAsicIdAndRevisionId(uint32_t* asic_id, uint32_t* rev_id) const = 0; IProDevice() {} virtual ~IProDevice() {} diff --git a/projects/clr/rocclr/runtime/device/rocm/rocdevice.cpp b/projects/clr/rocclr/runtime/device/rocm/rocdevice.cpp index 673d217c5e..1926f5323f 100644 --- a/projects/clr/rocclr/runtime/device/rocm/rocdevice.cpp +++ b/projects/clr/rocclr/runtime/device/rocm/rocdevice.cpp @@ -568,6 +568,7 @@ bool Device::create() { if (pro_device_ != nullptr) { pro_ena_ = true; settings_->enableExtension(ClAMDLiquidFlash); + pro_device_->GetAsicIdAndRevisionId(&info_.pcieDeviceId_, &info_.pcieRevisionId_); } #endif