Re: renesas-drivers-2016-08-23-v4.8-rc3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> I noticed that Lager "ES3.0" board can't boot on this and previous -rc2 branch.
> In my and Shimoda-san's check, "ES2.0" seems have no problem.

I understand the issue now. It is not about ES3.0 vs. ES2.0, it is about
cold-boot vs. warm-boot. I remembered the DA9xxx interrupt storm
problems we had, and voila, I could reproduce the lockup on ES2.0 here,
but you need to cold-boot and have the da9xxx drivers enabled.

The fixup which we have in mach-shmobile/regulator-quirk-rcar-gen2.c is
flaky. It only works if the da9xxx devices are added before their
drivers are registered. Only then it can apply the fixes to both
devices. Otherwise, the driver for the first device gets probed before
the fix for the second can be applied. This is what happens with the IP
core switcher which is initialized after the i2c drivers are already
loaded. The same issue would happen without the IP core switcher if one
loads the I2C master driver as a module.

So, we need to disable both da9xxx once we detected one. I first had the
idea of installing mini i2c drivers which are loaded before the "real"
ones and prepare the devices accordingly and then hand over. But even
sketching this looks ugly, so I suggest to just use i2c_transfer with
hardcoded i2c_messages and device addresses. The fixup is used on
specific boards only, and the addresses are not going to change there.
If so, the new boards need a new compatible value.

I will work the i2c_transfer solution right after I had lunch.

Regards,

   Wolfram

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux