trusty: Defer the clearing of signaled until FFA_RUN

On the FF-A transport, we use tw->signaled to mark whether
Trusty needs cycles on that CPU. Dequeuing a nopcall from
the nop queue does not guarantee that by itself, since only
NULL-argument calls invoke FFA_RUN. This can cause issues
when one CPU 1 has some queued nopcall(s), and another CPU 2
calls trusty_enqueue_nop_on_cpu(NULL, 1). When the first nopcall
is dequeued on CPU 1, tw->signaled will be set to false which
will cause us to lose an FFA_RUN call. To fix this, we add a flag
on the FF-A transport that argument nopcalls are separate from
the ones that give cycles, and only clear signaled when the
queue is empty (meaning there are no more argument calls left).

Bug: 430121095
Change-Id: I2ffb30b4b5d485a62384cd3eb4da3669adadd10d
Signed-off-by: Andrei Homescu <[email protected]>
(cherry picked from commit 4a45b53905e1e477397ea4ac07786dc30a43760d)
3 files changed