[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [PATCH for 2.10 v2 20/20] i2c/exynos4210: fix write t
From: |
Michael Tokarev |
Subject: |
Re: [Qemu-trivial] [PATCH for 2.10 v2 20/20] i2c/exynos4210: fix write to I2CADD register, bit 0 is not mapped |
Date: |
Fri, 28 Jul 2017 14:44:32 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
27.07.2017 05:42, Philippe Mathieu-Daudé wrote:
> From the Exynos4210 User Manual [1]:
>
> 14.4.1.3 I2CADDn (MULTI-MASTER I2C-Bus Address Register)
> [7-1] slave address, latched from the I2C-bus.
> bit [0] is not mapped.
>
> [1]: Exynos_4_Dual_45nm_User_Manaul_Public_REV1.00-0.pdf
Okay, so what happens when one writes to bit0?
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> hw/i2c/exynos4210_i2c.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/i2c/exynos4210_i2c.c b/hw/i2c/exynos4210_i2c.c
> index c96fa7d7be..e6a9ca8f03 100644
> --- a/hw/i2c/exynos4210_i2c.c
> +++ b/hw/i2c/exynos4210_i2c.c
> @@ -243,7 +243,7 @@ static void exynos4210_i2c_write(void *opaque, hwaddr
> offset,
> break;
> case I2CADD_ADDR:
> if ((s->i2cstat & I2CSTAT_OUTPUT_EN) == 0) {
> - s->i2cadd = v;
> + s->i2cadd = v & ~1;
Maybe a comment is a good idea here, saying that bit0 is unmapped.
Thanks,
/mjt
- [Qemu-trivial] [PATCH for 2.10 v2 17/20] bt-sdp: fix memory leak in sdp_service_record_build(), (continued)
- [Qemu-trivial] [PATCH for 2.10 v2 19/20] spapr_vio: fix overflow of qdevs in spapr_dt_vdevice(), Philippe Mathieu-Daudé, 2017/07/26
- [Qemu-trivial] [PATCH for 2.10 v2 20/20] i2c/exynos4210: fix write to I2CADD register, bit 0 is not mapped, Philippe Mathieu-Daudé, 2017/07/26
- Re: [Qemu-trivial] [PATCH for 2.10 v2 20/20] i2c/exynos4210: fix write to I2CADD register, bit 0 is not mapped,
Michael Tokarev <=
- Re: [Qemu-trivial] [PATCH for 2.10 v2 00/20] fix bugs reported by Clang Static Analyzer, Michael Tokarev, 2017/07/28