Re: [PATCH 5/7] dt-bindings: remoteproc: qcom,pas: Add hwlocks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 21/05/2024 06:08, Chris Lew wrote:
> 
> 
> On 5/19/2024 10:36 AM, Krzysztof Kozlowski wrote:
>> On 17/05/2024 00:58, Chris Lew wrote:
>>> Add hwlocks property to describe the hwspinlock that remoteproc can try
>>> to bust on behalf of the remoteproc's smem.
>>
>> Sorry, as you wrote, the lock is part of smem, not here. Drivers do not
>> crash, so if your crashes as you imply in the cover letter, then first
>> fix the driver.
>>
> 
> Hi Krzysztof,
> 
> Sorry for the confusion, I dont think I meant that the smem driver will 
> ever crash. The referred to crash in the cover letter is a crash in the 
> firmware running on the remoteproc. The remoteproc could crash for any 
> unexpected reason, related or unrelated to smem, while holding the tcsr 
> mutex. I want to ensure that all resources that a remoteproc might be 
> using are released as part of remoteproc stop.
> 
> The SMEM driver manages the lock/unlock operations on the tcsr mutex 
> from the Linux CPU's perspective. This case is for cleaning up from the 
> remote side's perspective.
> 
> In this case it's the hwspinlock used to synchronize SMEM, but it's 
> conceivable that firmware running on the remoteproc has additional locks 
> that need to be busted in order for the system to continue executing 
> until the firmware is reinitialized.
> 
> We did consider tying this to the SMEM instance, but the entitiy 
> relating to firmware is the remoteproc instance.

I still do not understand why you have to add hwlock to remoteproc, even
though it is not directly used. Your driver problem looks like lack of
proper driver architecture - you want to control the locks not from the
layer took the lock, but one layer up. Sorry, no, fix the driver
architecture.

Best regards,
Krzysztof





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux