Message ID | 20180217140051.22731-1-linus.walleij@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 17 February 2018 at 14:00, Linus Walleij <linus.walleij@linaro.org> wrote: > The tx function of the DDC I2C slave emulation was returning 1 > on all writes resulting in NACK in the I2C bus. Changing it to > 0 makes the DDC I2C work fine with bit-banged I2C such as the > versatile I2C. > > I guess it was not affecting whatever I2C controller this was > used with until now, but with the Versatile I2C it surely > does not work. > > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > --- > hw/i2c/i2c-ddc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/i2c/i2c-ddc.c b/hw/i2c/i2c-ddc.c > index 199dac9e41c1..bec0c91e2dd0 100644 > --- a/hw/i2c/i2c-ddc.c > +++ b/hw/i2c/i2c-ddc.c > @@ -259,12 +259,12 @@ static int i2c_ddc_tx(I2CSlave *i2c, uint8_t data) > s->reg = data; > s->firstbyte = false; > DPRINTF("[EDID] Written new pointer: %u\n", data); > - return 1; > + return 0; > } > > /* Ignore all writes */ > s->reg++; > - return 1; > + return 0; > } > > static void i2c_ddc_init(Object *obj) > -- > 2.14.3 Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Does the guest attempting writes mean that we're missing functionality that the hardware has? Is it interesting? PS: I didn't see a cover letter email with this patchset -- if you can send a cover letter with multi-email patchsets that makes our automated tooling much happier. thanks -- PMM
diff --git a/hw/i2c/i2c-ddc.c b/hw/i2c/i2c-ddc.c index 199dac9e41c1..bec0c91e2dd0 100644 --- a/hw/i2c/i2c-ddc.c +++ b/hw/i2c/i2c-ddc.c @@ -259,12 +259,12 @@ static int i2c_ddc_tx(I2CSlave *i2c, uint8_t data) s->reg = data; s->firstbyte = false; DPRINTF("[EDID] Written new pointer: %u\n", data); - return 1; + return 0; } /* Ignore all writes */ s->reg++; - return 1; + return 0; } static void i2c_ddc_init(Object *obj)
The tx function of the DDC I2C slave emulation was returning 1 on all writes resulting in NACK in the I2C bus. Changing it to 0 makes the DDC I2C work fine with bit-banged I2C such as the versatile I2C. I guess it was not affecting whatever I2C controller this was used with until now, but with the Versatile I2C it surely does not work. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- hw/i2c/i2c-ddc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)