Message ID | 20220107092455.150504-1-waynec@nvidia.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [1/1] ucsi_ccg: Check DEV_INT bit only when starting CCG4 | expand |
Hi, On Fri, Jan 07, 2022 at 05:24:55PM +0800, Wayne Chang wrote: > From: Sing-Han Chen <singhanc@nvidia.com> > > after driver sending the UCSI_START cmd, CCGx would > clear Bit 0:Device Interrupt in the INTR_REG if CCGX > reset successfully. > > however, there might be a chance that other bits in > INTR_REG are not cleared due to internal data queued > in PPM and cause the driver thinks CCGx reset failed. > > the commit checks bit 0 in INTR_REG and ignore other > bits. ucsi driver would reset PPM later. > > Signed-off-by: Sing-Han Chen <singhanc@nvidia.com> > Signed-off-by: WayneChang <waynec@nvidia.com> ^^^^^^^^^^ You probable should have a space there. In any case, FWIW: Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> > --- > drivers/usb/typec/ucsi/ucsi_ccg.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c b/drivers/usb/typec/ucsi/ucsi_ccg.c > index bff96d64dddf..6db7c8ddd51c 100644 > --- a/drivers/usb/typec/ucsi/ucsi_ccg.c > +++ b/rivers/usb/typec/ucsi/ucsi_ccg.c > @@ -325,7 +325,7 @@ static int ucsi_ccg_init(struct ucsi_ccg *uc) > if (status < 0) > return status; > > - if (!data) > + if (!(data & DEV_INT)) > return 0; > > status = ccg_write(uc, CCGX_RAB_INTR_REG, &data, sizeof(data)); > -- > 2.25.1 thanks,
Hi Heikki, Thanks for the review. On 1/10/22 7:40 PM, Heikki Krogerus wrote: > > > Hi, > > On Fri, Jan 07, 2022 at 05:24:55PM +0800, Wayne Chang wrote: >> From: Sing-Han Chen <singhanc@nvidia.com> >> >> after driver sending the UCSI_START cmd, CCGx would >> clear Bit 0:Device Interrupt in the INTR_REG if CCGX >> reset successfully. >> >> however, there might be a chance that other bits in >> INTR_REG are not cleared due to internal data queued >> in PPM and cause the driver thinks CCGx reset failed. >> >> the commit checks bit 0 in INTR_REG and ignore other >> bits. ucsi driver would reset PPM later. >> >> Signed-off-by: Sing-Han Chen <singhanc@nvidia.com> >> Signed-off-by: WayneChang <waynec@nvidia.com> > ^^^^^^^^^^ > You probable should have a space there. In any case, FWIW: > > Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> > Yes, I'll update the commit message and send it out. >> --- >> drivers/usb/typec/ucsi/ucsi_ccg.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c b/drivers/usb/typec/ucsi/ucsi_ccg.c >> index bff96d64dddf..6db7c8ddd51c 100644 >> --- a/drivers/usb/typec/ucsi/ucsi_ccg.c >> +++ b/rivers/usb/typec/ucsi/ucsi_ccg.c >> @@ -325,7 +325,7 @@ static int ucsi_ccg_init(struct ucsi_ccg *uc) >> if (status < 0) >> return status; >> >> - if (!data) >> + if (!(data & DEV_INT)) >> return 0; >> >> status = ccg_write(uc, CCGX_RAB_INTR_REG, &data, sizeof(data)); >> -- >> 2.25.1 > > thanks, > > -- > heikki > thanks, Wayne.
diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c b/drivers/usb/typec/ucsi/ucsi_ccg.c index bff96d64dddf..6db7c8ddd51c 100644 --- a/drivers/usb/typec/ucsi/ucsi_ccg.c +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c @@ -325,7 +325,7 @@ static int ucsi_ccg_init(struct ucsi_ccg *uc) if (status < 0) return status; - if (!data) + if (!(data & DEV_INT)) return 0; status = ccg_write(uc, CCGX_RAB_INTR_REG, &data, sizeof(data));