[PATCH v21 06/14] dmaengine: qcom: bam_dma: add support for BAM locking

Bartosz Golaszewski brgl at kernel.org
Fri Jul 17 01:08:54 PDT 2026


On Tue, 14 Jul 2026 11:49:14 +0200, Stephan Gerhold
<stephan.gerhold at linaro.org> said:
>
>> +
>>  /**
>>   * bam_prep_slave_sg - Prep slave sg transaction
>>   *
>> [...]
>> @@ -802,6 +851,7 @@ static int bam_dma_terminate_all(struct dma_chan *chan)
>>  		}
>>
>>  		vchan_get_all_descriptors(&bchan->vc, &head);
>> +		bchan->bam_locked = false;
>
> I wonder about the implications of this. If the LOCK descriptor was
> already processed, will we cause a deadlock if we never submit the
> UNLOCK descriptor? Or I guess bam_reset_channel() might reset the lock
> as well?
>

There's nothing in the HPG that would imply it but I instrumented a test where
I excercised this situation and QCE was not locked up in any way. If there
were more execution environments doing the same, I'm not sure but this series
was tested by the NAND team and they didn't notice anything.

Bart



More information about the linux-arm-kernel mailing list