diff options
Diffstat (limited to 'results/classifier/118/network/1174')
| -rw-r--r-- | results/classifier/118/network/1174 | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/results/classifier/118/network/1174 b/results/classifier/118/network/1174 new file mode 100644 index 00000000..5e933de1 --- /dev/null +++ b/results/classifier/118/network/1174 @@ -0,0 +1,43 @@ +network: 0.855 +device: 0.851 +kernel: 0.819 +ppc: 0.808 +graphic: 0.805 +performance: 0.771 +architecture: 0.711 +register: 0.676 +mistranslation: 0.670 +PID: 0.594 +files: 0.578 +semantic: 0.564 +vnc: 0.518 +peripherals: 0.508 +socket: 0.494 +permissions: 0.438 +arm: 0.435 +VMM: 0.431 +TCG: 0.414 +i386: 0.403 +x86: 0.393 +user-level: 0.359 +risc-v: 0.324 +boot: 0.306 +debug: 0.291 +KVM: 0.265 +hypervisor: 0.247 +virtual: 0.210 +assembly: 0.156 + +aspeed: Fix first byte in I2C old register mode slave receive +Description of problem: +The first byte of data received through the Aspeed I2C slave controller through the old-register mode (specifically byte-buffered, not pool buffered or DMA buffered) is incorrect. It should be the 8-bit I2C slave address for the transfer, which will be the 7-bit I2C slave address of the I2C controller shifted left 1, and 1 or 0 for the lowest bit (is-slave-to-master-transfer, or is-master-to-slave-transfer). +Steps to reproduce: +You could use the simulated I2C slave EEPROM https://docs.kernel.org/i2c/slave-eeprom-backend.html, but you need another I2C model to send data to it. + +Alternatively, you can take this downstream patch and run the qtest in it. It has a test case for slave-mode rx in old-register mode: + +https://github.com/facebook/openbmc/blob/helium/common/recipes-devtools/qemu/qemu/0008-hw-misc-Add-byte-by-byte-i2c-network-device.patch +Additional information: +I already created the fix, it's pretty simple, I submitted it to the mailing list and Klaus (the author of that section of the Aspeed I2C controller) reviewed it. https://lore.kernel.org/qemu-devel/20220820225712.713209-1-peter@pjd.dev/#t + +This is relatively critical fix, but since slave-mode I2C is not widely used at this point, it's probably fine to ship with this bug. My team uses the master branch for everything anyways. |