Skip to content

Commit 3608caf

Browse files
committed
Implement i2c bus check for PowerColor Red Devil GPUs
1 parent 4e0c09e commit 3608caf

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

Controllers/PowerColorGPUController/PowerColorGPUControllerDetect.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
#include "Detector.h"
1313
#include "pci_ids.h"
14+
#include "i2c_amd_gpu.h"
1415
#include "PowerColorRedDevilV1Controller/RGBController_PowerColorRedDevilV1.h"
1516
#include "PowerColorRedDevilV1Controller/PowerColorRedDevilV1Controller.h"
1617
#include "PowerColorRedDevilV2Controller/RGBController_PowerColorRedDevilV2.h"
@@ -27,6 +28,11 @@ static const unsigned char magic_v2[3] = {0x01, 0x32, 0x00};
2728

2829
void DetectPowerColorRedDevilGPUControllersV1(i2c_smbus_interface* bus, uint8_t i2c_addr, const std::string& name)
2930
{
31+
if(!is_amd_gpu_i2c_bus(bus))
32+
{
33+
return;
34+
}
35+
3036
unsigned char data[3];
3137
int ret = bus->i2c_smbus_read_i2c_block_data(i2c_addr, RED_DEVIL_V1_REG_MAGIC, 3, data);
3238
if(ret == 3 && memcmp(data, magic_v1, 3) == 0)
@@ -41,6 +47,11 @@ void DetectPowerColorRedDevilGPUControllersV1(i2c_smbus_interface* bus, uint8_t
4147

4248
void DetectPowerColorRedDevilGPUControllersV2(i2c_smbus_interface* bus, uint8_t i2c_addr, const std::string& name)
4349
{
50+
if(!is_amd_gpu_i2c_bus(bus))
51+
{
52+
return;
53+
}
54+
4455
unsigned char data[3];
4556
int ret = bus->i2c_smbus_read_i2c_block_data(i2c_addr, RED_DEVIL_V2_READ_REG_MAGIC, 3, data);
4657
if(ret == 3 && memcmp(data, magic_v2, 3) == 0)
@@ -58,4 +69,4 @@ REGISTER_I2C_PCI_DETECTOR("PowerColor Red Devil RX6750XT", DetectPowerC
5869
REGISTER_I2C_PCI_DETECTOR("PowerColor Red Devil RX6800XT", DetectPowerColorRedDevilGPUControllersV1, AMD_GPU_VEN, AMD_NAVI21_DEV1, POWERCOLOR_SUB_VEN, POWERCOLOR_RED_DEVIL_RX6800XT_SUB_DEV, 0x22);
5970
REGISTER_I2C_PCI_DETECTOR("PowerColor Red Devil RX6900XT Ultimate", DetectPowerColorRedDevilGPUControllersV1, AMD_GPU_VEN, AMD_NAVI21_DEV2, POWERCOLOR_SUB_VEN, POWERCOLOR_RED_DEVIL_RX6900XT_ULTIMATE_SUB_DEV, 0x22);
6071

61-
REGISTER_I2C_PCI_DETECTOR("PowerColor Red Devil RX9070XT", DetectPowerColorRedDevilGPUControllersV2, AMD_GPU_VEN, AMD_NAVI48_DEV, POWERCOLOR_SUB_VEN, POWERCOLOR_RED_DEVIL_RX9070XT_SUB_DEV, 0x22);
72+
REGISTER_I2C_PCI_DETECTOR("PowerColor Red Devil RX9070XT", DetectPowerColorRedDevilGPUControllersV2, AMD_GPU_VEN, AMD_NAVI48_DEV, POWERCOLOR_SUB_VEN, POWERCOLOR_RED_DEVIL_RX9070XT_SUB_DEV, 0x22);

0 commit comments

Comments
 (0)