Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
1c9c5bc5
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
1c9c5bc5
编写于
11月 01, 2019
作者:
M
Mika Westerberg
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'thunderbolt/fixes' into thunderbolt/next
上级
b406357c
747125db
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
11 addition
and
18 deletion
+11
-18
drivers/thunderbolt/nhi_ops.c
drivers/thunderbolt/nhi_ops.c
+0
-1
drivers/thunderbolt/switch.c
drivers/thunderbolt/switch.c
+11
-17
未找到文件。
drivers/thunderbolt/nhi_ops.c
浏览文件 @
1c9c5bc5
...
...
@@ -80,7 +80,6 @@ static void icl_nhi_lc_mailbox_cmd(struct tb_nhi *nhi, enum icl_lc_mailbox_cmd c
{
u32
data
;
pci_read_config_dword
(
nhi
->
pdev
,
VS_CAP_19
,
&
data
);
data
=
(
cmd
<<
VS_CAP_19_CMD_SHIFT
)
&
VS_CAP_19_CMD_MASK
;
pci_write_config_dword
(
nhi
->
pdev
,
VS_CAP_19
,
data
|
VS_CAP_19_VALID
);
}
...
...
drivers/thunderbolt/switch.c
浏览文件 @
1c9c5bc5
...
...
@@ -896,12 +896,13 @@ int tb_dp_port_set_hops(struct tb_port *port, unsigned int video,
*/
bool
tb_dp_port_is_enabled
(
struct
tb_port
*
port
)
{
u32
data
;
u32
data
[
2
]
;
if
(
tb_port_read
(
port
,
&
data
,
TB_CFG_PORT
,
port
->
cap_adap
,
1
))
if
(
tb_port_read
(
port
,
data
,
TB_CFG_PORT
,
port
->
cap_adap
,
ARRAY_SIZE
(
data
)))
return
false
;
return
!!
(
data
&
(
TB_DP_VIDEO_EN
|
TB_DP_AUX_EN
));
return
!!
(
data
[
0
]
&
(
TB_DP_VIDEO_EN
|
TB_DP_AUX_EN
));
}
/**
...
...
@@ -914,19 +915,21 @@ bool tb_dp_port_is_enabled(struct tb_port *port)
*/
int
tb_dp_port_enable
(
struct
tb_port
*
port
,
bool
enable
)
{
u32
data
;
u32
data
[
2
]
;
int
ret
;
ret
=
tb_port_read
(
port
,
&
data
,
TB_CFG_PORT
,
port
->
cap_adap
,
1
);
ret
=
tb_port_read
(
port
,
data
,
TB_CFG_PORT
,
port
->
cap_adap
,
ARRAY_SIZE
(
data
));
if
(
ret
)
return
ret
;
if
(
enable
)
data
|=
TB_DP_VIDEO_EN
|
TB_DP_AUX_EN
;
data
[
0
]
|=
TB_DP_VIDEO_EN
|
TB_DP_AUX_EN
;
else
data
&=
~
(
TB_DP_VIDEO_EN
|
TB_DP_AUX_EN
);
data
[
0
]
&=
~
(
TB_DP_VIDEO_EN
|
TB_DP_AUX_EN
);
return
tb_port_write
(
port
,
&
data
,
TB_CFG_PORT
,
port
->
cap_adap
,
1
);
return
tb_port_write
(
port
,
data
,
TB_CFG_PORT
,
port
->
cap_adap
,
ARRAY_SIZE
(
data
));
}
/* switch utility functions */
...
...
@@ -1031,13 +1034,6 @@ static int tb_switch_set_authorized(struct tb_switch *sw, unsigned int val)
if
(
sw
->
authorized
)
goto
unlock
;
/*
* Make sure there is no PCIe rescan ongoing when a new PCIe
* tunnel is created. Otherwise the PCIe rescan code might find
* the new tunnel too early.
*/
pci_lock_rescan_remove
();
switch
(
val
)
{
/* Approve switch */
case
1
:
...
...
@@ -1057,8 +1053,6 @@ static int tb_switch_set_authorized(struct tb_switch *sw, unsigned int val)
break
;
}
pci_unlock_rescan_remove
();
if
(
!
ret
)
{
sw
->
authorized
=
val
;
/* Notify status change to the userspace */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录