From bb982763252126a7157143c9fce402c8e0a1dca0 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Sat, 25 Dec 2021 00:41:17 -0600 Subject: [PATCH] Attempt to use only byte writes for ENE reads --- Controllers/ENESMBusController/ENESMBusControllerDetect.cpp | 3 ++- .../ENESMBusInterface/ENESMBusInterface_i2c_smbus.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Controllers/ENESMBusController/ENESMBusControllerDetect.cpp b/Controllers/ENESMBusController/ENESMBusControllerDetect.cpp index c4b8ade14..68a577dcb 100644 --- a/Controllers/ENESMBusController/ENESMBusControllerDetect.cpp +++ b/Controllers/ENESMBusController/ENESMBusControllerDetect.cpp @@ -121,7 +121,8 @@ static const gpu_pci_device device_list[] = unsigned char ENERegisterRead(i2c_smbus_interface* bus, ene_dev_id dev, ene_register reg) { //Write ENE register - bus->i2c_smbus_write_word_data(dev, 0x00, ((reg << 8) & 0xFF00) | ((reg >> 8) & 0x00FF)); + bus->i2c_smbus_write_byte_data(dev, 0x00, ((reg >> 8) & 0x00FF)); + bus->i2c_smbus_write_byte(dev, (reg & 0x00FF)); //Read ENE value return(bus->i2c_smbus_read_byte_data(dev, 0x81)); diff --git a/Controllers/ENESMBusController/ENESMBusInterface/ENESMBusInterface_i2c_smbus.cpp b/Controllers/ENESMBusController/ENESMBusInterface/ENESMBusInterface_i2c_smbus.cpp index 77989518f..2677038c6 100644 --- a/Controllers/ENESMBusController/ENESMBusInterface/ENESMBusInterface_i2c_smbus.cpp +++ b/Controllers/ENESMBusController/ENESMBusInterface/ENESMBusInterface_i2c_smbus.cpp @@ -27,7 +27,8 @@ int ENESMBusInterface_i2c_smbus::GetMaxBlock() unsigned char ENESMBusInterface_i2c_smbus::ENERegisterRead(ene_dev_id dev, ene_register reg) { //Write ENE register - bus->i2c_smbus_write_word_data(dev, 0x00, ((reg << 8) & 0xFF00) | ((reg >> 8) & 0x00FF)); + bus->i2c_smbus_write_byte_data(dev, 0x00, (reg & 0x00FF)); + bus->i2c_smbus_write_byte(dev, ((reg >> 8) & 0x00FF)); //Read ENE value return(bus->i2c_smbus_read_byte_data(dev, 0x81));