mbox series

[V8,0/2] remoteproc: support self recovery

Message ID 20220928064756.4059662-1-peng.fan@oss.nxp.com (mailing list archive)
Headers show
Series remoteproc: support self recovery | expand

Message

Peng Fan (OSS) Sept. 28, 2022, 6:47 a.m. UTC
From: Peng Fan <peng.fan@nxp.com>

V8:
 Rebased on linux-next/master tag: next-20220927

V7:
 Per comments from Arnaud Pouliquen:
   Typo fixes
   Added A-b tag

V6:
 Rename rproc_firmware_recovery to rproc_boot_recovery
 Drop the unlock/lock when do reproc_attach_recovery

V5:
 Rename RPROC_FEAT_ATTACH_RECOVERY to RPROC_FEAT_ATTACH_ON_RECOVERY
 Add kerneldoc for rproc features
 Change rproc_set_feature to return int type and add a max feature check
 Use __rproc_detach and __rproc_attach when do attach recovery
 https://patchwork.kernel.org/project/linux-remoteproc/cover/20220615032048.465486-1-peng.fan@oss.nxp.com/

V4:
  Based on Bjorn's comments on V2-2
  Move the rproc_has_feature/rproc_set_feature to remoteproc_internal.h and
 Keep rproc_features still in remoteproc.h, because we use
 RPROC_MAX_FEATURES to declare bitmap.
  Update commit log for patch 2/2, and add comments

  https://patchwork.kernel.org/project/linux-remoteproc/cover/20220323034405.976643-1-peng.fan@oss.nxp.com/

V3:
 Resend the wrong labeled patchset
 https://patchwork.kernel.org/project/linux-remoteproc/list/?series=621311

 Write a cover-letter
 To i.MX8QM/QXP, they have a M4 core self-recovery capability without
 Linux loading firmware. The self recovery is done by
 SCU(System Control Unit). Current remoteproc framework only support Linux
 help recovery remote processor(stop, loading firmware, start). This
 patchset is support remote processor self recovery(attach recovery).

 In order to avoid introducing a new variable(bool support_self_recovery),
 patch 1 introduce a new function, rproc_has_feature to make code easy to
 extend, cleaner, such as we could move "bool has_iommu" to
 rproc_has_feature(rproc, RPROC_FEAT_IOMMU).

 Patch 2 is introduce a new function rproc_attach_recovery for
 self recovery, the original logic move to rproc_firmware_recovery meaning
 needs linux to help recovery.

 V2-version 2:
 https://patchwork.kernel.org/project/linux-remoteproc/list/?series=621311
 Introduce rproc_has_feature

 V2-version 1:
 https://patchwork.kernel.org/project/linux-remoteproc/patch/20220126085120.3397450-1-peng.fan@oss.nxp.com/
 Nothing change in V2.
 Only move this patch out from
 https://patchwork.kernel.org/project/linux-remoteproc/list/?series=604364

Peng Fan (2):
  remoteproc: introduce rproc features
  remoteproc: support attach recovery after rproc crash

 drivers/remoteproc/remoteproc_core.c     | 62 ++++++++++++++++--------
 drivers/remoteproc/remoteproc_internal.h | 15 ++++++
 include/linux/remoteproc.h               | 16 ++++++
 3 files changed, 74 insertions(+), 19 deletions(-)

Comments

Tanmay Shah Sept. 28, 2022, 3:42 p.m. UTC | #1
On 9/27/22 11:47 PM, Peng Fan (OSS) wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.
>
>
> From: Peng Fan <peng.fan@nxp.com>
>
> V8:
>   Rebased on linux-next/master tag: next-20220927

Hi Peng,

Thanks for your patch.

Tags are useful, but more accurate method is to use --base option of git 
format-patch.

This can inform others what base-commit was used. It is also useful when 
you have prerequisite patches.

Hope this helps.

Thanks,

Tanmay

