Message ID | 1588991208-26928-3-git-send-email-bbhatt@codeaurora.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 44d4e063d18b87c0fef1b19f7883f10e71c544b6 |
Headers | show |
Series | Bug fixes and improved logging in MHI | expand |
On Fri, May 08, 2020 at 07:26:42PM -0700, Bhaumik Bhatt wrote: > From: Hemant Kumar <hemantk@codeaurora.org> > > Driver is using zero initialized intmod value from mhi channel when > configuring TRE for bei field. This prevents interrupt moderation to > take effect in case it is supported by an event ring. Fix this by > copying intmod value from associated event ring to mhi channel upon > registering mhi controller. > > Signed-off-by: Hemant Kumar <hemantk@codeaurora.org> > Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org> > Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Thanks, Mani > --- > drivers/bus/mhi/core/init.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c > index eb2ab05..1a93d24 100644 > --- a/drivers/bus/mhi/core/init.c > +++ b/drivers/bus/mhi/core/init.c > @@ -863,6 +863,10 @@ int mhi_register_controller(struct mhi_controller *mhi_cntrl, > mutex_init(&mhi_chan->mutex); > init_completion(&mhi_chan->completion); > rwlock_init(&mhi_chan->lock); > + > + /* used in setting bei field of TRE */ > + mhi_event = &mhi_cntrl->mhi_event[mhi_chan->er_index]; > + mhi_chan->intmod = mhi_event->intmod; > } > > if (mhi_cntrl->bounce_buf) { > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project
diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c index eb2ab05..1a93d24 100644 --- a/drivers/bus/mhi/core/init.c +++ b/drivers/bus/mhi/core/init.c @@ -863,6 +863,10 @@ int mhi_register_controller(struct mhi_controller *mhi_cntrl, mutex_init(&mhi_chan->mutex); init_completion(&mhi_chan->completion); rwlock_init(&mhi_chan->lock); + + /* used in setting bei field of TRE */ + mhi_event = &mhi_cntrl->mhi_event[mhi_chan->er_index]; + mhi_chan->intmod = mhi_event->intmod; } if (mhi_cntrl->bounce_buf) {