Re: [PATCH v3 2/3] i2c: designware: detect when dynamic tar update is possible

From: Jarkko Nikula
Date: Wed Aug 17 2016 - 04:05:45 EST


On 08/16/2016 05:07 PM, De Marchi, Lucas wrote:
On Tue, 2016-08-16 at 17:00 +0300, Jarkko Nikula wrote:
+ */
+ reg = dw_readl(dev, DW_IC_CON);
+ dw_writel(dev, reg ^ DW_IC_CON_10BITADDR_MASTER,
DW_IC_CON);
+
+ if ((dw_readl(dev, DW_IC_CON) &
DW_IC_CON_10BITADDR_MASTER) ==
+ (reg & DW_IC_CON_10BITADDR_MASTER)) {
+ dev->dynamic_tar_update_enabled = true;
+ dev_dbg(dev->dev, "Dynamic TAR update enabled");
+ }

Is this possible to move to i2c_dw_probe()? I guess the enabled
status
doesn't change runtime?

It was actually useful at this place during development of this patch
because we could check any unexpected change in behavior when resuming.
We did catch a bug because of this and fixed.
I'm not sure if now it makes more sense to move to probe method. I'd
leave it where it is, but I'm open to move it there.

Can you do a quick re-test that case to see does it change runtime? If it does then this needs a comment why there is need to do this check each time when HW is reinitialized. Otherwise there is chance someone may move this code to probe time in the future.

--
Jarkko