1*3de5947cSMarouene Boubakri/* SPDX-License-Identifier: BSD-2-Clause */ 2*3de5947cSMarouene Boubakri/* 3*3de5947cSMarouene Boubakri * Copyright 2022-2023 NXP 4*3de5947cSMarouene Boubakri */ 5*3de5947cSMarouene Boubakri 6*3de5947cSMarouene Boubakri#include <asm.S> 7*3de5947cSMarouene Boubakri 8*3de5947cSMarouene Boubakri/* uint32_t atomic_inc32(uint32_t *v); */ 9*3de5947cSMarouene BoubakriFUNC atomic_inc32 , : 10*3de5947cSMarouene Boubakri li a1, 1 11*3de5947cSMarouene Boubakri amoadd.w.aqrl a2, a1, (a0) 12*3de5947cSMarouene Boubakri add a0, a1, a2 13*3de5947cSMarouene Boubakri ret 14*3de5947cSMarouene BoubakriEND_FUNC atomic_inc32 15*3de5947cSMarouene Boubakri 16*3de5947cSMarouene Boubakri/* uint32_t atomic_dec32(uint32_t *v); */ 17*3de5947cSMarouene BoubakriFUNC atomic_dec32 , : 18*3de5947cSMarouene Boubakri li a1, -1 19*3de5947cSMarouene Boubakri amoadd.w.aqrl a2, a1, (a0) 20*3de5947cSMarouene Boubakri add a0, a1, a2 21*3de5947cSMarouene Boubakri ret 22*3de5947cSMarouene BoubakriEND_FUNC atomic_dec32 23