soc: qcom: scm: Fix scm_call_count when used with GCC and LSE atomics
LSE atomic increments and decrements clobber the x0 and x1 registers, and since these registers are used in volatile inline assembly for SCM calls, GCC does not preserve their values across the atomic_inc() and atomic_dec() calls. This results in x0 and x1 containing garbage values before and after the SCM call, breaking it entirely. Wrapping the atomic_inc() and atomic_dec() outside the SCM call functions fixes the issue. Change-Id: Ia2a192efb2be3c2458ddbe49eaef0edcad4378aa Signed-off-by:Sultan Alsawaf <sultan@kerneltoast.com> Signed-off-by:
xNombre <kartapolska@gmail.com> Signed-off-by:
Pranav Vashi <neobuddy89@gmail.com>
Loading
Please register or sign in to comment