Message ID | 20210111142713.3641208-1-mperttunen@nvidia.com |
---|---|
State | Superseded |
Headers | show |
Series | i2c: tegra-bpmp: ignore DMA safe buffer flag | expand |
On 11/01/2021 14:27, Mikko Perttunen wrote: > From: Muhammed Fazal <mfazale@nvidia.com> > > Ignore I2C_M_DMA_SAFE flag as it does not make a difference > for bpmp-i2c, but causes -EINVAL to be returned for valid > transactions. > > Signed-off-by: Muhammed Fazal <mfazale@nvidia.com> > Cc: stable@vger.kernel.org # v4.19+ > Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com> > --- > This fixes failures seen with PMIC probing tools on > Tegra186+ boards. > > drivers/i2c/busses/i2c-tegra-bpmp.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/i2c/busses/i2c-tegra-bpmp.c b/drivers/i2c/busses/i2c-tegra-bpmp.c > index ec7a7e917edd..998d4b21fb59 100644 > --- a/drivers/i2c/busses/i2c-tegra-bpmp.c > +++ b/drivers/i2c/busses/i2c-tegra-bpmp.c > @@ -80,6 +80,9 @@ static int tegra_bpmp_xlate_flags(u16 flags, u16 *out) > flags &= ~I2C_M_RECV_LEN; > } > > + if (flags & I2C_M_DMA_SAFE) > + flags &= ~I2C_M_DMA_SAFE; > + Just a comment, you can do without the test here. Just doing this would have been fine: flags &= ~I2C_M_DMA_SAFE;
On 1/11/21 5:04 PM, Ben Dooks wrote: > On 11/01/2021 14:27, Mikko Perttunen wrote: >> From: Muhammed Fazal <mfazale@nvidia.com> >> >> Ignore I2C_M_DMA_SAFE flag as it does not make a difference >> for bpmp-i2c, but causes -EINVAL to be returned for valid >> transactions. >> >> Signed-off-by: Muhammed Fazal <mfazale@nvidia.com> >> Cc: stable@vger.kernel.org # v4.19+ >> Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com> >> --- >> This fixes failures seen with PMIC probing tools on >> Tegra186+ boards. >> >> drivers/i2c/busses/i2c-tegra-bpmp.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/drivers/i2c/busses/i2c-tegra-bpmp.c >> b/drivers/i2c/busses/i2c-tegra-bpmp.c >> index ec7a7e917edd..998d4b21fb59 100644 >> --- a/drivers/i2c/busses/i2c-tegra-bpmp.c >> +++ b/drivers/i2c/busses/i2c-tegra-bpmp.c >> @@ -80,6 +80,9 @@ static int tegra_bpmp_xlate_flags(u16 flags, u16 *out) >> flags &= ~I2C_M_RECV_LEN; >> } >> + if (flags & I2C_M_DMA_SAFE) >> + flags &= ~I2C_M_DMA_SAFE; >> + > > Just a comment, you can do without the test here. > Just doing this would have been fine: > > flags &= ~I2C_M_DMA_SAFE; > > > Yep, I'll send a v2. thanks, Mikko
diff --git a/drivers/i2c/busses/i2c-tegra-bpmp.c b/drivers/i2c/busses/i2c-tegra-bpmp.c index ec7a7e917edd..998d4b21fb59 100644 --- a/drivers/i2c/busses/i2c-tegra-bpmp.c +++ b/drivers/i2c/busses/i2c-tegra-bpmp.c @@ -80,6 +80,9 @@ static int tegra_bpmp_xlate_flags(u16 flags, u16 *out) flags &= ~I2C_M_RECV_LEN; } + if (flags & I2C_M_DMA_SAFE) + flags &= ~I2C_M_DMA_SAFE; + return (flags != 0) ? -EINVAL : 0; }