Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
83c0de89
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
83c0de89
编写于
9月 08, 2010
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fix/hda' into topic/hda
上级
9737731d
080dc7bc
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
51 addition
and
0 deletion
+51
-0
sound/pci/hda/patch_cirrus.c
sound/pci/hda/patch_cirrus.c
+50
-0
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+1
-0
未找到文件。
sound/pci/hda/patch_cirrus.c
浏览文件 @
83c0de89
...
...
@@ -968,6 +968,53 @@ static struct hda_verb cs_coef_init_verbs[] = {
{}
/* terminator */
};
/* Errata: CS4207 rev C0/C1/C2 Silicon
*
* http://www.cirrus.com/en/pubs/errata/ER880C3.pdf
*
* 6. At high temperature (TA > +85°C), the digital supply current (IVD)
* may be excessive (up to an additional 200 μA), which is most easily
* observed while the part is being held in reset (RESET# active low).
*
* Root Cause: At initial powerup of the device, the logic that drives
* the clock and write enable to the S/PDIF SRC RAMs is not properly
* initialized.
* Certain random patterns will cause a steady leakage current in those
* RAM cells. The issue will resolve once the SRCs are used (turned on).
*
* Workaround: The following verb sequence briefly turns on the S/PDIF SRC
* blocks, which will alleviate the issue.
*/
static
struct
hda_verb
cs_errata_init_verbs
[]
=
{
{
0x01
,
AC_VERB_SET_POWER_STATE
,
0x00
},
/* AFG: D0 */
{
0x11
,
AC_VERB_SET_PROC_STATE
,
0x01
},
/* VPW: processing on */
{
0x11
,
AC_VERB_SET_COEF_INDEX
,
0x0008
},
{
0x11
,
AC_VERB_SET_PROC_COEF
,
0x9999
},
{
0x11
,
AC_VERB_SET_COEF_INDEX
,
0x0017
},
{
0x11
,
AC_VERB_SET_PROC_COEF
,
0xa412
},
{
0x11
,
AC_VERB_SET_COEF_INDEX
,
0x0001
},
{
0x11
,
AC_VERB_SET_PROC_COEF
,
0x0009
},
{
0x07
,
AC_VERB_SET_POWER_STATE
,
0x00
},
/* S/PDIF Rx: D0 */
{
0x08
,
AC_VERB_SET_POWER_STATE
,
0x00
},
/* S/PDIF Tx: D0 */
{
0x11
,
AC_VERB_SET_COEF_INDEX
,
0x0017
},
{
0x11
,
AC_VERB_SET_PROC_COEF
,
0x2412
},
{
0x11
,
AC_VERB_SET_COEF_INDEX
,
0x0008
},
{
0x11
,
AC_VERB_SET_PROC_COEF
,
0x0000
},
{
0x11
,
AC_VERB_SET_COEF_INDEX
,
0x0001
},
{
0x11
,
AC_VERB_SET_PROC_COEF
,
0x0008
},
{
0x11
,
AC_VERB_SET_PROC_STATE
,
0x00
},
{
0x07
,
AC_VERB_SET_POWER_STATE
,
0x03
},
/* S/PDIF Rx: D3 */
{
0x08
,
AC_VERB_SET_POWER_STATE
,
0x03
},
/* S/PDIF Tx: D3 */
/*{0x01, AC_VERB_SET_POWER_STATE, 0x03},*/
/* AFG: D3 This is already handled */
{}
/* terminator */
};
/* SPDIF setup */
static
void
init_digital
(
struct
hda_codec
*
codec
)
{
...
...
@@ -987,6 +1034,9 @@ static int cs_init(struct hda_codec *codec)
{
struct
cs_spec
*
spec
=
codec
->
spec
;
/* init_verb sequence for C0/C1/C2 errata*/
snd_hda_sequence_write
(
codec
,
cs_errata_init_verbs
);
snd_hda_sequence_write
(
codec
,
cs_coef_init_verbs
);
if
(
spec
->
gpio_mask
)
{
...
...
sound/pci/hda/patch_realtek.c
浏览文件 @
83c0de89
...
...
@@ -5336,6 +5336,7 @@ static void fillup_priv_adc_nids(struct hda_codec *codec, hda_nid_t *nids,
static struct snd_pci_quirk beep_white_list[] = {
SND_PCI_QUIRK(0x1043, 0x829f, "ASUS", 1),
SND_PCI_QUIRK(0x1043, 0x83ce, "EeePC", 1),
SND_PCI_QUIRK(0x8086, 0xd613, "Intel", 1),
{}
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录