[PATCH 10/17] i3c: mipi-i3c-hci: Move DMA suspend/resume callbacks

Frank Li Frank.li at oss.nxp.com
Mon Sep 14 09:46:39 PDT 2026


On Mon, Sep 14, 2026 at 02:29:56PM +0300, Adrian Hunter wrote:
> Relocate hci_dma_suspend() and hci_dma_resume() closer to the DMA IO
> operations table in preparation for upcoming changes.
>
> No functional change.
>
> Signed-off-by: Adrian Hunter <adrian.hunter at intel.com>
> ---

Reviewed-by: Frank Li <Frank.Li at nxp.com>

>  drivers/i3c/master/mipi-i3c-hci/dma.c | 46 +++++++++++++--------------
>  1 file changed, 23 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/i3c/master/mipi-i3c-hci/dma.c b/drivers/i3c/master/mipi-i3c-hci/dma.c
> index a798b0648922..ec4b469abd33 100644
> --- a/drivers/i3c/master/mipi-i3c-hci/dma.c
> +++ b/drivers/i3c/master/mipi-i3c-hci/dma.c
> @@ -273,29 +273,6 @@ static void hci_dma_init_rings(struct i3c_hci *hci)
>  		hci_dma_init_rh(hci, &rings->headers[i], i);
>  }
>
> -static void hci_dma_suspend(struct i3c_hci *hci)
> -{
> -	struct hci_rings_data *rings = hci->io_data;
> -	int n = rings ? rings->total : 0;
> -
> -	for (int i = 0; i < n; i++) {
> -		struct hci_rh_data *rh = &rings->headers[i];
> -
> -		rh_reg_write(INTR_SIGNAL_ENABLE, 0);
> -		rh_reg_write(RING_CONTROL, 0);
> -	}
> -
> -	i3c_hci_sync_irq_inactive(hci);
> -}
> -
> -static void hci_dma_resume(struct i3c_hci *hci)
> -{
> -	struct hci_rings_data *rings = hci->io_data;
> -
> -	if (rings)
> -		hci_dma_init_rings(hci);
> -}
> -
>  static int hci_dma_init(struct i3c_hci *hci)
>  {
>  	struct hci_rings_data *rings;
> @@ -1075,6 +1052,29 @@ static bool hci_dma_irq_handler(struct i3c_hci *hci)
>  	return handled;
>  }
>
> +static void hci_dma_suspend(struct i3c_hci *hci)
> +{
> +	struct hci_rings_data *rings = hci->io_data;
> +	int n = rings ? rings->total : 0;
> +
> +	for (int i = 0; i < n; i++) {
> +		struct hci_rh_data *rh = &rings->headers[i];
> +
> +		rh_reg_write(INTR_SIGNAL_ENABLE, 0);
> +		rh_reg_write(RING_CONTROL, 0);
> +	}
> +
> +	i3c_hci_sync_irq_inactive(hci);
> +}
> +
> +static void hci_dma_resume(struct i3c_hci *hci)
> +{
> +	struct hci_rings_data *rings = hci->io_data;
> +
> +	if (rings)
> +		hci_dma_init_rings(hci);
> +}
> +
>  const struct hci_io_ops mipi_i3c_hci_dma = {
>  	.init			= hci_dma_init,
>  	.cleanup		= hci_dma_cleanup,
> --
> 2.53.0
>



More information about the linux-i3c mailing list