mbox series

[V8,0/7] remoteproc: imx_rproc: support i.MX8QM/QXP

Message ID 20221021041526.3696483-1-peng.fan@oss.nxp.com
Headers show
Series remoteproc: imx_rproc: support i.MX8QM/QXP | expand

Message

Peng Fan (OSS) Oct. 21, 2022, 4:15 a.m. UTC
From: Peng Fan <peng.fan@nxp.com>

V8:
 patch 2/7: Per Krzysztof, keep alphabetical order for compatible string
 Patch 6/7: Add comments to explain the tx_ch/rx_ch check in imx_rproc_xtr_mbox_init,
            to address comment: https://lore.kernel.org/all/20221017173335.GA121862@p14s/

V7:
 patch 3/7: use dev_err, and R-b from Mathieu
 patch 4/7: Add comment when "num_pd <= 1", add R-b from Mathieu
 patch 5/7: Typo has->have, add R-b from Mathieu
 patch 6/7: add detach hook to free the mbox. As wrote in the patch commit log,
          imx_rproc_xtr_mbox_init is called both in probe and attach hook to resolve
          mbox defer probe, so there is check in imx_rproc_xtr_mbox_init.
	    Moved imx_rproc_free_mbox out from parition notify to detach hook
 patch 7/7: since detach hook moved to patch 6/7, so only enable recovery feature.

 https://lore.kernel.org/all/20221014031037.1070424-1-peng.fan@oss.nxp.com/

V6:
 Two changes are made:
1.
 In V5, patch 3 has a wrong logic in imx_rproc_put_scu, see [1], however
 patch 4 fixed the wrong logic, as below:

-	if (!imx_sc_rm_is_resource_owned(priv->ipc_handle, priv->rsrc_id))
-		return;
+	if (imx_sc_rm_is_resource_owned(priv->ipc_handle, priv->rsrc_id))
+		return imx_rproc_detach_pd(rproc);

 In V6, patch 3 fixed the wrong logic, drop the fix in patch 4. And patch 4
 changed as below, because put scu not has return value.
                imx_rproc_detach_pd(rproc);
                return;

2. Include patch 7/7 to enable attach recovery, because the attach recovery
 feature has been supported in remoteproc core.

[1] https://lore.kernel.org/linux-remoteproc/DU0PR04MB941763C3EBF8AE9A9CD69445884C9@DU0PR04MB9417.eurprd04.prod.outlook.com/T/#m87e2864260d0a1c431b577068ba79e1d64c595f1

V5:
 The patchset could not apply on latest remoteproc for-next branch,
 so rebased. Only patch 6 has a minor conflict, other patches are not
 changed.

V4:
 https://lore.kernel.org/all/20220701104725.557314-1-peng.fan@oss.nxp.com/
 Add R-b from DT maintainer
 Fix probe failure and driver remove path in patch 3, 4
 Add comments about i.MX8QM entries filter in patch 5

V3:
 Drop the dependency in V2.
 Tested on i.MX8QM/8MM
 Use 'fsl,resource-id' and 'fsl,entry-address' Per dt maintainer
 Drop 'reg' property Per remoteproc maintainer
 Drop mcore self recovery, until we land in common framework support.
 https://patchwork.kernel.org/project/linux-remoteproc/cover/20220517064937.4033441-1-peng.fan@oss.nxp.com/

V2:
 https://patchwork.kernel.org/project/linux-remoteproc/cover/20220309102118.8131-1-peng.fan@oss.nxp.com/
 Depends on https://patchwork.kernel.org/project/linux-remoteproc/list/?series=621311
 Tested on i.MX8QXP/QM/8MP
 Addressed Mathieu's comments
 Drop V1 patch 5/9, patch 3/9 is replaced with upper dependency patchset
 Move V1 patch 4/9 out to https://patchwork.kernel.org/project/linux-remoteproc/patch/20220308065754.3355-1-peng.fan@oss.nxp.com/
 Update commit log
 Drop magic number to get entry address from device tree in patch 4/6

The V1 patchset:
https://patchwork.kernel.org/project/linux-remoteproc/patch/20220111033333.403448-4-peng.fan@oss.nxp.com/

Peng Fan (7):
  dt-bindings: remoteproc: imx_rproc: support i.MX8QXP
  dt-bindings: remoteproc: imx_rproc: support i.MX8QM
  remoteproc: imx_rproc: support attaching to i.MX8QXP M4
  remoteproc: imx_rproc: support kicking Mcore from Linux for i.MX8QXP
  remoteproc: imx_rproc: support i.MX8QM
  remoteproc: imx_rproc: request mbox channel later
  remoteproc: imx_rproc: Enable attach recovery for i.MX8QM/QXP

 .../bindings/remoteproc/fsl,imx-rproc.yaml    |  16 +
 drivers/remoteproc/imx_rproc.c                | 294 +++++++++++++++++-
 2 files changed, 304 insertions(+), 6 deletions(-)

Comments

Mathieu Poirier Oct. 24, 2022, 10:14 p.m. UTC | #1
I have applied this set.

