/* * cs35l32.h -- CS35L32 ALSA SoC audio driver * * Copyright 2014 CirrusLogic, Inc. * * Author: Brian Austin * * 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 __CS35L32_H__ #define __CS35L32_H__ struct cs35l32_platform_data { /* Low Battery Threshold */ unsigned int batt_thresh; /* Low Battery Recovery */ unsigned int batt_recov; /* LED Current Management*/ unsigned int led_mng; /* Audio Gain w/ LED */ unsigned int audiogain_mng; /* Boost Management */ unsigned int boost_mng; /* Data CFG for DUAL device */ unsigned int sdout_datacfg; /* SDOUT Sharing */ unsigned int sdout_share; }; #define CS35L32_CHIP_ID 0x00035A32 #define CS35L32_DEVID_AB 0x01 /* Device ID A & B [RO] */ #define CS35L32_DEVID_CD 0x02 /* Device ID C & D [RO] */ #define CS35L32_DEVID_E 0x03 /* Device ID E [RO] */ #define CS35L32_FAB_ID 0x04 /* Fab ID [RO] */ #define CS35L32_REV_ID 0x05 /* Revision ID [RO] */ #define CS35L32_PWRCTL1 0x06 /* Power Ctl 1 */ #define CS35L32_PWRCTL2 0x07 /* Power Ctl 2 */ #define CS35L32_CLK_CTL 0x08 /* Clock Ctl */ #define CS35L32_BATT_THRESHOLD 0x09 /* Low Battery Threshold */ #define CS35L32_VMON 0x0A /* Voltage Monitor [RO] */ #define CS35L32_BST_CPCP_CTL 0x0B /* Conv Peak Curr Protection CTL */ #define CS35L32_IMON_SCALING 0x0C /* IMON Scaling */ #define CS35L32_AUDIO_LED_MNGR 0x0D /* Audio/LED Pwr Manager */ #define CS35L32_ADSP_CTL 0x0F /* Serial Port Control */ #define CS35L32_CLASSD_CTL 0x10 /* Class D Amp CTL */ #define CS35L32_PROTECT_CTL 0x11 /* Protection Release CTL */ #define CS35L32_INT_MASK_1 0x12 /* Interrupt Mask 1 */ #define CS35L32_INT_MASK_2 0x13 /* Interrupt Mask 2 */ #define CS35L32_INT_MASK_3 0x14 /* Interrupt Mask 3 */ #define CS35L32_INT_STATUS_1 0x15 /* Interrupt Status 1 [RO] */ #define CS35L32_INT_STATUS_2 0x16 /* Interrupt Status 2 [RO] */ #define CS35L32_INT_STATUS_3 0x17 /* Interrupt Status 3 [RO] */ #define CS35L32_LED_STATUS 0x18 /* LED Lighting Status [RO] */ #define CS35L32_FLASH_MODE 0x19 /* LED Flash Mode Current */ #define CS35L32_MOVIE_MODE 0x1A /* LED Movie Mode Current */ #define CS35L32_FLASH_TIMER 0x1B /* LED Flash Timer */ #define CS35L32_FLASH_INHIBIT 0x1C /* LED Flash Inhibit Current */ #define CS35L32_MAX_REGISTER 0x1C #define CS35L32_MCLK_DIV2 0x01 #define CS35L32_MCLK_RATIO 0x01 #define CS35L32_MCLKDIS 0x80 #define CS35L32_PDN_ALL 0x01 #define CS35L32_PDN_AMP 0x80 #define CS35L32_PDN_BOOST 0x04 #define CS35L32_PDN_IMON 0x40 #define CS35L32_PDN_VMON 0x80 #define CS35L32_PDN_VPMON 0x20 #define CS35L32_PDN_ADSP 0x08 #define CS35L32_MCLK_DIV2_MASK 0x40 #define CS35L32_MCLK_RATIO_MASK 0x01 #define CS35L32_MCLK_MASK 0x41 #define CS35L32_ADSP_MASTER_MASK 0x40 #define CS35L32_BOOST_MASK 0x03 #define CS35L32_GAIN_MGR_MASK 0x08 #define CS35L32_ADSP_SHARE_MASK 0x08 #define CS35L32_ADSP_DATACFG_MASK 0x30 #define CS35L32_SDOUT_3ST 0x08 #define CS35L32_BATT_REC_MASK 0x0E #define CS35L32_BATT_THRESH_MASK 0x30 #define CS35L32_RATES (SNDRV_PCM_RATE_48000) #define CS35L32_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | \ SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE) #endif inux/net-next.git/diff/sound/soc?id=027eb72cbcf81561867a764074964e2ce9828398&id2=b5b46c4740aed1538544f0fa849c5b76c7823469'>soc/blackfin/bf5xx-ac97-pcm.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/blackfin/bf5xx-ac97-pcm.c')
/cgit.cgi/linux/net-next.git/tree/?id=dd86e373e09fb16b83e8adf5c48c421a4ca76468'>55703c2ea8584e303e342090614e0aab3509ab21 /sound/soc/intel/boards/haswell.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 'sound/soc/intel/boards/haswell.c')