Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Linux-御风守护者
linux
提交
a232ee66
L
linux
项目概览
Linux-御风守护者
/
linux
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a232ee66
编写于
3月 18, 2009
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fix/hda' into for-linus
上级
6af845e4
c673ba1c
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
26 addition
and
13 deletion
+26
-13
sound/pci/hda/hda_intel.c
sound/pci/hda/hda_intel.c
+26
-13
未找到文件。
sound/pci/hda/hda_intel.c
浏览文件 @
a232ee66
...
@@ -2059,16 +2059,22 @@ static int __devinit check_position_fix(struct azx *chip, int fix)
...
@@ -2059,16 +2059,22 @@ static int __devinit check_position_fix(struct azx *chip, int fix)
{
{
const
struct
snd_pci_quirk
*
q
;
const
struct
snd_pci_quirk
*
q
;
/* Check VIA HD Audio Controller exist */
switch
(
fix
)
{
if
(
chip
->
pci
->
vendor
==
PCI_VENDOR_ID_VIA
&&
case
POS_FIX_LPIB
:
chip
->
pci
->
device
==
VIA_HDAC_DEVICE_ID
)
{
case
POS_FIX_POSBUF
:
return
fix
;
}
/* Check VIA/ATI HD Audio Controller exist */
switch
(
chip
->
driver_type
)
{
case
AZX_DRIVER_VIA
:
case
AZX_DRIVER_ATI
:
chip
->
via_dmapos_patch
=
1
;
chip
->
via_dmapos_patch
=
1
;
/* Use link position directly, avoid any transfer problem. */
/* Use link position directly, avoid any transfer problem. */
return
POS_FIX_LPIB
;
return
POS_FIX_LPIB
;
}
}
chip
->
via_dmapos_patch
=
0
;
chip
->
via_dmapos_patch
=
0
;
if
(
fix
==
POS_FIX_AUTO
)
{
q
=
snd_pci_quirk_lookup
(
chip
->
pci
,
position_fix_list
);
q
=
snd_pci_quirk_lookup
(
chip
->
pci
,
position_fix_list
);
if
(
q
)
{
if
(
q
)
{
printk
(
KERN_INFO
printk
(
KERN_INFO
...
@@ -2077,8 +2083,7 @@ static int __devinit check_position_fix(struct azx *chip, int fix)
...
@@ -2077,8 +2083,7 @@ static int __devinit check_position_fix(struct azx *chip, int fix)
q
->
value
,
q
->
subvendor
,
q
->
subdevice
);
q
->
value
,
q
->
subvendor
,
q
->
subdevice
);
return
q
->
value
;
return
q
->
value
;
}
}
}
return
POS_FIX_AUTO
;
return
fix
;
}
}
/*
/*
...
@@ -2210,9 +2215,17 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci,
...
@@ -2210,9 +2215,17 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci,
gcap
=
azx_readw
(
chip
,
GCAP
);
gcap
=
azx_readw
(
chip
,
GCAP
);
snd_printdd
(
"chipset global capabilities = 0x%x
\n
"
,
gcap
);
snd_printdd
(
"chipset global capabilities = 0x%x
\n
"
,
gcap
);
/* ATI chips seems buggy about 64bit DMA addresses */
if
(
chip
->
driver_type
==
AZX_DRIVER_ATI
)
gcap
&=
~
0x01
;
/* allow 64bit DMA address if supported by H/W */
/* allow 64bit DMA address if supported by H/W */
if
((
gcap
&
0x01
)
&&
!
pci_set_dma_mask
(
pci
,
DMA_64BIT_MASK
))
if
((
gcap
&
0x01
)
&&
!
pci_set_dma_mask
(
pci
,
DMA_64BIT_MASK
))
pci_set_consistent_dma_mask
(
pci
,
DMA_64BIT_MASK
);
pci_set_consistent_dma_mask
(
pci
,
DMA_64BIT_MASK
);
else
{
pci_set_dma_mask
(
pci
,
DMA_32BIT_MASK
);
pci_set_consistent_dma_mask
(
pci
,
DMA_32BIT_MASK
);
}
/* read number of streams from GCAP register instead of using
/* read number of streams from GCAP register instead of using
* hardcoded value
* hardcoded value
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录