On 24.07.2015 13:52, Wolfram Sang wrote: > >> At the begin of my work on this patchset I even denied clock disable call if >> slave is registered (to minimize code that can affect transfer). > > I hacked something like this, but it seems it was not enough. > >> If only slave mode is used, then this logic is not needed. > > This is not sufficent. We shouldn't break being a master only because we > also listen to a slave address (as long as the HW supports that of > course). > >> tegra_i2c_init is called on probe and resume. Also it is called in case of >> xfer fail. If xfer is ok, then I think slave addr must be kept unchanged. > > This is fragile. Try scanning the bus with i2cdetect and slave setup > will be gone. > >> As far as I understand it is a loopback mode. Probably it will not work >> (Stephen Warren already mentioned this). > > Just to make clear: I am not saying we should support talking to our own > slave address. But it should still be possible to communicate with other > remote devices on the bus. Sorry for the long delay. I tried to analyze the issue. Attached patch works on AC100 (Misha Komarovsky helped me with testing). Wolfram could you please try the patch with your environment? Thanks.