lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