Skip to content

Commit 676547b

Browse files
Pass name string into I2C DIMM detectors, store name in KingstonFuryDRAMController to avoid setting it in detector
1 parent c82a605 commit 676547b

11 files changed

Lines changed: 222 additions & 242 deletions

File tree

Controllers/CorsairVengeanceController/CorsairVengeanceControllerDetect.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ bool TestForCorsairVengeanceController(i2c_smbus_interface* bus, unsigned char a
6161
* *
6262
\******************************************************************************************/
6363

64-
void DetectCorsairVengeanceControllers(i2c_smbus_interface* bus, std::vector<SPDWrapper*> &slots)
64+
void DetectCorsairVengeanceControllers(i2c_smbus_interface* bus, std::vector<SPDWrapper*> &slots, const std::string &/*name*/)
6565
{
6666
for(SPDWrapper *slot : slots)
6767
{

Controllers/HyperXDRAMController/HyperXDRAMControllerDetect.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ bool TestForHyperXDRAMController(i2c_smbus_interface* bus, unsigned char address
6767
* *
6868
\******************************************************************************************/
6969

70-
void DetectHyperXDRAMControllers(i2c_smbus_interface* bus, std::vector<SPDWrapper*> &slots)
70+
void DetectHyperXDRAMControllers(i2c_smbus_interface* bus, std::vector<SPDWrapper*> &slots, const std::string &/*name*/)
7171
{
7272
unsigned char slots_valid = 0x00;
7373
bool fury_detected = false;

Controllers/KingstonFuryDRAMController/KingstonFuryDRAMController.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
#include "RGBController.h"
1717
#include "LogManager.h"
1818

19-
KingstonFuryDRAMController::KingstonFuryDRAMController(
20-
i2c_smbus_interface* bus, unsigned char base_addr, std::vector<int> slots)
19+
KingstonFuryDRAMController::KingstonFuryDRAMController(i2c_smbus_interface* bus, unsigned char base_addr, std::vector<int> slots, std::string dev_name)
2120
{
2221
this->bus = bus;
2322
this->base_addr = base_addr;
2423
this->slots = slots;
24+
this->name = dev_name;
2525

2626
reg_cache.resize(slots.size());
2727
}
@@ -47,6 +47,11 @@ std::string KingstonFuryDRAMController::GetDeviceLocation()
4747
return("I2C: " + return_string);
4848
}
4949

50+
std::string KingstonFuryDRAMController::GetDeviceName()
51+
{
52+
return(name);
53+
}
54+
5055
unsigned int KingstonFuryDRAMController::GetLEDCount()
5156
{
5257
return(GetLEDPerDIMM() * (unsigned int)slots.size());

Controllers/KingstonFuryDRAMController/KingstonFuryDRAMController.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,11 @@ enum
124124
class KingstonFuryDRAMController
125125
{
126126
public:
127-
KingstonFuryDRAMController(i2c_smbus_interface* bus, unsigned char base_addr, std::vector<int> slots);
127+
KingstonFuryDRAMController(i2c_smbus_interface* bus, unsigned char base_addr, std::vector<int> slots, std::string dev_name);
128128

129129
std::string GetDeviceLocation();
130+
std::string GetDeviceName();
131+
130132
unsigned int GetLEDCount();
131133
unsigned int GetLEDPerDIMM();
132134
unsigned int GetSlotCount();
@@ -152,5 +154,6 @@ class KingstonFuryDRAMController
152154
i2c_smbus_interface* bus;
153155
std::vector<int> slots;
154156
unsigned char base_addr;
157+
std::string name;
155158
std::vector<std::map<unsigned char, unsigned char>> reg_cache;
156159
};

Controllers/KingstonFuryDRAMController/KingstonFuryDRAMControllerDetect.cpp

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -164,41 +164,37 @@ void DetectKingstonFuryDRAMControllers(i2c_smbus_interface* bus, std::vector<SPD
164164
* *
165165
\******************************************************************************************/
166166

167-
void DetectKingstonFuryDDR4Controllers(i2c_smbus_interface* bus, std::vector<SPDWrapper*> &slots)
167+
void DetectKingstonFuryDDR4Controllers(i2c_smbus_interface* bus, std::vector<SPDWrapper*> &slots, const std::string &name)
168168
{
169169
std::vector<int> fury_slots;
170170

171171
DetectKingstonFuryDRAMControllers(bus, slots, FURY_BASE_ADDR_DDR4, TestDDR4Models, fury_slots);
172172

173173
if(!fury_slots.empty())
174174
{
175-
KingstonFuryDRAMController* controller =
176-
new KingstonFuryDRAMController(bus, FURY_BASE_ADDR_DDR4, fury_slots);
177-
RGBController_KingstonFuryDRAM* rgb_controller =
178-
new RGBController_KingstonFuryDRAM(controller);
179-
rgb_controller->name = "Kingston Fury DDR4 RGB";
175+
KingstonFuryDRAMController* controller = new KingstonFuryDRAMController(bus, FURY_BASE_ADDR_DDR4, fury_slots, name);
176+
RGBController_KingstonFuryDRAM* rgb_controller = new RGBController_KingstonFuryDRAM(controller);
177+
180178
ResourceManager::get()->RegisterRGBController(rgb_controller);
181179
}
182180
}
183181

184-
void DetectKingstonFuryDDR5Controllers(i2c_smbus_interface* bus, std::vector<SPDWrapper*> &slots)
182+
void DetectKingstonFuryDDR5Controllers(i2c_smbus_interface* bus, std::vector<SPDWrapper*> &slots, const std::string &name)
185183
{
186184
std::vector<int> fury_slots;
187185

188186
DetectKingstonFuryDRAMControllers(bus, slots, FURY_BASE_ADDR_DDR5, TestDDR5Models, fury_slots);
189187

190188
if(!fury_slots.empty())
191189
{
192-
KingstonFuryDRAMController* controller =
193-
new KingstonFuryDRAMController(bus, FURY_BASE_ADDR_DDR5, fury_slots);
194-
RGBController_KingstonFuryDRAM* rgb_controller =
195-
new RGBController_KingstonFuryDRAM(controller);
196-
rgb_controller->name = "Kingston Fury DDR5 RGB";
190+
KingstonFuryDRAMController* controller = new KingstonFuryDRAMController(bus, FURY_BASE_ADDR_DDR5, fury_slots, name);
191+
RGBController_KingstonFuryDRAM* rgb_controller = new RGBController_KingstonFuryDRAM(controller);
192+
197193
ResourceManager::get()->RegisterRGBController(rgb_controller);
198194
}
199195
}
200196

201-
REGISTER_I2C_DIMM_DETECTOR("Kingston Fury DDR4 DRAM", DetectKingstonFuryDDR4Controllers, JEDEC_KINGSTON, SPD_DDR4_SDRAM);
202-
REGISTER_I2C_DIMM_DETECTOR("Kingston Fury DDR5 DRAM", DetectKingstonFuryDDR5Controllers, JEDEC_KINGSTON, SPD_DDR5_SDRAM);
203-
REGISTER_I2C_DIMM_DETECTOR("Kingston JEDEC2 Fury DDR4 DRAM", DetectKingstonFuryDDR4Controllers, JEDEC_KINGSTON_2, SPD_DDR4_SDRAM);
204-
REGISTER_I2C_DIMM_DETECTOR("Kingston JEDEC2 Fury DDR5 DRAM", DetectKingstonFuryDDR5Controllers, JEDEC_KINGSTON_2, SPD_DDR5_SDRAM);
197+
REGISTER_I2C_DIMM_DETECTOR("Kingston Fury DDR4 DRAM", DetectKingstonFuryDDR4Controllers, JEDEC_KINGSTON, SPD_DDR4_SDRAM);
198+
REGISTER_I2C_DIMM_DETECTOR("Kingston Fury DDR4 DRAM", DetectKingstonFuryDDR4Controllers, JEDEC_KINGSTON_2, SPD_DDR4_SDRAM);
199+
REGISTER_I2C_DIMM_DETECTOR("Kingston Fury DDR5 DRAM", DetectKingstonFuryDDR5Controllers, JEDEC_KINGSTON, SPD_DDR5_SDRAM);
200+
REGISTER_I2C_DIMM_DETECTOR("Kingston Fury DDR5 DRAM", DetectKingstonFuryDDR5Controllers, JEDEC_KINGSTON_2, SPD_DDR5_SDRAM);

0 commit comments

Comments
 (0)