#ifndef TRIDENTFB_DEBUG #define TRIDENTFB_DEBUG 0 #endif #if TRIDENTFB_DEBUG #define debug(f, a...) printk("%s:" f, __func__ , ## a); #else #define debug(f, a...) #endif #define output(f, a...) pr_info("tridentfb: " f, ## a) #define Kb (1024) #define Mb (Kb*Kb) /* PCI IDS of supported cards temporarily here */ #define CYBER9320 0x9320 #define CYBER9388 0x9388 #define CYBER9382 0x9382 /* the real PCI id for this is 9660 */ #define CYBER9385 0x9385 /* ditto */ #define CYBER9397 0x9397 #define CYBER9397DVD 0x939A #define CYBER9520 0x9520 #define CYBER9525DVD 0x9525 #define TGUI9440 0x9440 #define TGUI9660 0x9660 #define PROVIDIA9685 0x9685 #define IMAGE975 0x9750 #define IMAGE985 0x9850 #define BLADE3D 0x9880 #define CYBERBLADEE4 0x9540 #define CYBERBLADEi7 0x8400 #define CYBERBLADEi7D 0x8420 #define CYBERBLADEi1 0x8500 #define CYBERBLADEi1D 0x8520 #define CYBERBLADEAi1 0x8600 #define CYBERBLADEAi1D 0x8620 #define CYBERBLADEXPAi1 0x8820 #define CYBERBLADEXPm8 0x9910 #define CYBERBLADEXPm16 0x9930 /* these defines are for 'lcd' variable */ #define LCD_STRETCH 0 #define LCD_CENTER 1 #define LCD_BIOS 2 /* General Registers */ #define SPR 0x1F /* Software Programming Register (videoram) */ /* 3C4 */ #define RevisionID 0x09 #define OldOrNew 0x0B #define ConfPort1 0x0C #define ConfPort2 0x0C #define NewMode2 0x0D #define NewMode1 0x0E #define Protection 0x11 #define MCLKLow 0x16 #define MCLKHigh 0x17 #define ClockLow 0x18 #define ClockHigh 0x19 #define SSetup 0x20 #define SKey 0x37 #define SPKey 0x57 /* 3x4 */ #define CRTCModuleTest 0x1E #define FIFOControl 0x20 #define LinearAddReg 0x21 #define DRAMTiming 0x23 #define New32 0x23 #define RAMDACTiming 0x25 #define CRTHiOrd 0x27 #define AddColReg 0x29 #define InterfaceSel 0x2A #define HorizOverflow 0x2B #define GETest 0x2D #define Performance 0x2F #define GraphEngReg 0x36 #define I2C 0x37 #define PixelBusReg 0x38 #define PCIReg 0x39 #define DRAMControl 0x3A #define MiscContReg 0x3C #define CursorXLow 0x40 #define CursorXHigh 0x41 #define CursorYLow 0x42 #define CursorYHigh 0x43 #define CursorLocLow 0x44 #define CursorLocHigh 0x45 #define CursorXOffset 0x46 #define CursorYOffset 0x47 #define CursorFG1 0x48 #define CursorFG2 0x49 #define CursorFG3 0x4A #define CursorFG4 0x4B #define CursorBG1 0x4C #define CursorBG2 0x4D #define CursorBG3 0x4E #define CursorBG4 0x4F #define CursorControl 0x50 #define PCIRetry 0x55 #define PreEndControl 0x56 #define PreEndFetch 0x57 #define PCIMaster 0x60 #define Enhancement0 0x62 #define NewEDO 0x64 #define TVinterface 0xC0 #define TVMode 0xC1 #define ClockControl 0xCF /* 3CE */ #define MiscExtFunc 0x0F #define PowerStatus 0x23 #define MiscIntContReg 0x2F #define CyberControl 0x30 #define CyberEnhance 0x31 #define FPConfig 0x33 #define VertStretch 0x52 #define HorStretch 0x53 #define BiosMode 0x5c #define BiosReg 0x5d /* Graphics Engine */ #define STATUS 0x2120 #define OLDCMD 0x2124 #define DRAWFL 0x2128 #define OLDCLR 0x212C #define OLDDST 0x2138 #define OLDSRC 0x213C #define OLDDIM 0x2140 #define CMD 0x2144 #define ROP 0x2148 #define COLOR 0x2160 #define BGCOLOR 0x2164 #define SRC1 0x2100 #define SRC2 0x2104 #define DST1 0x2108 #define DST2 0x210C #define ROP_S 0xCC #define ROP_P 0xF0 #define ROP_X 0x66 >context:space:mode:
authorThomas Gleixner <tglx@linutronix.de>2017-01-31 23:58:38 +0100
committerIngo Molnar <mingo@kernel.org>2017-02-01 08:37:27 +0100
commitdd86e373e09fb16b83e8adf5c48c421a4ca76468 (patch)
tree55703c2ea8584e303e342090614e0aab3509ab21 /net/sched/sch_fq.c
parent0b3589be9b98994ce3d5aeca52445d1f5627c4ba (diff)
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>
Diffstat (limited to 'net/sched/sch_fq.c')