[Linux-stm32] [PATCH 1/5] ARM: dts: stm32: Add missing detach mailbox for emtrion emSBC-Argon

Arnaud POULIQUEN arnaud.pouliquen at foss.st.com
Mon Jun 12 01:26:04 PDT 2023



On 6/10/23 15:46, Marek Vasut wrote:
> On 6/7/23 11:53, Arnaud POULIQUEN wrote:
> 
> Hi,
> 
> [...]
> 
>>>>>>>> Rather than adding unused optional mailbox, I will more in favor
>>>>>>>> of having a mbox_request_channel_byname_optional helper or
>>>>>>>> something similar
>>>>>>>
>>>>>>> See above, I think it is better to have the mailbox described in DT
>>>>>>> always and not use it (the user can always remove it), than to not
>>>>>>> have it described on some boards and have it described on other
>>>>>>> boards
>>>>> (inconsistency).
>>>>>>
>>>>>> Adding it in the DT ( and especially in the Soc DTSI) can also be
>>>>>> interpreted as "it is defined so you must use it". I would expect
>>>>>> that the Bindings already provide the information to help user to add it
>>> on need.
>>>>>
>>>>> Why should every single board add it separately and duplicate the
>>>>> same stuff, if they can all start with it, and if anyone needs to
>>>>> tweak the mailbox allocation, then they can do that in the board DT ?
>>>>> I really don't like the duplication suggestion here.
>>>>
>>>> I was speaking about "detach mailbox. Here is what I would like to
>>>> propose to you
>>>>
>>>> 1)  move all the mailbox declaration in the DTSI except "detach"
>>>> 2) don't declare "detach" in boards DTS ( except ST board for legacy
>>>> compliance)
>>>> 3) as a next step we will have to fix the unexpected warning on the
>>>>      "detach" mailbox.
>>>
>>> Why not make the mailbox available by default on all boards ?
>>
>> It has been introduced mainly to test the detach feature,
>> on a second platform to help remoteproc maintainers for the review
>> process. But the feature is not fully implemented on stm32mp1
>> ( auto reboot of thye M4 on crash, appropriate resource table clean-up,...)
> 
> This is a driver bug, unrelated to DT description, please just fix it.

No, it is a system usecase that depends on Hardware, M4 firmware, A7
applications, ...
The detach/re-attach is a quite complex feature that needs to understand
the whole picture. As already mentioned above it as been introduced for
test on upstream.

> 
>> I would prefer to remove it in ST board DT than add it in the DTSI.
>> That said as mentioned for legacy support, better to keep for ST board.
> 
> Why not remove it from ST boards if this was legacy test feature and is no
> longer needed ?

If you can guaranty that this will not introduce regression on legacy, yes we can.

> 
>>> As far as I can tell, if the software is not using the detach mailbox, there
>>> is no
>>> downside, it would just be unused. User can always remove it in their DT if
>>> really needed.
>>
>> The inverse it true, User can add it in their DT if really need.
> 
> Is there a downside if this is enabled by default, yes or no ?

Yes, by doing this you impose that this channel is reserved for the detach.
making it no more optional.

> 
>>> I believe once can build demos using the detach mailbox for boards with
>>> stm32mp15xx not manufactured by ST, correct ?[]
>>
>> Everything could be possible...
>> Once can want to replace the shutdown mailbox by the detach.
>> Once can also build demo using the detach mailbox channel for another purpose.
>>
>> I quite confuse why you insist to declare this detach mailbox in the DTSI?
>> Is there a strong constraint on your side?
> 
> I just don't see any explanation why ST board(s) should be somehow special and
> have the detach mailbox described in DT by default, while other boards would
> require separate DT patch to use the detach mailbox first. That just reduces
> usability of non-ST-manufactured boards and increases fragmentation. I do not
> like that.

The "somehow special" should only be an internal M4 firmware  allowing to test
the feature to help remoteproc maintainers to verify it on demand.
But I can not know if someone in the community have another firmware using
detach on the ST boards.
Anyway what you propose here is that we impose it for all boards. Some boards
would require separate DT patch to not use it. We just inverse the things...
The difference is that I would not impose something optional.

In term of fragmentation I can only see a specificity for the ST boards.As
already said if you can ensure that this will not generate impact on legacy,
it can be removed from the ST DT.

@Alex: any opinion on that?

Regards
Arnaud



> _______________________________________________
> Linux-stm32 mailing list
> Linux-stm32 at st-md-mailman.stormreply.com
> https://st-md-mailman.stormreply.com/mailman/listinfo/linux-stm32



More information about the linux-arm-kernel mailing list