-
由 Conor Dooley 提交于
Some services explicitly return an error code in their response, but others rely on the system controller to set a status in its status register. The meaning of the bits varies based on what service is requested, so pass it back up to the driver that requested the service in the first place. The field in the message struct already existed, but was unused until now. If the system controller is busy, in which case we should never actually be in the interrupt handler, or if the service fails the mailbox itself should not be read. Callers should check the status before operating on the response. There's an existing, but unused, #define for the mailbox mask - but it was incorrect. It was doing a GENMASK_ULL(32, 16) which should've just been a GENMASK(31, 16), so fix that up and start using it. Fixes: 83d7b156 ("mbox: add polarfire soc system controller mailbox") Signed-off-by: NConor Dooley <conor.dooley@microchip.com> Reviewed-by: NPalmer Dabbelt <palmer@rivosinc.com> Signed-off-by: NJassi Brar <jaswinder.singh@linaro.org>
ab47d0bf