/* * Definitions for AUO-K190X framebuffer drivers * * Copyright (C) 2012 Heiko Stuebner * * 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 _LINUX_VIDEO_AUO_K190XFB_H_ #define _LINUX_VIDEO_AUO_K190XFB_H_ /* Controller standby command needs a param */ #define AUOK190X_QUIRK_STANDBYPARAM (1 << 0) /* Controller standby is completely broken */ #define AUOK190X_QUIRK_STANDBYBROKEN (1 << 1) /* * Resolutions for the displays */ #define AUOK190X_RESOLUTION_800_600 0 #define AUOK190X_RESOLUTION_1024_768 1 #define AUOK190X_RESOLUTION_600_800 4 #define AUOK190X_RESOLUTION_768_1024 5 /* * struct used by auok190x. board specific stuff comes from *board */ struct auok190xfb_par { struct fb_info *info; struct auok190x_board *board; struct regulator *regulator; struct mutex io_lock; struct delayed_work work; wait_queue_head_t waitq; int resolution; int rotation; int consecutive_threshold; int update_cnt; /* panel and controller informations */ int epd_type; int panel_size_int; int panel_size_float; int panel_model; int tcon_version; int lut_version; /* individual controller callbacks */ void (*update_partial)(struct auok190xfb_par *par, u16 y1, u16 y2); void (*update_all)(struct auok190xfb_par *par); bool (*need_refresh)(struct auok190xfb_par *par); void (*init)(struct auok190xfb_par *par); void (*recover)(struct auok190xfb_par *par); int update_mode; /* mode to use for updates */ int last_mode; /* update mode last used */ int flash; /* power management */ int autosuspend_delay; bool standby; bool manual_standby; }; /** * Board specific platform-data * @init: initialize the controller interface * @cleanup: cleanup the controller interface * @wait_for_rdy: wait until the controller is not busy anymore * @set_ctl: change an interface control * @set_hdb: write a value to the data register * @get_hdb: read a value from the data register * @setup_irq: method to setup the irq handling on the busy gpio * @gpio_nsleep: sleep gpio * @gpio_nrst: reset gpio * @gpio_nbusy: busy gpio * @resolution: one of the AUOK190X_RESOLUTION constants * @rotation: rotation of the framebuffer * @quirks: controller quirks to honor * @fps: frames per second for defio */ struct auok190x_board { int (*init)(struct auok190xfb_par *); void (*cleanup)(struct auok190xfb_par *); int (*wait_for_rdy)(struct auok190xfb_par *); void (*set_ctl)(struct auok190xfb_par *, unsigned char, u8); void (*set_hdb)(struct auok190xfb_par *, u16); u16 (*get_hdb)(struct auok190xfb_par *); int (*setup_irq)(struct fb_info *); int gpio_nsleep; int gpio_nrst; int gpio_nbusy; int resolution; int quirks; int fps; }; #endif 0becc0ae5b42828785b589f686725ff5bc3b9b25'>sound/core/seq/seq_virmidi.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2017-01-31 09:37:34 +0100
committerThomas Gleixner <tglx@linutronix.de>2017-01-31 21:47:58 +0100
commit0becc0ae5b42828785b589f686725ff5bc3b9b25 (patch)
treebe6d0e1f37c38ed0a7dd5da2d4b1e93f0fb43101 /sound/core/seq/seq_virmidi.c
parent24c2503255d35c269b67162c397a1a1c1e02f6ce (diff)
x86/mce: Make timer handling more robust
Erik reported that on a preproduction hardware a CMCI storm triggers the BUG_ON in add_timer_on(). The reason is that the per CPU MCE timer is started by the CMCI logic before the MCE CPU hotplug callback starts the timer with add_timer_on(). So the timer is already queued which triggers the BUG. Using add_timer_on() is pretty pointless in this code because the timer is strictlty per CPU, initialized as pinned and all operations which arm the timer happen on the CPU to which the timer belongs. Simplify the whole machinery by using mod_timer() instead of add_timer_on() which avoids the problem because mod_timer() can handle already queued timers. Use __start_timer() everywhere so the earliest armed expiry time is preserved. Reported-by: Erik Veijola <erik.veijola@intel.com> Tested-by: Borislav Petkov <bp@alien8.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Borislav Petkov <bp@alien8.de> Cc: Tony Luck <tony.luck@intel.com> Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1701310936080.3457@nanos Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'sound/core/seq/seq_virmidi.c')
0 Recognize that PCI/PCI-X to PCIe Bridges originate PCIe hierarchies just like Root Ports do, so link->root for these devices should also point to itself. Fixes: 51ebfc92b72b ("PCI: Enumerate switches below PCI-to-PCIe bridges") Link: https://bugzilla.kernel.org/show_bug.cgi?id=193411 Link: https://bugzilla.opensuse.org/show_bug.cgi?id=1022181 Tested-by: lists@ssl-mail.com Tested-by: Jayachandran C. <jnair@caviumnetworks.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> CC: stable@vger.kernel.org # v4.2+
Diffstat (limited to 'tools/perf/scripts/python/bin/sched-migration-report')