Thanks,
Mathieu

On Thu, 20 Oct 2022 at 22:14, Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
>
> From: Peng Fan <peng.fan@nxp.com>
>
> V8:
>  patch 2/7: Per Krzysztof, keep alphabetical order for compatible string
>  Patch 6/7: Add comments to explain the tx_ch/rx_ch check in imx_rproc_xtr_mbox_init,
>             to address comment: https://lore.kernel.org/all/20221017173335.GA121862@p14s/
>
> V7:
>  patch 3/7: use dev_err, and R-b from Mathieu
>  patch 4/7: Add comment when "num_pd <= 1", add R-b from Mathieu
>  patch 5/7: Typo has->have, add R-b from Mathieu
>  patch 6/7: add detach hook to free the mbox. As wrote in the patch commit log,
>           imx_rproc_xtr_mbox_init is called both in probe and attach hook to resolve
>           mbox defer probe, so there is check in imx_rproc_xtr_mbox_init.
>             Moved imx_rproc_free_mbox out from parition notify to detach hook
>  patch 7/7: since detach hook moved to patch 6/7, so only enable recovery feature.
>
>  https://lore.kernel.org/all/20221014031037.1070424-1-peng.fan@oss.nxp.com/
>
> V6:
>  Two changes are made:
> 1.
>  In V5, patch 3 has a wrong logic in imx_rproc_put_scu, see [1], however
>  patch 4 fixed the wrong logic, as below:
>
> -       if (!imx_sc_rm_is_resource_owned(priv->ipc_handle, priv->rsrc_id))
> -               return;
> +       if (imx_sc_rm_is_resource_owned(priv->ipc_handle, priv->rsrc_id))
> +               return imx_rproc_detach_pd(rproc);
>
>  In V6, patch 3 fixed the wrong logic, drop the fix in patch 4. And patch 4
>  changed as below, because put scu not has return value.
>                 imx_rproc_detach_pd(rproc);
>                 return;
>
> 2. Include patch 7/7 to enable attach recovery, because the attach recovery
>  feature has been supported in remoteproc core.
>
> [1] https://lore.kernel.org/linux-remoteproc/DU0PR04MB941763C3EBF8AE9A9CD69445884C9@DU0PR04MB9417.eurprd04.prod.outlook.com/T/#m87e2864260d0a1c431b577068ba79e1d64c595f1
>
> V5:
>  The patchset could not apply on latest remoteproc for-next branch,
>  so rebased. Only patch 6 has a minor conflict, other patches are not
>  changed.
>
> V4:
>  https://lore.kernel.org/all/20220701104725.557314-1-peng.fan@oss.nxp.com/
>  Add R-b from DT maintainer
>  Fix probe failure and driver remove path in patch 3, 4
>  Add comments about i.MX8QM entries filter in patch 5
>
> V3:
>  Drop the dependency in V2.
>  Tested on i.MX8QM/8MM
>  Use 'fsl,resource-id' and 'fsl,entry-address' Per dt maintainer
>  Drop 'reg' property Per remoteproc maintainer
>  Drop mcore self recovery, until we land in common framework support.
>  https://patchwork.kernel.org/project/linux-remoteproc/cover/20220517064937.4033441-1-peng.fan@oss.nxp.com/
>
> V2:
>  https://patchwork.kernel.org/project/linux-remoteproc/cover/20220309102118.8131-1-peng.fan@oss.nxp.com/
>  Depends on https://patchwork.kernel.org/project/linux-remoteproc/list/?series=621311
>  Tested on i.MX8QXP/QM/8MP
>  Addressed Mathieu's comments
>  Drop V1 patch 5/9, patch 3/9 is replaced with upper dependency patchset
>  Move V1 patch 4/9 out to https://patchwork.kernel.org/project/linux-remoteproc/patch/20220308065754.3355-1-peng.fan@oss.nxp.com/
>  Update commit log
>  Drop magic number to get entry address from device tree in patch 4/6
>
> The V1 patchset:
> https://patchwork.kernel.org/project/linux-remoteproc/patch/20220111033333.403448-4-peng.fan@oss.nxp.com/
>
> Peng Fan (7):
>   dt-bindings: remoteproc: imx_rproc: support i.MX8QXP
>   dt-bindings: remoteproc: imx_rproc: support i.MX8QM
>   remoteproc: imx_rproc: support attaching to i.MX8QXP M4
>   remoteproc: imx_rproc: support kicking Mcore from Linux for i.MX8QXP
>   remoteproc: imx_rproc: support i.MX8QM
>   remoteproc: imx_rproc: request mbox channel later
>   remoteproc: imx_rproc: Enable attach recovery for i.MX8QM/QXP
>
>  .../bindings/remoteproc/fsl,imx-rproc.yaml    |  16 +
>  drivers/remoteproc/imx_rproc.c                | 294 +++++++++++++++++-
>  2 files changed, 304 insertions(+), 6 deletions(-)
>
> --
> 2.37.1
>