Fixed hipDeviceGetPCIBusId for HIP/HCC

Change-Id: I3688fa2476e1baada2d3c5fc3735cec3f15a1e21
This commit is contained in:
Rahul Garg
2017-06-28 23:48:27 +05:30
parent c782c68b1f
commit a7c727f352
3 changed files with 6 additions and 10 deletions
+4 -9
View File
@@ -376,15 +376,10 @@ hipError_t hipDeviceGetPCIBusId (char *pciBusId,int len, int device)
e = hipErrorInvalidDevice;
} else {
if((pciBusId != nullptr) && (len > 0)) {
int tempPciBusId = 0;
e = ihipDeviceGetAttribute( &tempPciBusId, hipDeviceAttributePciBusId, device);
if( e == hipSuccess) {
std::string tempPciStr = std::to_string(tempPciBusId);
if( len < tempPciStr.length()){
e = hipErrorInvalidValue;
} else {
memcpy( pciBusId , tempPciStr.c_str() , tempPciStr.length() );
}
auto deviceHandle = ihipGetDevice(device);
int retVal = snprintf(pciBusId,len, "%04x:%02x:%02x.0",deviceHandle->_props.pciDomainID,deviceHandle->_props.pciBusID,deviceHandle->_props.pciDeviceID);
if( retVal > 0 && retVal < len) {
e = hipSuccess;
}
}
}
+1 -1
View File
@@ -799,7 +799,7 @@ hipError_t ihipDevice_t::initProperties(hipDeviceProp_t* prop)
DeviceErrorCheck(err);
// BDFID is 16bit uint: [8bit - BusID | 5bit - Device ID | 3bit - Function/DomainID]
// prop->pciDomainID = bdf_id & 0x7;
prop->pciDomainID = bdf_id & 0x7;
prop->pciDeviceID = (bdf_id>>3) & 0x1F;
prop->pciBusID = (bdf_id>>8) & 0xFF;