linux/drivers/soc
Conor Dooley 8f943dd12e soc: microchip: mpfs: handle timeouts and failed services differently
The system controller will only deliver an interrupt if a service
succeeds. This leaves us in the unfortunate position with current code
where there is no way to differentiate between a legitimate timeout
where the service has not completed & where it has completed, but
failed.

mbox_send_message() has its own completion, and it will time out of the
system controller does not lower the busy flag. In this case, a timeout
has occurred and the error can be propagated back to the caller.

If the busy flag is lowered, but no interrupt has arrived to trigger the
rx callback, the service can be deemed to have failed. Report -EBADMSG
in this case so that callers can differentiate.

Tested-by: Valentina Fernandez <valentina.fernandezalanis@microchip.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-04-03 19:27:02 +01:00
..
actions
amlogic soc: amlogic: meson-pwrc: Add NNA power domain for A311D 2023-01-02 11:32:53 +01:00
apple soc: apple: rtkit: Do not copy the reg state structure to the stack 2023-02-13 20:20:34 +01:00
aspeed soc: aspeed: lpc-ctrl: Block error printing on probe defer cases 2022-02-08 09:52:59 +01:00
atmel ARM: at91: add support in soc driver for new SAMA7G54 SiPs 2023-01-09 13:58:02 +02:00
bcm soc: bcm: bcm2835-power: Drop empty platform remove function 2023-01-10 13:46:28 -08:00
canaan riscv: canaan: remove useless select of non-existing config SYSCON 2022-01-20 09:35:11 -08:00
dove
fsl Pin control changes for the v6.2 kernel cycle: 2022-12-13 13:03:06 -08:00
fujitsu soc: a64fx-diag: disable modular build 2022-07-20 17:58:18 +02:00
gemini
imx ARM: SoC drivers for 6.3 2023-02-27 10:04:49 -08:00
ixp4xx ARM: ixp4xx: Replace 0-length arrays with flexible arrays 2023-01-19 15:18:19 -08:00
lantiq
litex
loongson soc: loongson: add GUTS driver for loongson-2 platforms 2022-11-14 16:01:32 +01:00
mediatek soc: mediatek: mtk-svs: add missing MODULE_DEVICE_TABLE 2023-02-01 14:35:12 +01:00
microchip soc: microchip: mpfs: handle timeouts and failed services differently 2023-04-03 19:27:02 +01:00
nuvoton soc: nuvoton: Add SoC info driver for WPCM450 2023-02-01 17:11:36 +01:00
pxa pxa: Remove dev_err() after platform_get_irq() 2022-12-04 13:10:57 +01:00
qcom ARM: SoC drivers for 6.3 2023-02-27 10:04:49 -08:00
renesas ARM: SoC drivers for 6.3 2023-02-27 10:04:49 -08:00
rockchip soc: rockchip: power-domain: add power domain support for rk3588 2022-09-09 19:06:41 +02:00
samsung soc: s3c: remove pm-debug hack 2023-01-16 09:26:06 +01:00
sifive soc: sifive: ccache: Add StarFive JH7110 support 2022-12-26 22:50:15 +00:00
starfive soc: starfive: Add StarFive JH71XX pmu driver 2023-01-20 21:55:59 +00:00
sunxi soc: sunxi: SUN20I_PPU should depend on PM 2023-02-10 17:42:25 +01:00
tegra ARM: SoC fixes for 6.2 2022-12-19 16:07:59 -06:00
ti ARM: omap2: smartreflex: remove on_init control 2023-01-09 17:00:54 +01:00
ux500 ARM: ux500: do not directly dereference __iomem 2022-11-08 21:13:56 +01:00
versatile
xilinx firmware: xilinx: Remove kernel-doc marking in the code 2023-01-05 10:18:07 +01:00
Kconfig soc: nuvoton: Add SoC info driver for WPCM450 2023-02-01 17:11:36 +01:00
Makefile soc: nuvoton: Add SoC info driver for WPCM450 2023-02-01 17:11:36 +01:00