[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:32:14 PDT 2018


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.

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