> same thread." [1] Thus I'd suggest the next fix for the problem: > > --- a/drivers/i2c/busses/i2c-designware-common.c > +++ b/drivers/i2c/busses/i2c-designware-common.c > @@ -72,7 +72,10 @@ static int dw_reg_write(void *context, unsigned int reg, unsigned int val) > { > struct dw_i2c_dev *dev = context; > > - writel_relaxed(val, dev->base + reg); > + if (reg == DW_IC_INTR_MASK) > + writel(val, dev->base + reg); > + else > + writel_relaxed(val, dev->base + reg); > > return 0; > } > > (and similar changes for dw_reg_write_swab() and dw_reg_write_word().) > > What do you think? To me, this looks reasonable and much more what I would have expected as a result (from a high level point of view). Let's hope it works. I am optimistic, though...
Attachment:
signature.asc
Description: PGP signature