Leave out BFLG but leave in debug for observing

This commit is contained in:
Christoffer Sandberg 2023-02-17 11:49:19 +01:00
parent a2a7cbb8da
commit 555a5a0424
No known key found for this signature in database
GPG key ID: BF563F71B6C7A96D

View file

@ -126,20 +126,14 @@ static u32 uw_ec_read_addr_direct(u8 addr_low, u8 addr_high, union uw_ec_read_re
u32 result; u32 result;
u8 tmp, count, flags; u8 tmp, count, flags;
bool ready; bool ready;
bool bflag = false;
mutex_lock(&uniwill_ec_lock); mutex_lock(&uniwill_ec_lock);
ec_read(UNIWILL_EC_REG_FLAGS, &flags); ec_read(UNIWILL_EC_REG_FLAGS, &flags);
if ((flags & (1 << UNIWILL_EC_BIT_BFLG)) > 0) { if ((flags & (1 << UNIWILL_EC_BIT_BFLG)) > 0) {
pr_debug("read: BFLG set (high: 0x%0#2x, low: %0#2x)\n", addr_high, addr_low); pr_debug("read: BFLG set\n");
bflag = true;
// Note: weird behaviour but BFLG is always zeroed
flags &= ~(1 << UNIWILL_EC_BIT_BFLG);
ec_write(UNIWILL_EC_REG_FLAGS, flags);
mutex_unlock(&uniwill_ec_lock);
output->dword = 0xfefefefe;
return -EBUSY;
} }
flags |= (1 << UNIWILL_EC_BIT_BFLG); flags |= (1 << UNIWILL_EC_BIT_BFLG);
@ -178,6 +172,9 @@ static u32 uw_ec_read_addr_direct(u8 addr_low, u8 addr_high, union uw_ec_read_re
mutex_unlock(&uniwill_ec_lock); mutex_unlock(&uniwill_ec_lock);
if (bflag)
pr_debug("addr: 0x%02x%02x value: %0#4x result: %d\n", addr_high, addr_low, output->bytes.data_low, result);
// pr_debug("addr: 0x%02x%02x value: %0#4x result: %d\n", addr_high, addr_low, output->bytes.data_low, result); // pr_debug("addr: 0x%02x%02x value: %0#4x result: %d\n", addr_high, addr_low, output->bytes.data_low, result);
return result; return result;
@ -188,20 +185,14 @@ static u32 uw_ec_write_addr_direct(u8 addr_low, u8 addr_high, u8 data_low, u8 da
u32 result = 0; u32 result = 0;
u8 tmp, count, flags; u8 tmp, count, flags;
bool ready; bool ready;
bool bflag = false;
mutex_lock(&uniwill_ec_lock); mutex_lock(&uniwill_ec_lock);
ec_read(UNIWILL_EC_REG_FLAGS, &flags); ec_read(UNIWILL_EC_REG_FLAGS, &flags);
if ((flags & (1 << UNIWILL_EC_BIT_BFLG)) > 0) { if ((flags & (1 << UNIWILL_EC_BIT_BFLG)) > 0) {
pr_debug("write: BFLG set\n"); pr_debug("write: BFLG set\n");
bflag = true;
// Note: weird behaviour but BFLG is always zeroed
flags &= ~(1 << UNIWILL_EC_BIT_BFLG);
ec_write(UNIWILL_EC_REG_FLAGS, flags);
mutex_unlock(&uniwill_ec_lock);
output->dword = 0xfefefefe;
return -EBUSY;
} }
flags |= (1 << UNIWILL_EC_BIT_BFLG); flags |= (1 << UNIWILL_EC_BIT_BFLG);
@ -240,6 +231,9 @@ static u32 uw_ec_write_addr_direct(u8 addr_low, u8 addr_high, u8 data_low, u8 da
ec_write(UNIWILL_EC_REG_FLAGS, 0x00); ec_write(UNIWILL_EC_REG_FLAGS, 0x00);
if (bflag)
pr_debug("addr: 0x%02x%02x value: %0#4x result: %d\n", addr_high, addr_low, data_low, result);
mutex_unlock(&uniwill_ec_lock); mutex_unlock(&uniwill_ec_lock);
return result; return result;