From 6ea107f8686a4f1d256eed917ac29c1f770f81cb Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Thu, 29 Sep 2022 19:30:42 -0500 Subject: [PATCH] Attempt to fix write --- i2c_smbus/i2c_smbus_amdadl.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/i2c_smbus/i2c_smbus_amdadl.cpp b/i2c_smbus/i2c_smbus_amdadl.cpp index 060742b76..b43d0d804 100644 --- a/i2c_smbus/i2c_smbus_amdadl.cpp +++ b/i2c_smbus/i2c_smbus_amdadl.cpp @@ -170,6 +170,7 @@ s32 i2c_smbus_amdadl::i2c_smbus_xfer(u8 addr, char read_write, u8 command, int s break; case I2C_SMBUS_BLOCK_DATA: + return -1; data_size = data->block[0]; pI2C->pcData = (char*)&data->block[1]; break; @@ -196,7 +197,12 @@ s32 i2c_smbus_amdadl::i2c_smbus_xfer(u8 addr, char read_write, u8 command, int s else { pI2C->iAction = ADL_DL_I2C_ACTIONWRITE; - pI2C->iDataSize = data_size; + pI2C->iDataSize = data_size + 1; + pI2C->pcData = i2c_buf; + + i2c_buf[0] = command; + memcpy(&i2c_buf[1], data, data_size); + ret = ADL2_Display_WriteAndReadI2C(context, PrimaryDisplay, pI2C); }