octeontx2-af: Secure APR table update with the lock
authorGeetha sowjanya <gakula@marvell.com>
Wed, 3 May 2023 07:09:34 +0000 (12:39 +0530)
committerDavid S. Miller <davem@davemloft.net>
Wed, 3 May 2023 08:02:59 +0000 (09:02 +0100)
commit048486f81d01db4d100af021ee2ea211d19732a0
tree30fd0447e0453bfa6bb0c24331e736e744460085
parent9e08dcef60baa3125d10077ce5e9b3b5cf28a169
octeontx2-af: Secure APR table update with the lock

APR table contains the lmtst base address of PF/VFs. These entries
are updated by the PF/VF during the device probe. The lmtst address
is fetched from HW using "TXN_REQ" and "ADDR_RSP_STS" registers.
The lock tries to protect these registers from getting overwritten
when multiple PFs invokes rvu_get_lmtaddr() simultaneously.

For example, if PF1 submit the request and got permitted before it
reads the response and PF2 got scheduled submit the request then the
response of PF1 is overwritten by the PF2 response.

Fixes: 893ae97214c3 ("octeontx2-af: cn10k: Support configurable LMTST regions")
Signed-off-by: Geetha sowjanya <gakula@marvell.com>
Signed-off-by: Sunil Kovvuri Goutham <sgoutham@marvell.com>
Signed-off-by: Sai Krishna <saikrishnag@marvell.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/af/rvu_cn10k.c