/* * wm8804.h -- WM8804 S/PDIF transceiver driver * * Copyright 2010 Wolfson Microelectronics plc * * Author: Dimitris Papastamos * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef _WM8804_H #define _WM8804_H #include /* * Register values. */ #define WM8804_RST_DEVID1 0x00 #define WM8804_DEVID2 0x01 #define WM8804_DEVREV 0x02 #define WM8804_PLL1 0x03 #define WM8804_PLL2 0x04 #define WM8804_PLL3 0x05 #define WM8804_PLL4 0x06 #define WM8804_PLL5 0x07 #define WM8804_PLL6 0x08 #define WM8804_SPDMODE 0x09 #define WM8804_INTMASK 0x0A #define WM8804_INTSTAT 0x0B #define WM8804_SPDSTAT 0x0C #define WM8804_RXCHAN1 0x0D #define WM8804_RXCHAN2 0x0E #define WM8804_RXCHAN3 0x0F #define WM8804_RXCHAN4 0x10 #define WM8804_RXCHAN5 0x11 #define WM8804_SPDTX1 0x12 #define WM8804_SPDTX2 0x13 #define WM8804_SPDTX3 0x14 #define WM8804_SPDTX4 0x15 #define WM8804_SPDTX5 0x16 #define WM8804_GPO0 0x17 #define WM8804_GPO1 0x18 #define WM8804_GPO2 0x1A #define WM8804_AIFTX 0x1B #define WM8804_AIFRX 0x1C #define WM8804_SPDRX1 0x1D #define WM8804_PWRDN 0x1E #define WM8804_REGISTER_COUNT 30 #define WM8804_MAX_REGISTER 0x1E #define WM8804_TX_CLKSRC_MCLK 1 #define WM8804_TX_CLKSRC_PLL 2 #define WM8804_CLKOUT_SRC_CLK1 3 #define WM8804_CLKOUT_SRC_OSCCLK 4 #define WM8804_CLKOUT_DIV 1 #define WM8804_MCLK_DIV 2 #define WM8804_MCLKDIV_256FS 0 #define WM8804_MCLKDIV_128FS 1 extern const struct regmap_config wm8804_regmap_config; extern const struct dev_pm_ops wm8804_pm; int wm8804_probe(struct device *dev, struct regmap *regmap); void wm8804_remove(struct device *dev); #endif /* _WM8804_H */ ext.git/tree/tools/perf/tests/llvm.c?h=nds-private-remove&id=c26665ab5c49ad3e142e0f054ca3204f259ba09c'>treecommitdiff
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2017-01-20 21:29:40 +0100
committerThomas Gleixner <tglx@linutronix.de>2017-01-23 09:39:55 +0100
commitc26665ab5c49ad3e142e0f054ca3204f259ba09c (patch)
tree3bab11918e18e9d25ef7544dba05cdf39d1abec5 /tools/perf/tests/llvm.c
parent7a308bb3016f57e5be11a677d15b821536419d36 (diff)
x86/microcode/intel: Drop stashed AP patch pointer optimization
This was meant to save us the scanning of the microcode containter in the initrd since the first AP had already done that but it can also hurt us: Imagine a single hyperthreaded CPU (Intel(R) Atom(TM) CPU N270, for example) which updates the microcode on the BSP but since the microcode engine is shared between the two threads, the update on CPU1 doesn't happen because it has already happened on CPU0 and we don't find a newer microcode revision on CPU1. Which doesn't set the intel_ucode_patch pointer and at initrd jettisoning time we don't save the microcode patch for later application. Now, when we suspend to RAM, the loaded microcode gets cleared so we need to reload but there's no patch saved in the cache. Removing the optimization fixes this issue and all is fine and dandy. Fixes: 06b8534cb728 ("x86/microcode: Rework microcode loading") Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20170120202955.4091-2-bp@alien8.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'tools/perf/tests/llvm.c')