>
> V7:
>   Per comments from Arnaud Pouliquen:
>     Typo fixes
>     Added A-b tag
>
> V6:
>   Rename rproc_firmware_recovery to rproc_boot_recovery
>   Drop the unlock/lock when do reproc_attach_recovery
>
> V5:
>   Rename RPROC_FEAT_ATTACH_RECOVERY to RPROC_FEAT_ATTACH_ON_RECOVERY
>   Add kerneldoc for rproc features
>   Change rproc_set_feature to return int type and add a max feature check
>   Use __rproc_detach and __rproc_attach when do attach recovery
>   https://patchwork.kernel.org/project/linux-remoteproc/cover/20220615032048.465486-1-peng.fan@oss.nxp.com/
>
> V4:
>    Based on Bjorn's comments on V2-2
>    Move the rproc_has_feature/rproc_set_feature to remoteproc_internal.h and
>   Keep rproc_features still in remoteproc.h, because we use
>   RPROC_MAX_FEATURES to declare bitmap.
>    Update commit log for patch 2/2, and add comments
>
>    https://patchwork.kernel.org/project/linux-remoteproc/cover/20220323034405.976643-1-peng.fan@oss.nxp.com/
>
> V3:
>   Resend the wrong labeled patchset
>   https://patchwork.kernel.org/project/linux-remoteproc/list/?series=621311
>
>   Write a cover-letter
>   To i.MX8QM/QXP, they have a M4 core self-recovery capability without
>   Linux loading firmware. The self recovery is done by
>   SCU(System Control Unit). Current remoteproc framework only support Linux
>   help recovery remote processor(stop, loading firmware, start). This
>   patchset is support remote processor self recovery(attach recovery).
>
>   In order to avoid introducing a new variable(bool support_self_recovery),
>   patch 1 introduce a new function, rproc_has_feature to make code easy to
>   extend, cleaner, such as we could move "bool has_iommu" to
>   rproc_has_feature(rproc, RPROC_FEAT_IOMMU).
>
>   Patch 2 is introduce a new function rproc_attach_recovery for
>   self recovery, the original logic move to rproc_firmware_recovery meaning
>   needs linux to help recovery.
>
>   V2-version 2:
>   https://patchwork.kernel.org/project/linux-remoteproc/list/?series=621311
>   Introduce rproc_has_feature
>
>   V2-version 1:
>   https://patchwork.kernel.org/project/linux-remoteproc/patch/20220126085120.3397450-1-peng.fan@oss.nxp.com/
>   Nothing change in V2.
>   Only move this patch out from
>   https://patchwork.kernel.org/project/linux-remoteproc/list/?series=604364
>
> Peng Fan (2):
>    remoteproc: introduce rproc features
>    remoteproc: support attach recovery after rproc crash
>
>   drivers/remoteproc/remoteproc_core.c     | 62 ++++++++++++++++--------
>   drivers/remoteproc/remoteproc_internal.h | 15 ++++++
>   include/linux/remoteproc.h               | 16 ++++++
>   3 files changed, 74 insertions(+), 19 deletions(-)
>
> --
> 2.37.1
>
Mathieu Poirier Sept. 28, 2022, 4:48 p.m. UTC | #2
On Wed, Sep 28, 2022 at 02:47:54PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> V8:
>  Rebased on linux-next/master tag: next-20220927
> 
> V7:
>  Per comments from Arnaud Pouliquen:
>    Typo fixes
>    Added A-b tag
> 
> V6:
>  Rename rproc_firmware_recovery to rproc_boot_recovery
>  Drop the unlock/lock when do reproc_attach_recovery
> 
> V5:
>  Rename RPROC_FEAT_ATTACH_RECOVERY to RPROC_FEAT_ATTACH_ON_RECOVERY
>  Add kerneldoc for rproc features
>  Change rproc_set_feature to return int type and add a max feature check
>  Use __rproc_detach and __rproc_attach when do attach recovery
>  https://patchwork.kernel.org/project/linux-remoteproc/cover/20220615032048.465486-1-peng.fan@oss.nxp.com/
> 
> V4:
>   Based on Bjorn's comments on V2-2
>   Move the rproc_has_feature/rproc_set_feature to remoteproc_internal.h and
>  Keep rproc_features still in remoteproc.h, because we use
>  RPROC_MAX_FEATURES to declare bitmap.
>   Update commit log for patch 2/2, and add comments
> 
>   https://patchwork.kernel.org/project/linux-remoteproc/cover/20220323034405.976643-1-peng.fan@oss.nxp.com/
> 
> V3:
>  Resend the wrong labeled patchset
>  https://patchwork.kernel.org/project/linux-remoteproc/list/?series=621311
> 
>  Write a cover-letter
>  To i.MX8QM/QXP, they have a M4 core self-recovery capability without
>  Linux loading firmware. The self recovery is done by
>  SCU(System Control Unit). Current remoteproc framework only support Linux
>  help recovery remote processor(stop, loading firmware, start). This
>  patchset is support remote processor self recovery(attach recovery).
> 
>  In order to avoid introducing a new variable(bool support_self_recovery),
>  patch 1 introduce a new function, rproc_has_feature to make code easy to
>  extend, cleaner, such as we could move "bool has_iommu" to
>  rproc_has_feature(rproc, RPROC_FEAT_IOMMU).
> 
>  Patch 2 is introduce a new function rproc_attach_recovery for
>  self recovery, the original logic move to rproc_firmware_recovery meaning
>  needs linux to help recovery.
> 
>  V2-version 2:
>  https://patchwork.kernel.org/project/linux-remoteproc/list/?series=621311
>  Introduce rproc_has_feature
> 
>  V2-version 1:
>  https://patchwork.kernel.org/project/linux-remoteproc/patch/20220126085120.3397450-1-peng.fan@oss.nxp.com/
>  Nothing change in V2.
>  Only move this patch out from
>  https://patchwork.kernel.org/project/linux-remoteproc/list/?series=604364
> 
> Peng Fan (2):
>   remoteproc: introduce rproc features
>   remoteproc: support attach recovery after rproc crash
> 
>  drivers/remoteproc/remoteproc_core.c     | 62 ++++++++++++++++--------
>  drivers/remoteproc/remoteproc_internal.h | 15 ++++++
>  include/linux/remoteproc.h               | 16 ++++++
>  3 files changed, 74 insertions(+), 19 deletions(-)

