#ifndef PCM1796_H_INCLUDED #define PCM1796_H_INCLUDED /* register 16 */ #define PCM1796_ATL_MASK 0xff /* register 17 */ #define PCM1796_ATR_MASK 0xff /* register 18 */ #define PCM1796_MUTE 0x01 #define PCM1796_DME 0x02 #define PCM1796_DMF_MASK 0x0c #define PCM1796_DMF_DISABLED 0x00 #define PCM1796_DMF_48 0x04 #define PCM1796_DMF_441 0x08 #define PCM1796_DMF_32 0x0c #define PCM1796_FMT_MASK 0x70 #define PCM1796_FMT_16_RJUST 0x00 #define PCM1796_FMT_20_RJUST 0x10 #define PCM1796_FMT_24_RJUST 0x20 #define PCM1796_FMT_24_LJUST 0x30 #define PCM1796_FMT_16_I2S 0x40 #define PCM1796_FMT_24_I2S 0x50 #define PCM1796_ATLD 0x80 /* register 19 */ #define PCM1796_INZD 0x01 #define PCM1796_FLT_MASK 0x02 #define PCM1796_FLT_SHARP 0x00 #define PCM1796_FLT_SLOW 0x02 #define PCM1796_DFMS 0x04 #define PCM1796_OPE 0x10 #define PCM1796_ATS_MASK 0x60 #define PCM1796_ATS_1 0x00 #define PCM1796_ATS_2 0x20 #define PCM1796_ATS_4 0x40 #define PCM1796_ATS_8 0x60 #define PCM1796_REV 0x80 /* register 20 */ #define PCM1796_OS_MASK 0x03 #define PCM1796_OS_64 0x00 #define PCM1796_OS_32 0x01 #define PCM1796_OS_128 0x02 #define PCM1796_CHSL_MASK 0x04 #define PCM1796_CHSL_LEFT 0x00 #define PCM1796_CHSL_RIGHT 0x04 #define PCM1796_MONO 0x08 #define PCM1796_DFTH 0x10 #define PCM1796_DSD 0x20 #define PCM1796_SRST 0x40 /* register 21 */ #define PCM1796_PCMZ 0x01 #define PCM1796_DZ_MASK 0x06 /* register 22 */ #define PCM1796_ZFGL 0x01 #define PCM1796_ZFGR 0x02 /* register 23 */ #define PCM1796_ID_MASK 0x1f #endif
summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/wm8998.h
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 /sound/soc/codecs/wm8998.h
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 'sound/soc/codecs/wm8998.h')