Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
7df1bb87
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
7df1bb87
编写于
6月 17, 2017
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/disp/nv50-: avoid creating ORs that aren't present on HW
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
5499473c
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
39 addition
and
10 deletion
+39
-10
drivers/gpu/drm/nouveau/nvkm/engine/disp/dacgf119.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/dacgf119.c
+3
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/dacnv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/dacnv50.c
+3
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h
drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h
+2
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/piornv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/piornv50.c
+3
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorg84.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorg84.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorg94.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorg94.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c
+10
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgt215.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgt215.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/sormcp77.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/sormcp77.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/sormcp89.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/sormcp89.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/sornv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/sornv50.c
+10
-1
未找到文件。
drivers/gpu/drm/nouveau/nvkm/engine/disp/dacgf119.c
浏览文件 @
7df1bb87
...
...
@@ -58,5 +58,8 @@ gf119_dac = {
int
gf119_dac_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
struct
nvkm_device
*
device
=
disp
->
engine
.
subdev
.
device
;
if
(
!
(
nvkm_rd32
(
device
,
0x612004
)
&
(
0x00000010
<<
id
)))
return
0
;
return
nvkm_ior_new_
(
&
gf119_dac
,
disp
,
DAC
,
id
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/dacnv50.c
浏览文件 @
7df1bb87
...
...
@@ -109,5 +109,8 @@ nv50_dac = {
int
nv50_dac_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
struct
nvkm_device
*
device
=
disp
->
engine
.
subdev
.
device
;
if
(
!
(
nvkm_rd32
(
device
,
0x610184
)
&
(
0x00100000
<<
id
)))
return
0
;
return
nvkm_ior_new_
(
&
nv50_dac
,
disp
,
DAC
,
id
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h
浏览文件 @
7df1bb87
...
...
@@ -104,6 +104,7 @@ nv50_sor_link(struct nvkm_ior *ior)
return
nv50_ior_base
(
ior
)
+
((
ior
->
asy
.
link
==
2
)
*
0x80
);
}
int
nv50_sor_new_
(
const
struct
nvkm_ior_func
*
,
struct
nvkm_disp
*
,
int
id
);
void
nv50_sor_state
(
struct
nvkm_ior
*
,
struct
nvkm_ior_state
*
);
void
nv50_sor_power
(
struct
nvkm_ior
*
,
bool
,
bool
,
bool
,
bool
,
bool
);
void
nv50_sor_clock
(
struct
nvkm_ior
*
);
...
...
@@ -119,6 +120,7 @@ void g94_sor_dp_watermark(struct nvkm_ior *, int, u8);
void
gt215_sor_dp_audio
(
struct
nvkm_ior
*
,
int
,
bool
);
int
gf119_sor_new_
(
const
struct
nvkm_ior_func
*
,
struct
nvkm_disp
*
,
int
id
);
void
gf119_sor_state
(
struct
nvkm_ior
*
,
struct
nvkm_ior_state
*
);
void
gf119_sor_clock
(
struct
nvkm_ior
*
);
int
gf119_sor_dp_links
(
struct
nvkm_ior
*
,
struct
nvkm_i2c_aux
*
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/piornv50.c
浏览文件 @
7df1bb87
...
...
@@ -127,5 +127,8 @@ nv50_pior = {
int
nv50_pior_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
struct
nvkm_device
*
device
=
disp
->
engine
.
subdev
.
device
;
if
(
!
(
nvkm_rd32
(
device
,
0x610184
)
&
(
0x10000000
<<
id
)))
return
0
;
return
nvkm_ior_new_
(
&
nv50_pior
,
disp
,
PIOR
,
id
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorg84.c
浏览文件 @
7df1bb87
...
...
@@ -34,5 +34,5 @@ g84_sor = {
int
g84_sor_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
return
nv
km_ior_new_
(
&
g84_sor
,
disp
,
SOR
,
id
);
return
nv
50_sor_new_
(
&
g84_sor
,
disp
,
id
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorg94.c
浏览文件 @
7df1bb87
...
...
@@ -279,5 +279,5 @@ g94_sor = {
int
g94_sor_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
return
nv
km_ior_new_
(
&
g94_sor
,
disp
,
SOR
,
id
);
return
nv
50_sor_new_
(
&
g94_sor
,
disp
,
id
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c
浏览文件 @
7df1bb87
...
...
@@ -152,6 +152,15 @@ gf119_sor_state(struct nvkm_ior *sor, struct nvkm_ior_state *state)
state
->
head
=
ctrl
&
0x0000000f
;
}
int
gf119_sor_new_
(
const
struct
nvkm_ior_func
*
func
,
struct
nvkm_disp
*
disp
,
int
id
)
{
struct
nvkm_device
*
device
=
disp
->
engine
.
subdev
.
device
;
if
(
!
(
nvkm_rd32
(
device
,
0x612004
)
&
(
0x00000100
<<
id
)))
return
0
;
return
nvkm_ior_new_
(
func
,
disp
,
SOR
,
id
);
}
static
const
struct
nvkm_ior_func
gf119_sor
=
{
.
state
=
gf119_sor_state
,
...
...
@@ -179,5 +188,5 @@ gf119_sor = {
int
gf119_sor_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
return
nvkm_ior_new_
(
&
gf119_sor
,
disp
,
SOR
,
id
);
return
gf119_sor_new_
(
&
gf119_sor
,
disp
,
id
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c
浏览文件 @
7df1bb87
...
...
@@ -49,5 +49,5 @@ gk104_sor = {
int
gk104_sor_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
return
nvkm_ior_new_
(
&
gk104_sor
,
disp
,
SOR
,
id
);
return
gf119_sor_new_
(
&
gk104_sor
,
disp
,
id
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c
浏览文件 @
7df1bb87
...
...
@@ -63,5 +63,5 @@ gm107_sor = {
int
gm107_sor_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
return
nvkm_ior_new_
(
&
gm107_sor
,
disp
,
SOR
,
id
);
return
gf119_sor_new_
(
&
gm107_sor
,
disp
,
id
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c
浏览文件 @
7df1bb87
...
...
@@ -120,5 +120,5 @@ gm200_sor = {
int
gm200_sor_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
return
nvkm_ior_new_
(
&
gm200_sor
,
disp
,
SOR
,
id
);
return
gf119_sor_new_
(
&
gm200_sor
,
disp
,
id
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgt215.c
浏览文件 @
7df1bb87
...
...
@@ -65,5 +65,5 @@ gt215_sor = {
int
gt215_sor_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
return
nv
km_ior_new_
(
&
gt215_sor
,
disp
,
SOR
,
id
);
return
nv
50_sor_new_
(
&
gt215_sor
,
disp
,
id
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/sormcp77.c
浏览文件 @
7df1bb87
...
...
@@ -44,5 +44,5 @@ mcp77_sor = {
int
mcp77_sor_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
return
nv
km_ior_new_
(
&
mcp77_sor
,
disp
,
SOR
,
id
);
return
nv
50_sor_new_
(
&
mcp77_sor
,
disp
,
id
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/sormcp89.c
浏览文件 @
7df1bb87
...
...
@@ -49,5 +49,5 @@ mcp89_sor = {
int
mcp89_sor_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
return
nv
km_ior_new_
(
&
mcp89_sor
,
disp
,
SOR
,
id
);
return
nv
50_sor_new_
(
&
mcp89_sor
,
disp
,
id
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/sornv50.c
浏览文件 @
7df1bb87
...
...
@@ -84,6 +84,15 @@ nv50_sor_state(struct nvkm_ior *sor, struct nvkm_ior_state *state)
state
->
head
=
ctrl
&
0x00000003
;
}
int
nv50_sor_new_
(
const
struct
nvkm_ior_func
*
func
,
struct
nvkm_disp
*
disp
,
int
id
)
{
struct
nvkm_device
*
device
=
disp
->
engine
.
subdev
.
device
;
if
(
!
(
nvkm_rd32
(
device
,
0x610184
)
&
(
0x01000000
<<
id
)))
return
0
;
return
nvkm_ior_new_
(
func
,
disp
,
SOR
,
id
);
}
static
const
struct
nvkm_ior_func
nv50_sor
=
{
.
state
=
nv50_sor_state
,
...
...
@@ -94,5 +103,5 @@ nv50_sor = {
int
nv50_sor_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
return
nv
km_ior_new_
(
&
nv50_sor
,
disp
,
SOR
,
id
);
return
nv
50_sor_new_
(
&
nv50_sor
,
disp
,
id
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录