]> git.ipfire.org Git - thirdparty/qemu.git/commit
hw/i2c/aspeed: Fix Tx count and Rx size error in buffer pool mode
authorHang Yu <francis_yuu@stu.pku.edu.cn>
Sat, 12 Aug 2023 06:52:28 +0000 (14:52 +0800)
committerMichael Tokarev <mjt@tls.msk.ru>
Sun, 10 Sep 2023 16:40:11 +0000 (19:40 +0300)
commit4a398e64ba8e9c1eced75217d856668c0d17e62e
treea972829cf94089c9a13cf151475b3e29c21254ec
parent4f6c55371743ba9d6512fcf4a88a5b5b8936037e
hw/i2c/aspeed: Fix Tx count and Rx size error in buffer pool mode

Fixed inconsistency between the regisiter bit field definition header file
and the ast2600 datasheet. The reg name is I2CD1C:Pool Buffer Control
Register in old register mode and  I2CC0C: Master/Slave Pool Buffer Control
Register in new register mode. They share bit field
[12:8]:Transmit Data Byte Count and bit field
[29:24]:Actual Received Pool Buffer Size according to the datasheet.
According to the ast2600 datasheet,the actual Tx count is
Transmit Data Byte Count plus 1, and the max Rx size is
Receive Pool Buffer Size plus 1, both in Pool Buffer Control Register.
The version before forgot to plus 1, and mistake Rx count for Rx size.

Signed-off-by: Hang Yu <francis_yuu@stu.pku.edu.cn>
Fixes: 3be3d6ccf2ad ("aspeed: i2c: Migrate to registerfields API")
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
(cherry picked from commit 97b8aa5ae9ff197394395eda5062ea3681e09c28)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
hw/i2c/aspeed_i2c.c
include/hw/i2c/aspeed_i2c.h