/*
* This header provides constants for the reset controller
* based peripheral powerdown requests on the STMicroelectronics
* STiH416 SoC.
*/
#ifndef _DT_BINDINGS_RESET_CONTROLLER_STIH416
#define _DT_BINDINGS_RESET_CONTROLLER_STIH416
#define STIH416_EMISS_POWERDOWN 0
#define STIH416_NAND_POWERDOWN 1
#define STIH416_KEYSCAN_POWERDOWN 2
#define STIH416_USB0_POWERDOWN 3
#define STIH416_USB1_POWERDOWN 4
#define STIH416_USB2_POWERDOWN 5
#define STIH416_USB3_POWERDOWN 6
#define STIH416_SATA0_POWERDOWN 7
#define STIH416_SATA1_POWERDOWN 8
#define STIH416_PCIE0_POWERDOWN 9
#define STIH416_PCIE1_POWERDOWN 10
#define STIH416_ETH0_SOFTRESET 0
#define STIH416_ETH1_SOFTRESET 1
#define STIH416_IRB_SOFTRESET 2
#define STIH416_USB0_SOFTRESET 3
#define STIH416_USB1_SOFTRESET 4
#define STIH416_USB2_SOFTRESET 5
#define STIH416_USB3_SOFTRESET 6
#define STIH416_SATA0_SOFTRESET 7
#define STIH416_SATA1_SOFTRESET 8
#define STIH416_PCIE0_SOFTRESET 9
#define STIH416_PCIE1_SOFTRESET 10
#define STIH416_AUD_DAC_SOFTRESET 11
#define STIH416_HDTVOUT_SOFTRESET 12
#define STIH416_VTAC_M_RX_SOFTRESET 13
#define STIH416_VTAC_A_RX_SOFTRESET 14
#define STIH416_SYNC_HD_SOFTRESET 15
#define STIH416_SYNC_SD_SOFTRESET 16
#define STIH416_BLITTER_SOFTRESET 17
#define STIH416_GPU_SOFTRESET 18
#define STIH416_VTAC_M_TX_SOFTRESET 19
#define STIH416_VTAC_A_TX_SOFTRESET 20
#define STIH416_VTG_AUX_SOFTRESET 21
#define STIH416_JPEG_DEC_SOFTRESET 22
#define STIH416_HVA_SOFTRESET 23
#define STIH416_COMPO_M_SOFTRESET 24
#define STIH416_COMPO_A_SOFTRESET 25
#define STIH416_VP8_DEC_SOFTRESET 26
#define STIH416_VTG_MAIN_SOFTRESET 27
#define STIH416_KEYSCAN_SOFTRESET 28
#endif /* _DT_BINDINGS_RESET_CONTROLLER_STIH416 */
nux/net-next.git/log/include/dt-bindings/pinctrl/pinctrl-tegra-xusb.h'>logtreecommitdiff
perf/x86/intel/rapl: Make package handling more robust
The package management code in RAPL relies on package mapping being
available before a CPU is started. This changed with:
9d85eb9119f4 ("x86/smpboot: Make logical package management more robust")
because the ACPI/BIOS information turned out to be unreliable, but that
left RAPL in broken state. This was not noticed because on a regular boot
all CPUs are online before RAPL is initialized.
A possible fix would be to reintroduce the mess which allocates a package
data structure in CPU prepare and when it turns out to already exist in
starting throw it away later in the CPU online callback. But that's a
horrible hack and not required at all because RAPL becomes functional for
perf only in the CPU online callback. That's correct because user space is
not yet informed about the CPU being onlined, so nothing caan rely on RAPL
being available on that particular CPU.
Move the allocation to the CPU online callback and simplify the hotplug
handling. At this point the package mapping is established and correct.
This also adds a missing check for available package data in the
event_init() function.
Reported-by: Yasuaki Ishimatsu <yasu.isimatu@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sebastian Siewior <bigeasy@linutronix.de>
Cc: Stephane Eranian <eranian@google.com>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Fixes: 9d85eb9119f4 ("x86/smpboot: Make logical package management more robust")
Link: http://lkml.kernel.org/r/20170131230141.212593966@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>