Message ID | 20210605052700.541455-1-pmenzel@molgen.mpg.de (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v2] hwmon: (pmbus_core) Check adapter PEC support | expand |
On Sat, Jun 05, 2021 at 07:27:02AM +0200, Paul Menzel wrote: > From: Madhava Reddy Siddareddygari <msiddare@cisco.com> > > Currently, for Packet Error Checking (PEC) only the controller > is checked for support. This causes problems on the cisco-8000 > platform where a SMBUS transaction errors are observed. This is > because PEC has to be enabled only if both controller and > adapter support it. > > Added code to check PEC capability for adapter and enable it > only if both controller and adapter supports PEC. > > Signed-off-by: Madhava Reddy Siddareddygari <msiddare@cisco.com> > [Upstream from SONiC https://github.com/Azure/sonic-linux-kernel/pull/215] > Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de> Applied. Thanks, Guenter > --- > v2: Do not revert check introduced by commit e5befc02 (hwmon: (pmbus) > Add a PMBUS_NO_CAPABILITY platform data flag). > > drivers/hwmon/pmbus/pmbus_core.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c > index bbd745178147..2fd0fec59d4f 100644 > --- a/drivers/hwmon/pmbus/pmbus_core.c > +++ b/drivers/hwmon/pmbus/pmbus_core.c > @@ -2214,11 +2214,15 @@ static int pmbus_init_common(struct i2c_client *client, struct pmbus_data *data, > data->has_status_word = true; > } > > - /* Enable PEC if the controller supports it */ > + /* Enable PEC if the controller and bus supports it */ > if (!(data->flags & PMBUS_NO_CAPABILITY)) { > ret = i2c_smbus_read_byte_data(client, PMBUS_CAPABILITY); > - if (ret >= 0 && (ret & PB_CAPABILITY_ERROR_CHECK)) > - client->flags |= I2C_CLIENT_PEC; > + if (ret >= 0 && (ret & PB_CAPABILITY_ERROR_CHECK)) { > + if (i2c_check_functionality(client->adapter, > + I2C_FUNC_SMBUS_PEC)) { > + client->flags |= I2C_CLIENT_PEC; > + } > + } > } > > /*
Dear Guenter, Am 06.06.21 um 14:50 schrieb Guenter Roeck: > On Sat, Jun 05, 2021 at 07:27:02AM +0200, Paul Menzel wrote: >> From: Madhava Reddy Siddareddygari <msiddare@cisco.com> >> >> Currently, for Packet Error Checking (PEC) only the controller >> is checked for support. This causes problems on the cisco-8000 >> platform where a SMBUS transaction errors are observed. This is >> because PEC has to be enabled only if both controller and >> adapter support it. >> >> Added code to check PEC capability for adapter and enable it >> only if both controller and adapter supports PEC. >> >> Signed-off-by: Madhava Reddy Siddareddygari <msiddare@cisco.com> >> [Upstream from SONiC https://github.com/Azure/sonic-linux-kernel/pull/215] >> Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de> > > Applied. Thank you very much. Would it be alright, if I asked the stable series maintainers to backport this patch to the Linux 5.10 LTS series? Kind regards, Paul
Hi Paul, On 12/1/21 7:58 AM, Paul Menzel wrote: > Dear Guenter, > > > Am 06.06.21 um 14:50 schrieb Guenter Roeck: >> On Sat, Jun 05, 2021 at 07:27:02AM +0200, Paul Menzel wrote: >>> From: Madhava Reddy Siddareddygari <msiddare@cisco.com> >>> >>> Currently, for Packet Error Checking (PEC) only the controller >>> is checked for support. This causes problems on the cisco-8000 >>> platform where a SMBUS transaction errors are observed. This is >>> because PEC has to be enabled only if both controller and >>> adapter support it. >>> >>> Added code to check PEC capability for adapter and enable it >>> only if both controller and adapter supports PEC. >>> >>> Signed-off-by: Madhava Reddy Siddareddygari <msiddare@cisco.com> >>> [Upstream from SONiC https://github.com/Azure/sonic-linux-kernel/pull/215] >>> Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de> >> >> Applied. > > Thank you very much. Would it be alright, if I asked the stable series maintainers to backport this patch to the Linux 5.10 LTS series? > That is not how it works. The stable maintainers will apply a backport if you prepare one and send it to the stable mailing list, but they won't do the work for you. Having said that, if you want to provide such a backport, sure, go ahead. Guenter
diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c index bbd745178147..2fd0fec59d4f 100644 --- a/drivers/hwmon/pmbus/pmbus_core.c +++ b/drivers/hwmon/pmbus/pmbus_core.c @@ -2214,11 +2214,15 @@ static int pmbus_init_common(struct i2c_client *client, struct pmbus_data *data, data->has_status_word = true; } - /* Enable PEC if the controller supports it */ + /* Enable PEC if the controller and bus supports it */ if (!(data->flags & PMBUS_NO_CAPABILITY)) { ret = i2c_smbus_read_byte_data(client, PMBUS_CAPABILITY); - if (ret >= 0 && (ret & PB_CAPABILITY_ERROR_CHECK)) - client->flags |= I2C_CLIENT_PEC; + if (ret >= 0 && (ret & PB_CAPABILITY_ERROR_CHECK)) { + if (i2c_check_functionality(client->adapter, + I2C_FUNC_SMBUS_PEC)) { + client->flags |= I2C_CLIENT_PEC; + } + } } /*