Applied.

Thanks,
Mathieu

> 
> -- 
> 2.37.1
>
Peng Fan (OSS) Sept. 29, 2022, 8:33 a.m. UTC | #3
On 9/28/2022 11:42 PM, Tanmay Shah wrote:
> 
> On 9/27/22 11:47 PM, Peng Fan (OSS) wrote:
>> CAUTION: This message has originated from an External Source. Please 
>> use proper judgment and caution when opening attachments, clicking 
>> links, or responding to this email.
>>
>>
>> From: Peng Fan <peng.fan@nxp.com>
>>
>> V8:
>>   Rebased on linux-next/master tag: next-20220927
> 
> Hi Peng,
> 
> Thanks for your patch.
> 
> Tags are useful, but more accurate method is to use --base option of git 
> format-patch.
> 
> This can inform others what base-commit was used. It is also useful when 
> you have prerequisite patches.

Yes, I see. linux-next/master would force update every day, so I am not
sure base-commit would work for linux-next/master branch.

Thanks,
Peng.

> 
> Hope this helps.
> 
> Thanks,
> 
> Tanmay
> 
>>
>> V7:
>>   Per comments from Arnaud Pouliquen:
>>     Typo fixes
>>     Added A-b tag
>>
>> V6:
>>   Rename rproc_firmware_recovery to rproc_boot_recovery
>>   Drop the unlock/lock when do reproc_attach_recovery
>>
>> V5:
>>   Rename RPROC_FEAT_ATTACH_RECOVERY to RPROC_FEAT_ATTACH_ON_RECOVERY
>>   Add kerneldoc for rproc features
>>   Change rproc_set_feature to return int type and add a max feature check
>>   Use __rproc_detach and __rproc_attach when do attach recovery
>>   
>> https://patchwork.kernel.org/project/linux-remoteproc/cover/20220615032048.465486-1-peng.fan@oss.nxp.com/
>>
>> V4:
>>    Based on Bjorn's comments on V2-2
>>    Move the rproc_has_feature/rproc_set_feature to 
>> remoteproc_internal.h and
>>   Keep rproc_features still in remoteproc.h, because we use
>>   RPROC_MAX_FEATURES to declare bitmap.
>>    Update commit log for patch 2/2, and add comments
>>
>>    
>> https://patchwork.kernel.org/project/linux-remoteproc/cover/20220323034405.976643-1-peng.fan@oss.nxp.com/
>>
>> V3:
>>   Resend the wrong labeled patchset
>>   
>> https://patchwork.kernel.org/project/linux-remoteproc/list/?series=621311
>>
>>   Write a cover-letter
>>   To i.MX8QM/QXP, they have a M4 core self-recovery capability without
>>   Linux loading firmware. The self recovery is done by
>>   SCU(System Control Unit). Current remoteproc framework only support 
>> Linux
>>   help recovery remote processor(stop, loading firmware, start). This
>>   patchset is support remote processor self recovery(attach recovery).
>>
>>   In order to avoid introducing a new variable(bool 
>> support_self_recovery),
>>   patch 1 introduce a new function, rproc_has_feature to make code 
>> easy to
>>   extend, cleaner, such as we could move "bool has_iommu" to
>>   rproc_has_feature(rproc, RPROC_FEAT_IOMMU).
>>
>>   Patch 2 is introduce a new function rproc_attach_recovery for
>>   self recovery, the original logic move to rproc_firmware_recovery 
>> meaning
>>   needs linux to help recovery.
>>
>>   V2-version 2:
>>   
>> https://patchwork.kernel.org/project/linux-remoteproc/list/?series=621311
>>   Introduce rproc_has_feature
>>
>>   V2-version 1:
>>   
>> https://patchwork.kernel.org/project/linux-remoteproc/patch/20220126085120.3397450-1-peng.fan@oss.nxp.com/
>>   Nothing change in V2.
>>   Only move this patch out from
>>   
>> https://patchwork.kernel.org/project/linux-remoteproc/list/?series=604364
>>
>> Peng Fan (2):
>>    remoteproc: introduce rproc features
>>    remoteproc: support attach recovery after rproc crash
>>
>>   drivers/remoteproc/remoteproc_core.c     | 62 ++++++++++++++++--------
>>   drivers/remoteproc/remoteproc_internal.h | 15 ++++++
>>   include/linux/remoteproc.h               | 16 ++++++
>>   3 files changed, 74 insertions(+), 19 deletions(-)
>>
>> -- 
>> 2.37.1
>>