[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <vfslj4vfs6mw57upbrfsxalznr3mjtfplc43ba3x37lr5mqtqp@njk7viqmh5dv>
Date: Tue, 13 Jan 2026 13:34:34 +0530
From: Manivannan Sadhasivam <mani@...nel.org>
To: Sivareddy Surasani <sivareddy.surasani@....qualcomm.com>
Cc: Jonathan Corbet <corbet@....net>, Arnd Bergmann <arnd@...db.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>, mhi@...ts.linux.dev, linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-doc@...r.kernel.org,
Upal Kumar Saha <upal.saha@....qualcomm.com>, Himanshu Shukla <quic_himashuk@...cinc.com>,
Vivek Pernamitta <vivek.pernamitta@....qualcomm.com>
Subject: Re: [PATCH 04/11] Revert "bus: mhi: host: Remove mhi_poll() API"
On Thu, Dec 11, 2025 at 01:37:36PM +0530, Sivareddy Surasani wrote:
> From: Vivek Pernamitta <vivek.pernamitta@....qualcomm.com>
>
> Revert commit 5da094ac80cd ("bus: mhi: host: Remove mhi_poll() API")
>
> Add mhi_poll() API. New hardware channel clients use mhi_poll() to manage
> their own completion events instead of relying on the MHI core driver for
> notifications.
>
Sorry, this is not at all a poll API. poll API is supposed to be polling for an
event until that event occured. But this API just reads the ring buffer when
called.
- Mani
> Signed-off-by: Vivek Pernamitta <vivek.pernamitta@....qualcomm.com>
> Signed-off-by: Sivareddy Surasani <sivareddy.surasani@....qualcomm.com>
> ---
> drivers/bus/mhi/host/main.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/bus/mhi/host/main.c b/drivers/bus/mhi/host/main.c
> index 7beb848ca5c1..5d50f6ebf6f9 100644
> --- a/drivers/bus/mhi/host/main.c
> +++ b/drivers/bus/mhi/host/main.c
> @@ -1858,3 +1858,18 @@ int mhi_get_channel_doorbell_offset(struct mhi_controller *mhi_cntrl, u32 *chdb_
> return 0;
> }
> EXPORT_SYMBOL_GPL(mhi_get_channel_doorbell_offset);
> +
> +int mhi_poll(struct mhi_device *mhi_dev, u32 budget)
> +{
> + struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
> + struct mhi_chan *mhi_chan = mhi_dev->dl_chan;
> + struct mhi_event *mhi_event = &mhi_cntrl->mhi_event[mhi_chan->er_index];
> + int ret;
> +
> + spin_lock_bh(&mhi_event->lock);
> + ret = mhi_event->process_event(mhi_cntrl, mhi_event, budget);
> + spin_unlock_bh(&mhi_event->lock);
> +
> + return ret;
> +}
> +EXPORT_SYMBOL_GPL(mhi_poll);
>
> --
> 2.34.1
>
--
மணிவண்ணன் சதாசிவம்
Powered by blists - more mailing lists