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
2829void 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
4248void 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
5869REGISTER_I2C_PCI_DETECTOR (" PowerColor Red Devil RX6800XT" , DetectPowerColorRedDevilGPUControllersV1, AMD_GPU_VEN, AMD_NAVI21_DEV1, POWERCOLOR_SUB_VEN, POWERCOLOR_RED_DEVIL_RX6800XT_SUB_DEV, 0x22 );
5970REGISTER_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