/* * rt5670-dsp.h -- RT5670 ALSA SoC DSP driver * * Copyright 2014 Realtek Microelectronics * Author: Bard Liao * * 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 __RT5670_DSP_H__ #define __RT5670_DSP_H__ #define RT5670_DSP_CTRL1 0xe0 #define RT5670_DSP_CTRL2 0xe1 #define RT5670_DSP_CTRL3 0xe2 #define RT5670_DSP_CTRL4 0xe3 #define RT5670_DSP_CTRL5 0xe4 /* DSP Control 1 (0xe0) */ #define RT5670_DSP_CMD_MASK (0xff << 8) #define RT5670_DSP_CMD_PE (0x0d << 8) /* Patch Entry */ #define RT5670_DSP_CMD_MW (0x3b << 8) /* Memory Write */ #define RT5670_DSP_CMD_MR (0x37 << 8) /* Memory Read */ #define RT5670_DSP_CMD_RR (0x60 << 8) /* Register Read */ #define RT5670_DSP_CMD_RW (0x68 << 8) /* Register Write */ #define RT5670_DSP_REG_DATHI (0x26 << 8) /* High Data Addr */ #define RT5670_DSP_REG_DATLO (0x25 << 8) /* Low Data Addr */ #define RT5670_DSP_CLK_MASK (0x3 << 6) #define RT5670_DSP_CLK_SFT 6 #define RT5670_DSP_CLK_768K (0x0 << 6) #define RT5670_DSP_CLK_384K (0x1 << 6) #define RT5670_DSP_CLK_192K (0x2 << 6) #define RT5670_DSP_CLK_96K (0x3 << 6) #define RT5670_DSP_BUSY_MASK (0x1 << 5) #define RT5670_DSP_RW_MASK (0x1 << 4) #define RT5670_DSP_DL_MASK (0x3 << 2) #define RT5670_DSP_DL_0 (0x0 << 2) #define RT5670_DSP_DL_1 (0x1 << 2) #define RT5670_DSP_DL_2 (0x2 << 2) #define RT5670_DSP_DL_3 (0x3 << 2) #define RT5670_DSP_I2C_AL_16 (0x1 << 1) #define RT5670_DSP_CMD_EN (0x1) struct rt5670_dsp_param { u16 cmd_fmt; u16 addr; u16 data; u8 cmd; }; #endif /* __RT5670_DSP_H__ */ ' href='/cgit.cgi/linux/net-next.git/log/sound/pci/oxygen/se6x.c?h=nds-private-remove'>logtreecommitdiff
path: root/sound/pci/oxygen/se6x.c
value='40'>40
AgeCommit message (Expand)AuthorFilesLines
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2017-01-30 14:28:22 -0800
committerDavid S. Miller <davem@davemloft.net>2017-01-30 14:28:22 -0800
commit54791b276b4000b307339f269d3bf7db877d536f (patch)
tree1c2616bd373ce5ea28aac2a53e32f5b5834901ce /tools/perf/Documentation
parent5d0e7705774dd412a465896d08d59a81a345c1e4 (diff)
parent047487241ff59374fded8c477f21453681f5995c (diff)
Merge branch 'sparc64-non-resumable-user-error-recovery'
Liam R. Howlett says: ==================== sparc64: Recover from userspace non-resumable PIO & MEM errors A non-resumable error from userspace is able to cause a kernel panic or trap loop due to the setup and handling of the queued traps once in the kernel. This patch series addresses both of these issues. The queues are fixed by simply zeroing the memory before use. PIO errors from userspace will result in a SIGBUS being sent to the user process. The MEM errors form userspace will result in a SIGKILL and also cause the offending pages to be claimed so they are no longer used in future tasks. SIGKILL is used to ensure that the process does not try to coredump and result in an attempt to read the memory again from within kernel space. Although there is a HV call to scrub the memory (mem_scrub), there is no easy way to guarantee that the real memory address(es) are not used by other tasks. Clearing the error with mem_scrub would zero the memory and cause the other processes to proceed with bad data. The handling of other non-resumable errors remain unchanged and will cause a panic. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/perf/Documentation')