Message ID | cover.1602190168.git.cristian.ciocaltea@gmail.com |
---|---|
Headers | show |
Series | Improve Actions Semi Owl I2C driver | expand |
On Fri, Oct 09, 2020 at 12:44:39AM +0300, Cristian Ciocaltea wrote: > When the NACK and BUS error bits are set by the hardware, the driver is > responsible for clearing them by writing "1" into the corresponding > status registers. > > Hence perform the necessary operations in owl_i2c_interrupt(). > > Fixes: d211e62af466 ("i2c: Add Actions Semiconductor Owl family S900 I2C driver") > Reported-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com> Applied to for-current, thanks!
On Fri, Oct 09, 2020 at 12:44:41AM +0300, Cristian Ciocaltea wrote: > Speed up the boot process by using the asynchronous probing feature > supported by the recent kernels. > > For SBCs based on the Actions Semi S500 SoC, the overall boot time is > expected to be reduced by 200-300 ms. > > Suggested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Thanks, Mani > --- > drivers/i2c/busses/i2c-owl.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/i2c/busses/i2c-owl.c b/drivers/i2c/busses/i2c-owl.c > index 547132768119..ed3942051845 100644 > --- a/drivers/i2c/busses/i2c-owl.c > +++ b/drivers/i2c/busses/i2c-owl.c > @@ -521,6 +521,7 @@ static struct platform_driver owl_i2c_driver = { > .driver = { > .name = "owl-i2c", > .of_match_table = of_match_ptr(owl_i2c_of_match), > + .probe_type = PROBE_PREFER_ASYNCHRONOUS, > }, > }; > module_platform_driver(owl_i2c_driver); > -- > 2.28.0 >
On Fri, Oct 09, 2020 at 12:44:39AM +0300, Cristian Ciocaltea wrote: > When the NACK and BUS error bits are set by the hardware, the driver is > responsible for clearing them by writing "1" into the corresponding > status registers. > > Hence perform the necessary operations in owl_i2c_interrupt(). > > Fixes: d211e62af466 ("i2c: Add Actions Semiconductor Owl family S900 I2C driver") > Reported-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Thanks, Mani > --- > drivers/i2c/busses/i2c-owl.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/i2c/busses/i2c-owl.c b/drivers/i2c/busses/i2c-owl.c > index 672f1f239bd6..a163b8f308c1 100644 > --- a/drivers/i2c/busses/i2c-owl.c > +++ b/drivers/i2c/busses/i2c-owl.c > @@ -176,6 +176,9 @@ static irqreturn_t owl_i2c_interrupt(int irq, void *_dev) > fifostat = readl(i2c_dev->base + OWL_I2C_REG_FIFOSTAT); > if (fifostat & OWL_I2C_FIFOSTAT_RNB) { > i2c_dev->err = -ENXIO; > + /* Clear NACK error bit by writing "1" */ > + owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_FIFOSTAT, > + OWL_I2C_FIFOSTAT_RNB, true); > goto stop; > } > > @@ -183,6 +186,9 @@ static irqreturn_t owl_i2c_interrupt(int irq, void *_dev) > stat = readl(i2c_dev->base + OWL_I2C_REG_STAT); > if (stat & OWL_I2C_STAT_BEB) { > i2c_dev->err = -EIO; > + /* Clear BUS error bit by writing "1" */ > + owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_STAT, > + OWL_I2C_STAT_BEB, true); > goto stop; > } > > -- > 2.28.0 >
On Sun, Oct 11, 2020 at 07:39:48PM +0530, Manivannan Sadhasivam wrote: > On Fri, Oct 09, 2020 at 12:44:39AM +0300, Cristian Ciocaltea wrote: > > When the NACK and BUS error bits are set by the hardware, the driver is > > responsible for clearing them by writing "1" into the corresponding > > status registers. > > > > Hence perform the necessary operations in owl_i2c_interrupt(). > > > > Fixes: d211e62af466 ("i2c: Add Actions Semiconductor Owl family S900 I2C driver") > > Reported-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > > Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com> > > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > > Thanks, > Mani Thanks for the review, Cristi
On Sun, Oct 11, 2020 at 07:36:45PM +0530, Manivannan Sadhasivam wrote: > On Fri, Oct 09, 2020 at 12:44:41AM +0300, Cristian Ciocaltea wrote: > > Speed up the boot process by using the asynchronous probing feature > > supported by the recent kernels. > > > > For SBCs based on the Actions Semi S500 SoC, the overall boot time is > > expected to be reduced by 200-300 ms. > > > > Suggested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > > Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com> > > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > > Thanks, > Mani Thanks for reviewing, Cristi