[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <uefirfqd4ymbuq52fpwshr4tws7mex3ur7qhsbg5ymlqbhpviq@6na42kykoqwp>
Date: Sat, 5 Jul 2025 02:37:29 +0200
From: Sebastian Reichel <sre@...nel.org>
To: Sakari Ailus <sakari.ailus@...ux.intel.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH 21/80] HSI: omap_ssi_port: Remove redundant
pm_runtime_mark_last_busy() calls
Hi,
On Fri, Jul 04, 2025 at 10:54:13AM +0300, Sakari Ailus wrote:
> pm_runtime_put_autosuspend(), pm_runtime_put_sync_autosuspend(),
> pm_runtime_autosuspend() and pm_request_autosuspend() now include a call
> to pm_runtime_mark_last_busy(). Remove the now-reduntant explicit call to
> pm_runtime_mark_last_busy().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@...ux.intel.com>
> ---
Acked-by: Sebastian Reichel <sre@...nel.org>
-- Sebastian
> The cover letter of the set can be found here
> <URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
>
> In brief, this patch depends on PM runtime patches adding marking the last
> busy timestamp in autosuspend related functions. The patches are here, on
> rc2:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
> pm-runtime-6.17-rc1
>
> drivers/hsi/controllers/omap_ssi_port.c | 11 -----------
> 1 file changed, 11 deletions(-)
>
> diff --git a/drivers/hsi/controllers/omap_ssi_port.c b/drivers/hsi/controllers/omap_ssi_port.c
> index aeb92b803a17..50dde968febe 100644
> --- a/drivers/hsi/controllers/omap_ssi_port.c
> +++ b/drivers/hsi/controllers/omap_ssi_port.c
> @@ -362,7 +362,6 @@ static int ssi_async_break(struct hsi_msg *msg)
> spin_unlock_bh(&omap_port->lock);
> }
> out:
> - pm_runtime_mark_last_busy(omap_port->pdev);
> pm_runtime_put_autosuspend(omap_port->pdev);
>
> return err;
> @@ -401,7 +400,6 @@ static int ssi_async(struct hsi_msg *msg)
> msg->status = HSI_STATUS_ERROR;
> }
> spin_unlock_bh(&omap_port->lock);
> - pm_runtime_mark_last_busy(omap_port->pdev);
> pm_runtime_put_autosuspend(omap_port->pdev);
> dev_dbg(&port->device, "msg status %d ttype %d ch %d\n",
> msg->status, msg->ttype, msg->channel);
> @@ -504,7 +502,6 @@ static int ssi_setup(struct hsi_client *cl)
> omap_port->ssr.mode = cl->rx_cfg.mode;
> out:
> spin_unlock_bh(&omap_port->lock);
> - pm_runtime_mark_last_busy(omap_port->pdev);
> pm_runtime_put_autosuspend(omap_port->pdev);
>
> return err;
> @@ -570,7 +567,6 @@ static int ssi_flush(struct hsi_client *cl)
> pinctrl_pm_select_default_state(omap_port->pdev);
>
> spin_unlock_bh(&omap_port->lock);
> - pm_runtime_mark_last_busy(omap_port->pdev);
> pm_runtime_put_autosuspend(omap_port->pdev);
>
> return 0;
> @@ -625,7 +621,6 @@ static int ssi_stop_tx(struct hsi_client *cl)
> writel(SSI_WAKE(0), omap_ssi->sys + SSI_CLEAR_WAKE_REG(port->num));
> spin_unlock_bh(&omap_port->wk_lock);
>
> - pm_runtime_mark_last_busy(omap_port->pdev);
> pm_runtime_put_autosuspend(omap_port->pdev); /* Release clocks */
>
>
> @@ -653,7 +648,6 @@ static void ssi_transfer(struct omap_ssi_port *omap_port,
> }
> }
> spin_unlock_bh(&omap_port->lock);
> - pm_runtime_mark_last_busy(omap_port->pdev);
> pm_runtime_put_autosuspend(omap_port->pdev);
> }
>
> @@ -683,7 +677,6 @@ static void ssi_cleanup_queues(struct hsi_client *cl)
> txbufstate |= (1 << i);
> status |= SSI_DATAACCEPT(i);
> /* Release the clocks writes, also GDD ones */
> - pm_runtime_mark_last_busy(omap_port->pdev);
> pm_runtime_put_autosuspend(omap_port->pdev);
> }
> ssi_flush_queue(&omap_port->txqueue[i], cl);
> @@ -739,7 +732,6 @@ static void ssi_cleanup_gdd(struct hsi_controller *ssi, struct hsi_client *cl)
> * ssi_cleanup_queues
> */
> if (msg->ttype == HSI_MSG_READ) {
> - pm_runtime_mark_last_busy(omap_port->pdev);
> pm_runtime_put_autosuspend(omap_port->pdev);
> }
> omap_ssi->gdd_trn[i].msg = NULL;
> @@ -936,7 +928,6 @@ static void ssi_pio_complete(struct hsi_port *port, struct list_head *queue)
> reg = readl(omap_ssi->sys + SSI_MPU_ENABLE_REG(port->num, 0));
> if (msg->ttype == HSI_MSG_WRITE) {
> /* Release clocks for write transfer */
> - pm_runtime_mark_last_busy(omap_port->pdev);
> pm_runtime_put_autosuspend(omap_port->pdev);
> }
> reg &= ~val;
> @@ -981,7 +972,6 @@ static irqreturn_t ssi_pio_thread(int irq, void *ssi_port)
> /* TODO: sleep if we retry? */
> } while (status_reg);
>
> - pm_runtime_mark_last_busy(omap_port->pdev);
> pm_runtime_put_autosuspend(omap_port->pdev);
>
> return IRQ_HANDLED;
> @@ -1018,7 +1008,6 @@ static irqreturn_t ssi_wake_thread(int irq __maybe_unused, void *ssi_port)
> }
> hsi_event(port, HSI_EVENT_STOP_RX);
> if (test_and_clear_bit(SSI_WAKE_EN, &omap_port->flags)) {
> - pm_runtime_mark_last_busy(omap_port->pdev);
> pm_runtime_put_autosuspend(omap_port->pdev);
> }
> }
> --
> 2.39.5
>
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists