Messages in this thread | | | From | "Lee, Zhuo-hao" <> | Subject | RE: [PATCH v1] i2c: designware: save the preset value of DW_IC_SDA_HOLD | Date | Wed, 31 Aug 2016 00:24:36 +0000 |
| |
>On Sat, Aug 27, 2016 at 03:39:30PM +0800, Zhuo-hao Lee wrote: >> There are several ways to set the SDA hold time for i2c controller, >> including: Device Tree, built-in device properties and ACPI. However, >> if the SDA hold time is not specified by above method, we should read >> the value, where it is preset by firmware, and save it to >> sda_hold_time. This is needed because when i2c controller enters >> runtime suspend, the DW_IC_SDA_HOLD value will be reset to chipset >> default value. And during runtime resume, i2c_dw_init will be called >> to reconfigure i2c controller. If sda_hold_time is zero, the chipset >> default hold time will be used, that will be too short for some >> platforms. Therefore, to have a better tolerance, the DW_IC_SDA_HOLD >> value should be kept by sda_hold_time. >> >> Signed-off-by: Zhuo-hao Lee <zhuo-hao.lee@intel.com>
>Looks good. But is it a bugfix? Looks more like for-next material to me, but not sure... Yes, as least for me, this is a bug. This is an error handling in case Device Tree, built-in device properties and ACPI were not set the SDA hold time. We should use the firmware setting instead of chipset reset value.
| |