#ifndef __DT_BINDINGS_POWER_RK3399_POWER_H__ #define __DT_BINDINGS_POWER_RK3399_POWER_H__ /* VD_CORE_L */ #define RK3399_PD_A53_L0 0 #define RK3399_PD_A53_L1 1 #define RK3399_PD_A53_L2 2 #define RK3399_PD_A53_L3 3 #define RK3399_PD_SCU_L 4 /* VD_CORE_B */ #define RK3399_PD_A72_B0 5 #define RK3399_PD_A72_B1 6 #define RK3399_PD_SCU_B 7 /* VD_LOGIC */ #define RK3399_PD_TCPD0 8 #define RK3399_PD_TCPD1 9 #define RK3399_PD_CCI 10 #define RK3399_PD_CCI0 11 #define RK3399_PD_CCI1 12 #define RK3399_PD_PERILP 13 #define RK3399_PD_PERIHP 14 #define RK3399_PD_VIO 15 #define RK3399_PD_VO 16 #define RK3399_PD_VOPB 17 #define RK3399_PD_VOPL 18 #define RK3399_PD_ISP0 19 #define RK3399_PD_ISP1 20 #define RK3399_PD_HDCP 21 #define RK3399_PD_GMAC 22 #define RK3399_PD_EMMC 23 #define RK3399_PD_USB3 24 #define RK3399_PD_EDP 25 #define RK3399_PD_GIC 26 #define RK3399_PD_SD 27 #define RK3399_PD_SDIOAUDIO 28 #define RK3399_PD_ALIVE 29 /* VD_CENTER */ #define RK3399_PD_CENTER 30 #define RK3399_PD_VCODEC 31 #define RK3399_PD_VDU 32 #define RK3399_PD_RGA 33 #define RK3399_PD_IEP 34 /* VD_GPU */ #define RK3399_PD_GPU 35 /* VD_PMU */ #define RK3399_PD_PMU 36 #endif move net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
path: root/drivers/usb/host/xhci-dbg.c
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2017-02-01 17:45:02 +0000
committerIngo Molnar <mingo@kernel.org>2017-02-01 21:17:49 +0100
commitc8f325a59cfc718d13a50fbc746ed9b415c25e92 (patch)
treed53fbdac9d0781e39a13b2ac6b2bd258cf3b4140 /drivers/usb/host/xhci-dbg.c
parentbf29bddf0417a4783da3b24e8c9e017ac649326f (diff)
efi/fdt: Avoid FDT manipulation after ExitBootServices()
Some AArch64 UEFI implementations disable the MMU in ExitBootServices(), after which unaligned accesses to RAM are no longer supported. Commit: abfb7b686a3e ("efi/libstub/arm*: Pass latest memory map to the kernel") fixed an issue in the memory map handling of the stub FDT code, but inadvertently created an issue with such firmware, by moving some of the FDT manipulation to after the invocation of ExitBootServices(). Given that the stub's libfdt implementation uses the ordinary, accelerated string functions, which rely on hardware handling of unaligned accesses, manipulating the FDT with the MMU off may result in alignment faults. So fix the situation by moving the update_fdt_memmap() call into the callback function invoked by efi_exit_boot_services() right before it calls the ExitBootServices() UEFI service (which is arguably a better place for it anyway) Note that disabling the MMU in ExitBootServices() is not compliant with the UEFI spec, and carries great risk due to the fact that switching from cached to uncached memory accesses halfway through compiler generated code (i.e., involving a stack) can never be done in a way that is architecturally safe. Fixes: abfb7b686a3e ("efi/libstub/arm*: Pass latest memory map to the kernel") Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by: Riku Voipio <riku.voipio@linaro.org> Cc: <stable@vger.kernel.org> Cc: mark.rutland@arm.com Cc: linux-efi@vger.kernel.org Cc: matt@codeblueprint.co.uk Cc: leif.lindholm@linaro.org Cc: linux-arm-kernel@lists.infradead.org Link: http://lkml.kernel.org/r/1485971102-23330-2-git-send-email-ard.biesheuvel@linaro.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/usb/host/xhci-dbg.c')