Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
75a1fccf
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看板
提交
75a1fccf
编写于
8月 04, 2011
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/dp: store unencoded link_bw everywhere
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
27a45987
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
24 addition
and
20 deletion
+24
-20
drivers/gpu/drm/nouveau/nouveau_bios.c
drivers/gpu/drm/nouveau/nouveau_bios.c
+8
-1
drivers/gpu/drm/nouveau/nouveau_connector.c
drivers/gpu/drm/nouveau/nouveau_connector.c
+2
-5
drivers/gpu/drm/nouveau/nouveau_dp.c
drivers/gpu/drm/nouveau/nouveau_dp.c
+14
-14
未找到文件。
drivers/gpu/drm/nouveau/nouveau_bios.c
浏览文件 @
75a1fccf
...
@@ -6199,7 +6199,14 @@ parse_dcb20_entry(struct drm_device *dev, struct dcb_table *dcb,
...
@@ -6199,7 +6199,14 @@ parse_dcb20_entry(struct drm_device *dev, struct dcb_table *dcb,
}
}
case
OUTPUT_DP
:
case
OUTPUT_DP
:
entry
->
dpconf
.
sor
.
link
=
(
conf
&
0x00000030
)
>>
4
;
entry
->
dpconf
.
sor
.
link
=
(
conf
&
0x00000030
)
>>
4
;
entry
->
dpconf
.
link_bw
=
(
conf
&
0x00e00000
)
>>
21
;
switch
((
conf
&
0x00e00000
)
>>
21
)
{
case
0
:
entry
->
dpconf
.
link_bw
=
162000
;
break
;
default:
entry
->
dpconf
.
link_bw
=
270000
;
break
;
}
switch
((
conf
&
0x0f000000
)
>>
24
)
{
switch
((
conf
&
0x0f000000
)
>>
24
)
{
case
0xf
:
case
0xf
:
entry
->
dpconf
.
link_nr
=
4
;
entry
->
dpconf
.
link_nr
=
4
;
...
...
drivers/gpu/drm/nouveau/nouveau_connector.c
浏览文件 @
75a1fccf
...
@@ -708,11 +708,8 @@ nouveau_connector_mode_valid(struct drm_connector *connector,
...
@@ -708,11 +708,8 @@ nouveau_connector_mode_valid(struct drm_connector *connector,
case
OUTPUT_TV
:
case
OUTPUT_TV
:
return
get_slave_funcs
(
encoder
)
->
mode_valid
(
encoder
,
mode
);
return
get_slave_funcs
(
encoder
)
->
mode_valid
(
encoder
,
mode
);
case
OUTPUT_DP
:
case
OUTPUT_DP
:
if
(
nv_encoder
->
dp
.
link_bw
==
DP_LINK_BW_2_7
)
max_clock
=
nv_encoder
->
dp
.
link_nr
;
max_clock
=
nv_encoder
->
dp
.
link_nr
*
270000
;
max_clock
*=
nv_encoder
->
dp
.
link_bw
;
else
max_clock
=
nv_encoder
->
dp
.
link_nr
*
162000
;
clock
=
clock
*
nouveau_connector_bpp
(
connector
)
/
8
;
clock
=
clock
*
nouveau_connector_bpp
(
connector
)
/
8
;
break
;
break
;
default:
default:
...
...
drivers/gpu/drm/nouveau/nouveau_dp.c
浏览文件 @
75a1fccf
...
@@ -516,7 +516,7 @@ nouveau_dp_link_train(struct drm_encoder *encoder, u32 datarate)
...
@@ -516,7 +516,7 @@ nouveau_dp_link_train(struct drm_encoder *encoder, u32 datarate)
nouveau_bios_run_init_table
(
dev
,
ROM16
(
bios
[
6
]),
dp
.
dcb
,
dp
.
crtc
);
nouveau_bios_run_init_table
(
dev
,
ROM16
(
bios
[
6
]),
dp
.
dcb
,
dp
.
crtc
);
/* start off at highest link rate supported by encoder and display */
/* start off at highest link rate supported by encoder and display */
if
(
nv_encoder
->
dp
.
link_bw
==
DP_LINK_BW_1_62
)
while
(
*
link_bw
>
nv_encoder
->
dp
.
link_bw
)
link_bw
++
;
link_bw
++
;
while
(
link_bw
[
0
])
{
while
(
link_bw
[
0
])
{
...
@@ -566,24 +566,24 @@ nouveau_dp_detect(struct drm_encoder *encoder)
...
@@ -566,24 +566,24 @@ nouveau_dp_detect(struct drm_encoder *encoder)
if
(
ret
)
if
(
ret
)
return
false
;
return
false
;
NV_DEBUG_KMS
(
dev
,
"encoder: link_bw %d, link_nr %d
\n
"
"display: link_bw %d, link_nr %d version 0x%02x
\n
"
,
nv_encoder
->
dcb
->
dpconf
.
link_bw
,
nv_encoder
->
dcb
->
dpconf
.
link_nr
,
dpcd
[
1
],
dpcd
[
2
]
&
0x0f
,
dpcd
[
0
]);
nv_encoder
->
dp
.
dpcd_version
=
dpcd
[
0
];
nv_encoder
->
dp
.
dpcd_version
=
dpcd
[
0
];
nv_encoder
->
dp
.
link_bw
=
27000
*
dpcd
[
1
];
nv_encoder
->
dp
.
link_nr
=
dpcd
[
2
]
&
DP_MAX_LANE_COUNT_MASK
;
nv_encoder
->
dp
.
enhanced_frame
=
dpcd
[
2
]
&
DP_ENHANCED_FRAME_CAP
;
nv_encoder
->
dp
.
link_bw
=
dpcd
[
1
];
NV_DEBUG_KMS
(
dev
,
"display: %dx%d dpcd 0x%02x
\n
"
,
if
(
nv_encoder
->
dp
.
link_bw
!=
DP_LINK_BW_1_62
&&
nv_encoder
->
dp
.
link_nr
,
nv_encoder
->
dp
.
link_bw
,
dpcd
[
0
]);
!
nv_encoder
->
dcb
->
dpconf
.
link_bw
)
NV_DEBUG_KMS
(
dev
,
"encoder: %dx%d
\n
"
,
nv_encoder
->
dp
.
link_bw
=
DP_LINK_BW_1_62
;
nv_encoder
->
dcb
->
dpconf
.
link_nr
,
nv_encoder
->
dcb
->
dpconf
.
link_bw
);
nv_encoder
->
dp
.
link_nr
=
dpcd
[
2
]
&
DP_MAX_LANE_COUNT_MASK
;
if
(
nv_encoder
->
dcb
->
dpconf
.
link_nr
<
nv_encoder
->
dp
.
link_nr
)
if
(
nv_encoder
->
dp
.
link_nr
>
nv_encoder
->
dcb
->
dpconf
.
link_nr
)
nv_encoder
->
dp
.
link_nr
=
nv_encoder
->
dcb
->
dpconf
.
link_nr
;
nv_encoder
->
dp
.
link_nr
=
nv_encoder
->
dcb
->
dpconf
.
link_nr
;
if
(
nv_encoder
->
dcb
->
dpconf
.
link_bw
<
nv_encoder
->
dp
.
link_bw
)
nv_encoder
->
dp
.
link_bw
=
nv_encoder
->
dcb
->
dpconf
.
link_bw
;
nv_encoder
->
dp
.
enhanced_frame
=
(
dpcd
[
2
]
&
DP_ENHANCED_FRAME_CAP
);
NV_DEBUG_KMS
(
dev
,
"maximum: %dx%d
\n
"
,
nv_encoder
->
dp
.
link_nr
,
nv_encoder
->
dp
.
link_bw
);
return
true
;
return
true
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录