Add Intel vendor ID to DRAM SMBus check
This commit is contained in:
parent
d41e817253
commit
9b2315234f
2 changed files with 29 additions and 2 deletions
|
|
@ -530,7 +530,27 @@ void i2c_smbus_i801_detect(std::vector<i2c_smbus_interface*> &busses)
|
||||||
{
|
{
|
||||||
unsigned int IORangeStart = std::stoi(matches[1].str());
|
unsigned int IORangeStart = std::stoi(matches[1].str());
|
||||||
|
|
||||||
bus = new i2c_smbus_i801();
|
std::string pnp_str = i["DeviceID"];
|
||||||
|
|
||||||
|
std::size_t ven_loc = pnp_str.find("VEN_");
|
||||||
|
std::size_t dev_loc = pnp_str.find("DEV_");
|
||||||
|
std::size_t sub_loc = pnp_str.find("SUBSYS_");
|
||||||
|
|
||||||
|
std::string ven_str = pnp_str.substr(ven_loc + 4, 4);
|
||||||
|
std::string dev_str = pnp_str.substr(dev_loc + 4, 4);
|
||||||
|
std::string sbv_str = pnp_str.substr(sub_loc + 11, 4);
|
||||||
|
std::string sbd_str = pnp_str.substr(sub_loc + 7, 4);
|
||||||
|
|
||||||
|
int ven_id = (int)std::stoul(ven_str, nullptr, 16);
|
||||||
|
int dev_id = (int)std::stoul(dev_str, nullptr, 16);
|
||||||
|
int sbv_id = (int)std::stoul(sbv_str, nullptr, 16);
|
||||||
|
int sbd_id = (int)std::stoul(sbd_str, nullptr, 16);
|
||||||
|
|
||||||
|
bus = new i2c_smbus_i801();
|
||||||
|
bus->pci_vendor = ven_id;
|
||||||
|
bus->pci_device = dev_id;
|
||||||
|
bus->pci_subsystem_vendor = sbv_id;
|
||||||
|
bus->pci_subsystem_device = sbd_id;
|
||||||
strcpy(bus->device_name, i["Description"].c_str());
|
strcpy(bus->device_name, i["Description"].c_str());
|
||||||
((i2c_smbus_i801 *)bus)->i801_smba = IORangeStart;
|
((i2c_smbus_i801 *)bus)->i801_smba = IORangeStart;
|
||||||
busses.push_back(bus);
|
busses.push_back(bus);
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
\*---------------------------------------------------------*/
|
\*---------------------------------------------------------*/
|
||||||
#define AMD_VEN 0x1022
|
#define AMD_VEN 0x1022
|
||||||
#define AMD_GPU_VEN 0x1002
|
#define AMD_GPU_VEN 0x1002
|
||||||
|
#define INTEL_VEN 0x8086
|
||||||
#define NVIDIA_VEN 0x10DE
|
#define NVIDIA_VEN 0x10DE
|
||||||
|
|
||||||
/*-----------------------------------------------------*\
|
/*-----------------------------------------------------*\
|
||||||
|
|
@ -15,6 +16,11 @@
|
||||||
\*-----------------------------------------------------*/
|
\*-----------------------------------------------------*/
|
||||||
#define AMD_RX580_DEV 0x67DF
|
#define AMD_RX580_DEV 0x67DF
|
||||||
|
|
||||||
|
/*-----------------------------------------------------*\
|
||||||
|
| Intel Device IDs |
|
||||||
|
\*-----------------------------------------------------*/
|
||||||
|
#define INTEL_ICH10_SMBUS_DEV 0x3A30
|
||||||
|
|
||||||
/*-----------------------------------------------------*\
|
/*-----------------------------------------------------*\
|
||||||
| nVidia Device IDs |
|
| nVidia Device IDs |
|
||||||
\*-----------------------------------------------------*/
|
\*-----------------------------------------------------*/
|
||||||
|
|
@ -32,6 +38,7 @@
|
||||||
\*---------------------------------------------------------*/
|
\*---------------------------------------------------------*/
|
||||||
#define ASUS_SUB_VEN 0x1043
|
#define ASUS_SUB_VEN 0x1043
|
||||||
#define EVGA_SUB_VEN 0x3842
|
#define EVGA_SUB_VEN 0x3842
|
||||||
|
#define GIGABYTE_SUB_VEN 0x1458
|
||||||
#define MSI_SUB_VEN 0x1462
|
#define MSI_SUB_VEN 0x1462
|
||||||
#define SAPPHIRE_SUB_VEN 0x1DA2
|
#define SAPPHIRE_SUB_VEN 0x1DA2
|
||||||
|
|
||||||
|
|
@ -67,4 +74,4 @@
|
||||||
| PCI ID Macros |
|
| PCI ID Macros |
|
||||||
\*---------------------------------------------------------*/
|
\*---------------------------------------------------------*/
|
||||||
#define IF_DRAM_SMBUS(ven, dev) \
|
#define IF_DRAM_SMBUS(ven, dev) \
|
||||||
if((ven == AMD_VEN) && (dev == AMD_FCH_SMBUS_DEV))
|
if((ven == AMD_VEN) || (ven == INTEL_VEN))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue