[linux-yocto] [linux-yocto-dev][PATCH] i2c: i801: fix DNV's SMBCTRL register offset

Bruce Ashfield bruce.ashfield at windriver.com
Thu Sep 27 08:54:12 PDT 2018


On 09/27/2018 11:32 AM, Bruce Ashfield wrote:
> This will show up in the -stable updates. I typically prefer to
> wait for these to cycle through that process, rather than applying
> them directly .. since it means I will have rebase / conflicts when
> I merge the -stable updates.
> 
> That being said, it is fairly trivial, so I've applied it to the
> -dev kernel.
> 

I spoke to soon. this is already in the 4.18 -stable series,
so I just bumped linux-yocto-dev to include the .9 -stable.

Bruce

> Bruce
> 
> On 09/27/2018 02:58 AM, Yongxin Liu wrote:
>> From: Felipe Balbi <felipe.balbi at linux.intel.com>
>>
>> commit 851a15114895c5bce163a6f2d57e0aa4658a1be4 upstream.
>>
>> DNV's iTCO is slightly different with SMBCTRL sitting at a different
>> offset when compared to all other devices. Let's fix so that we can
>> properly use iTCO watchdog.
>>
>> Fixes: 84d7f2ebd70d ("i2c: i801: Add support for Intel DNV")
>> Cc: <stable at vger.kernel.org> # v4.4+
>> Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>
>> Reviewed-by: Jean Delvare <jdelvare at suse.de>
>> Signed-off-by: Wolfram Sang <wsa at the-dreams.de>
>> Signed-off-by: Yongxin Liu <yongxin.liu at windriver.com>
>> ---
>>   drivers/i2c/busses/i2c-i801.c | 7 ++++++-
>>   1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/i2c/busses/i2c-i801.c 
>> b/drivers/i2c/busses/i2c-i801.c
>> index aa726607645e..45fcf0c37a9e 100644
>> --- a/drivers/i2c/busses/i2c-i801.c
>> +++ b/drivers/i2c/busses/i2c-i801.c
>> @@ -139,6 +139,7 @@
>>   #define SBREG_BAR        0x10
>>   #define SBREG_SMBCTRL        0xc6000c
>> +#define SBREG_SMBCTRL_DNV    0xcf000c
>>   /* Host status bits for SMBPCISTS */
>>   #define SMBPCISTS_INTS        BIT(3)
>> @@ -1396,7 +1397,11 @@ static void i801_add_tco(struct i801_priv *priv)
>>       spin_unlock(&p2sb_spinlock);
>>       res = &tco_res[ICH_RES_MEM_OFF];
>> -    res->start = (resource_size_t)base64_addr + SBREG_SMBCTRL;
>> +    if (pci_dev->device == PCI_DEVICE_ID_INTEL_DNV_SMBUS)
>> +        res->start = (resource_size_t)base64_addr + SBREG_SMBCTRL_DNV;
>> +    else
>> +        res->start = (resource_size_t)base64_addr + SBREG_SMBCTRL;
>> +
>>       res->end = res->start + 3;
>>       res->flags = IORESOURCE_MEM;
>>
> 



More information about the linux-yocto mailing list