Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
e5b31ca6
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
5
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e5b31ca6
编写于
8月 20, 2015
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/ce: convert to new-style nvkm_engine
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
98b20c9a
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
86 addition
and
278 deletion
+86
-278
drivers/gpu/drm/nouveau/include/nvkm/engine/ce.h
drivers/gpu/drm/nouveau/include/nvkm/engine/ce.h
+2
-8
drivers/gpu/drm/nouveau/nvkm/engine/ce/gf100.c
drivers/gpu/drm/nouveau/nvkm/engine/ce/gf100.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/ce/gk104.c
drivers/gpu/drm/nouveau/nvkm/engine/ce/gk104.c
+24
-98
drivers/gpu/drm/nouveau/nvkm/engine/ce/gm204.c
drivers/gpu/drm/nouveau/nvkm/engine/ce/gm204.c
+18
-105
drivers/gpu/drm/nouveau/nvkm/engine/ce/gt215.c
drivers/gpu/drm/nouveau/nvkm/engine/ce/gt215.c
+3
-3
drivers/gpu/drm/nouveau/nvkm/engine/ce/priv.h
drivers/gpu/drm/nouveau/nvkm/engine/ce/priv.h
+7
-0
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
+31
-31
drivers/gpu/drm/nouveau/nvkm/engine/device/gk104.c
drivers/gpu/drm/nouveau/nvkm/engine/device/gk104.c
+0
-22
drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c
drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c
+0
-10
未找到文件。
drivers/gpu/drm/nouveau/include/nvkm/engine/ce.h
浏览文件 @
e5b31ca6
...
@@ -2,14 +2,8 @@
...
@@ -2,14 +2,8 @@
#define __NVKM_CE_H__
#define __NVKM_CE_H__
#include <engine/falcon.h>
#include <engine/falcon.h>
void
gt215_ce_intr
(
struct
nvkm_falcon
*
,
struct
nvkm_fifo_chan
*
);
int
gt215_ce_new
(
struct
nvkm_device
*
,
int
,
struct
nvkm_engine
**
);
int
gt215_ce_new
(
struct
nvkm_device
*
,
int
,
struct
nvkm_engine
**
);
int
gf100_ce_new
(
struct
nvkm_device
*
,
int
,
struct
nvkm_engine
**
);
int
gf100_ce_new
(
struct
nvkm_device
*
,
int
,
struct
nvkm_engine
**
);
extern
struct
nvkm_oclass
gk104_ce0_oclass
;
int
gk104_ce_new
(
struct
nvkm_device
*
,
int
,
struct
nvkm_engine
**
);
extern
struct
nvkm_oclass
gk104_ce1_oclass
;
int
gm204_ce_new
(
struct
nvkm_device
*
,
int
,
struct
nvkm_engine
**
);
extern
struct
nvkm_oclass
gk104_ce2_oclass
;
extern
struct
nvkm_oclass
gm204_ce0_oclass
;
extern
struct
nvkm_oclass
gm204_ce1_oclass
;
extern
struct
nvkm_oclass
gm204_ce2_oclass
;
#endif
#endif
drivers/gpu/drm/nouveau/nvkm/engine/ce/gf100.c
浏览文件 @
e5b31ca6
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
*
*
* Authors: Ben Skeggs
* Authors: Ben Skeggs
*/
*/
#include
<engine/ce.h>
#include
"priv.h"
#include "fuc/gf100.fuc3.h"
#include "fuc/gf100.fuc3.h"
#include <nvif/class.h>
#include <nvif/class.h>
...
...
drivers/gpu/drm/nouveau/nvkm/engine/ce/gk104.c
浏览文件 @
e5b31ca6
...
@@ -21,121 +21,47 @@
...
@@ -21,121 +21,47 @@
*
*
* Authors: Ben Skeggs
* Authors: Ben Skeggs
*/
*/
#include <engine/ce.h>
#include "priv.h"
#include <engine/fifo.h>
#include <nvif/class.h>
#include <nvif/class.h>
static
void
void
gk104_ce_intr
(
struct
nvkm_
subdev
*
subdev
)
gk104_ce_intr
(
struct
nvkm_
engine
*
ce
)
{
{
const
u32
base
=
(
ce
->
subdev
.
index
-
NVDEV_ENGINE_CE0
)
*
0x1000
;
struct
nvkm_subdev
*
subdev
=
&
ce
->
subdev
;
struct
nvkm_device
*
device
=
subdev
->
device
;
struct
nvkm_device
*
device
=
subdev
->
device
;
const
int
idx
=
nv_subidx
(
subdev
)
-
NVDEV_ENGINE_CE0
;
u32
stat
=
nvkm_rd32
(
device
,
0x104908
+
base
);
u32
stat
=
nvkm_rd32
(
device
,
0x104908
+
(
idx
*
0x1000
));
if
(
stat
)
{
if
(
stat
)
{
nvkm_warn
(
subdev
,
"intr %08x
\n
"
,
stat
);
nvkm_warn
(
subdev
,
"intr %08x
\n
"
,
stat
);
nvkm_wr32
(
device
,
0x104908
+
(
idx
*
0x1000
)
,
stat
);
nvkm_wr32
(
device
,
0x104908
+
base
,
stat
);
}
}
}
}
static
const
struct
nvkm_engine_func
static
const
struct
nvkm_engine_func
gk104_ce
=
{
gk104_ce
=
{
.
intr
=
gk104_ce_intr
,
.
sclass
=
{
.
sclass
=
{
{
-
1
,
-
1
,
KEPLER_DMA_COPY_A
},
{
-
1
,
-
1
,
KEPLER_DMA_COPY_A
},
{}
{}
}
}
};
};
static
int
int
gk104_ce0_ctor
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
gk104_ce_new
(
struct
nvkm_device
*
device
,
int
index
,
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nvkm_engine
**
pengine
)
struct
nvkm_object
**
pobject
)
{
struct
nvkm_engine
*
ce
;
int
ret
;
ret
=
nvkm_engine_create
(
parent
,
engine
,
oclass
,
true
,
"PCE0"
,
"ce0"
,
&
ce
);
*
pobject
=
nv_object
(
ce
);
if
(
ret
)
return
ret
;
ce
->
func
=
&
gk104_ce
;
nv_subdev
(
ce
)
->
unit
=
0x00000040
;
nv_subdev
(
ce
)
->
intr
=
gk104_ce_intr
;
return
0
;
}
static
int
gk104_ce1_ctor
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nvkm_object
**
pobject
)
{
struct
nvkm_engine
*
ce
;
int
ret
;
ret
=
nvkm_engine_create
(
parent
,
engine
,
oclass
,
true
,
"PCE1"
,
"ce1"
,
&
ce
);
*
pobject
=
nv_object
(
ce
);
if
(
ret
)
return
ret
;
ce
->
func
=
&
gk104_ce
;
nv_subdev
(
ce
)
->
unit
=
0x00000080
;
nv_subdev
(
ce
)
->
intr
=
gk104_ce_intr
;
return
0
;
}
static
int
gk104_ce2_ctor
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nvkm_object
**
pobject
)
{
{
struct
nvkm_engine
*
ce
;
if
(
index
==
NVDEV_ENGINE_CE0
)
{
int
ret
;
return
nvkm_engine_new_
(
&
gk104_ce
,
device
,
index
,
0x00000040
,
true
,
pengine
);
ret
=
nvkm_engine_create
(
parent
,
engine
,
oclass
,
true
,
}
else
"PCE2"
,
"ce2"
,
&
ce
);
if
(
index
==
NVDEV_ENGINE_CE1
)
{
*
pobject
=
nv_object
(
ce
);
return
nvkm_engine_new_
(
&
gk104_ce
,
device
,
index
,
if
(
ret
)
0x00000080
,
true
,
pengine
);
return
ret
;
}
else
if
(
index
==
NVDEV_ENGINE_CE2
)
{
ce
->
func
=
&
gk104_ce
;
return
nvkm_engine_new_
(
&
gk104_ce
,
device
,
index
,
nv_subdev
(
ce
)
->
unit
=
0x00200000
;
0x00200000
,
true
,
pengine
)
;
nv_subdev
(
ce
)
->
intr
=
gk104_ce_intr
;
}
return
0
;
return
-
ENODEV
;
}
}
struct
nvkm_oclass
gk104_ce0_oclass
=
{
.
handle
=
NV_ENGINE
(
CE0
,
0xe0
),
.
ofuncs
=
&
(
struct
nvkm_ofuncs
)
{
.
ctor
=
gk104_ce0_ctor
,
.
dtor
=
_nvkm_engine_dtor
,
.
init
=
_nvkm_engine_init
,
.
fini
=
_nvkm_engine_fini
,
},
};
struct
nvkm_oclass
gk104_ce1_oclass
=
{
.
handle
=
NV_ENGINE
(
CE1
,
0xe0
),
.
ofuncs
=
&
(
struct
nvkm_ofuncs
)
{
.
ctor
=
gk104_ce1_ctor
,
.
dtor
=
_nvkm_engine_dtor
,
.
init
=
_nvkm_engine_init
,
.
fini
=
_nvkm_engine_fini
,
},
};
struct
nvkm_oclass
gk104_ce2_oclass
=
{
.
handle
=
NV_ENGINE
(
CE2
,
0xe0
),
.
ofuncs
=
&
(
struct
nvkm_ofuncs
)
{
.
ctor
=
gk104_ce2_ctor
,
.
dtor
=
_nvkm_engine_dtor
,
.
init
=
_nvkm_engine_init
,
.
fini
=
_nvkm_engine_fini
,
},
};
drivers/gpu/drm/nouveau/nvkm/engine/ce/gm204.c
浏览文件 @
e5b31ca6
...
@@ -21,121 +21,34 @@
...
@@ -21,121 +21,34 @@
*
*
* Authors: Ben Skeggs
* Authors: Ben Skeggs
*/
*/
#include <engine/ce.h>
#include "priv.h"
#include <engine/fifo.h>
#include <nvif/class.h>
#include <nvif/class.h>
static
void
gm204_ce_intr
(
struct
nvkm_subdev
*
subdev
)
{
struct
nvkm_device
*
device
=
subdev
->
device
;
const
int
idx
=
nv_subidx
(
subdev
)
-
NVDEV_ENGINE_CE0
;
u32
stat
=
nvkm_rd32
(
device
,
0x104908
+
(
idx
*
0x1000
));
if
(
stat
)
{
nvkm_warn
(
subdev
,
"intr %08x
\n
"
,
stat
);
nvkm_wr32
(
device
,
0x104908
+
(
idx
*
0x1000
),
stat
);
}
}
static
const
struct
nvkm_engine_func
static
const
struct
nvkm_engine_func
gm204_ce
=
{
gm204_ce
=
{
.
intr
=
gk104_ce_intr
,
.
sclass
=
{
.
sclass
=
{
{
-
1
,
-
1
,
MAXWELL_DMA_COPY_A
},
{
-
1
,
-
1
,
MAXWELL_DMA_COPY_A
},
{}
{}
}
}
};
};
static
int
int
gm204_ce0_ctor
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
gm204_ce_new
(
struct
nvkm_device
*
device
,
int
index
,
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nvkm_engine
**
pengine
)
struct
nvkm_object
**
pobject
)
{
struct
nvkm_engine
*
ce
;
int
ret
;
ret
=
nvkm_engine_create
(
parent
,
engine
,
oclass
,
true
,
"PCE0"
,
"ce0"
,
&
ce
);
*
pobject
=
nv_object
(
ce
);
if
(
ret
)
return
ret
;
ce
->
func
=
&
gm204_ce
;
nv_subdev
(
ce
)
->
unit
=
0x00000040
;
nv_subdev
(
ce
)
->
intr
=
gm204_ce_intr
;
return
0
;
}
static
int
gm204_ce1_ctor
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nvkm_object
**
pobject
)
{
struct
nvkm_engine
*
ce
;
int
ret
;
ret
=
nvkm_engine_create
(
parent
,
engine
,
oclass
,
true
,
"PCE1"
,
"ce1"
,
&
ce
);
*
pobject
=
nv_object
(
ce
);
if
(
ret
)
return
ret
;
ce
->
func
=
&
gm204_ce
;
nv_subdev
(
ce
)
->
unit
=
0x00000080
;
nv_subdev
(
ce
)
->
intr
=
gm204_ce_intr
;
return
0
;
}
static
int
gm204_ce2_ctor
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nvkm_object
**
pobject
)
{
{
struct
nvkm_engine
*
ce
;
if
(
index
==
NVDEV_ENGINE_CE0
)
{
int
ret
;
return
nvkm_engine_new_
(
&
gm204_ce
,
device
,
index
,
0x00000040
,
true
,
pengine
);
ret
=
nvkm_engine_create
(
parent
,
engine
,
oclass
,
true
,
}
else
"PCE2"
,
"ce2"
,
&
ce
);
if
(
index
==
NVDEV_ENGINE_CE1
)
{
*
pobject
=
nv_object
(
ce
);
return
nvkm_engine_new_
(
&
gm204_ce
,
device
,
index
,
if
(
ret
)
0x00000080
,
true
,
pengine
);
return
ret
;
}
else
if
(
index
==
NVDEV_ENGINE_CE2
)
{
ce
->
func
=
&
gm204_ce
;
return
nvkm_engine_new_
(
&
gm204_ce
,
device
,
index
,
nv_subdev
(
ce
)
->
unit
=
0x00200000
;
0x00200000
,
true
,
pengine
)
;
nv_subdev
(
ce
)
->
intr
=
gm204_ce_intr
;
}
return
0
;
return
-
ENODEV
;
}
}
struct
nvkm_oclass
gm204_ce0_oclass
=
{
.
handle
=
NV_ENGINE
(
CE0
,
0x24
),
.
ofuncs
=
&
(
struct
nvkm_ofuncs
)
{
.
ctor
=
gm204_ce0_ctor
,
.
dtor
=
_nvkm_engine_dtor
,
.
init
=
_nvkm_engine_init
,
.
fini
=
_nvkm_engine_fini
,
},
};
struct
nvkm_oclass
gm204_ce1_oclass
=
{
.
handle
=
NV_ENGINE
(
CE1
,
0x24
),
.
ofuncs
=
&
(
struct
nvkm_ofuncs
)
{
.
ctor
=
gm204_ce1_ctor
,
.
dtor
=
_nvkm_engine_dtor
,
.
init
=
_nvkm_engine_init
,
.
fini
=
_nvkm_engine_fini
,
},
};
struct
nvkm_oclass
gm204_ce2_oclass
=
{
.
handle
=
NV_ENGINE
(
CE2
,
0x24
),
.
ofuncs
=
&
(
struct
nvkm_ofuncs
)
{
.
ctor
=
gm204_ce2_ctor
,
.
dtor
=
_nvkm_engine_dtor
,
.
init
=
_nvkm_engine_init
,
.
fini
=
_nvkm_engine_fini
,
},
};
drivers/gpu/drm/nouveau/nvkm/engine/ce/gt215.c
浏览文件 @
e5b31ca6
...
@@ -21,12 +21,12 @@
...
@@ -21,12 +21,12 @@
*
*
* Authors: Ben Skeggs
* Authors: Ben Skeggs
*/
*/
#include <engine/ce.h>
#include "priv.h"
#include <engine/fifo.h>
#include "fuc/gt215.fuc3.h"
#include "fuc/gt215.fuc3.h"
#include <core/client.h>
#include <core/client.h>
#include <core/enum.h>
#include <core/enum.h>
#include <engine/fifo.h>
#include <nvif/class.h>
#include <nvif/class.h>
...
@@ -43,7 +43,7 @@ gt215_ce_intr(struct nvkm_falcon *ce, struct nvkm_fifo_chan *chan)
...
@@ -43,7 +43,7 @@ gt215_ce_intr(struct nvkm_falcon *ce, struct nvkm_fifo_chan *chan)
{
{
struct
nvkm_subdev
*
subdev
=
&
ce
->
engine
.
subdev
;
struct
nvkm_subdev
*
subdev
=
&
ce
->
engine
.
subdev
;
struct
nvkm_device
*
device
=
subdev
->
device
;
struct
nvkm_device
*
device
=
subdev
->
device
;
const
u32
base
=
(
nv_subidx
(
subdev
)
-
NVDEV_ENGINE_CE0
)
*
0x1000
;
const
u32
base
=
(
subdev
->
index
-
NVDEV_ENGINE_CE0
)
*
0x1000
;
u32
ssta
=
nvkm_rd32
(
device
,
0x104040
+
base
)
&
0x0000ffff
;
u32
ssta
=
nvkm_rd32
(
device
,
0x104040
+
base
)
&
0x0000ffff
;
u32
addr
=
nvkm_rd32
(
device
,
0x104040
+
base
)
>>
16
;
u32
addr
=
nvkm_rd32
(
device
,
0x104040
+
base
)
>>
16
;
u32
mthd
=
(
addr
&
0x07ff
)
<<
2
;
u32
mthd
=
(
addr
&
0x07ff
)
<<
2
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/ce/priv.h
0 → 100644
浏览文件 @
e5b31ca6
#ifndef __NVKM_CE_PRIV_H__
#define __NVKM_CE_PRIV_H__
#include <engine/ce.h>
void
gt215_ce_intr
(
struct
nvkm_falcon
*
,
struct
nvkm_fifo_chan
*
);
void
gk104_ce_intr
(
struct
nvkm_engine
*
);
#endif
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
浏览文件 @
e5b31ca6
...
@@ -1616,9 +1616,9 @@ nve4_chipset = {
...
@@ -1616,9 +1616,9 @@ nve4_chipset = {
.
therm
=
gf119_therm_new
,
.
therm
=
gf119_therm_new
,
.
timer
=
nv41_timer_new
,
.
timer
=
nv41_timer_new
,
.
volt
=
nv40_volt_new
,
.
volt
=
nv40_volt_new
,
//
.ce[0] = gk104_ce_new,
.
ce
[
0
]
=
gk104_ce_new
,
//
.ce[1] = gk104_ce_new,
.
ce
[
1
]
=
gk104_ce_new
,
// .ce[2] = gk104_ce2
_new,
.
ce
[
2
]
=
gk104_ce
_new
,
// .disp = gk104_disp_new,
// .disp = gk104_disp_new,
// .dma = gf119_dma_new,
// .dma = gf119_dma_new,
// .fifo = gk104_fifo_new,
// .fifo = gk104_fifo_new,
...
@@ -1652,9 +1652,9 @@ nve6_chipset = {
...
@@ -1652,9 +1652,9 @@ nve6_chipset = {
.
therm
=
gf119_therm_new
,
.
therm
=
gf119_therm_new
,
.
timer
=
nv41_timer_new
,
.
timer
=
nv41_timer_new
,
.
volt
=
nv40_volt_new
,
.
volt
=
nv40_volt_new
,
//
.ce[0] = gk104_ce_new,
.
ce
[
0
]
=
gk104_ce_new
,
//
.ce[1] = gk104_ce_new,
.
ce
[
1
]
=
gk104_ce_new
,
// .ce[2] = gk104_ce2
_new,
.
ce
[
2
]
=
gk104_ce
_new
,
// .disp = gk104_disp_new,
// .disp = gk104_disp_new,
// .dma = gf119_dma_new,
// .dma = gf119_dma_new,
// .fifo = gk104_fifo_new,
// .fifo = gk104_fifo_new,
...
@@ -1688,9 +1688,9 @@ nve7_chipset = {
...
@@ -1688,9 +1688,9 @@ nve7_chipset = {
.
therm
=
gf119_therm_new
,
.
therm
=
gf119_therm_new
,
.
timer
=
nv41_timer_new
,
.
timer
=
nv41_timer_new
,
.
volt
=
nv40_volt_new
,
.
volt
=
nv40_volt_new
,
//
.ce[0] = gk104_ce_new,
.
ce
[
0
]
=
gk104_ce_new
,
//
.ce[1] = gk104_ce_new,
.
ce
[
1
]
=
gk104_ce_new
,
// .ce[2] = gk104_ce2
_new,
.
ce
[
2
]
=
gk104_ce
_new
,
// .disp = gk104_disp_new,
// .disp = gk104_disp_new,
// .dma = gf119_dma_new,
// .dma = gf119_dma_new,
// .fifo = gk104_fifo_new,
// .fifo = gk104_fifo_new,
...
@@ -1718,7 +1718,7 @@ nvea_chipset = {
...
@@ -1718,7 +1718,7 @@ nvea_chipset = {
.
pmu
=
gk20a_pmu_new
,
.
pmu
=
gk20a_pmu_new
,
.
timer
=
gk20a_timer_new
,
.
timer
=
gk20a_timer_new
,
.
volt
=
gk20a_volt_new
,
.
volt
=
gk20a_volt_new
,
// .ce[2] = gk104_ce2
_new,
.
ce
[
2
]
=
gk104_ce
_new
,
// .dma = gf119_dma_new,
// .dma = gf119_dma_new,
// .fifo = gk20a_fifo_new,
// .fifo = gk20a_fifo_new,
// .gr = gk20a_gr_new,
// .gr = gk20a_gr_new,
...
@@ -1748,9 +1748,9 @@ nvf0_chipset = {
...
@@ -1748,9 +1748,9 @@ nvf0_chipset = {
.
therm
=
gf119_therm_new
,
.
therm
=
gf119_therm_new
,
.
timer
=
nv41_timer_new
,
.
timer
=
nv41_timer_new
,
.
volt
=
nv40_volt_new
,
.
volt
=
nv40_volt_new
,
//
.ce[0] = gk104_ce_new,
.
ce
[
0
]
=
gk104_ce_new
,
//
.ce[1] = gk104_ce_new,
.
ce
[
1
]
=
gk104_ce_new
,
// .ce[2] = gk104_ce2
_new,
.
ce
[
2
]
=
gk104_ce
_new
,
// .disp = gk110_disp_new,
// .disp = gk110_disp_new,
// .dma = gf119_dma_new,
// .dma = gf119_dma_new,
// .fifo = gk104_fifo_new,
// .fifo = gk104_fifo_new,
...
@@ -1784,9 +1784,9 @@ nvf1_chipset = {
...
@@ -1784,9 +1784,9 @@ nvf1_chipset = {
.
therm
=
gf119_therm_new
,
.
therm
=
gf119_therm_new
,
.
timer
=
nv41_timer_new
,
.
timer
=
nv41_timer_new
,
.
volt
=
nv40_volt_new
,
.
volt
=
nv40_volt_new
,
//
.ce[0] = gk104_ce_new,
.
ce
[
0
]
=
gk104_ce_new
,
//
.ce[1] = gk104_ce_new,
.
ce
[
1
]
=
gk104_ce_new
,
// .ce[2] = gk104_ce2
_new,
.
ce
[
2
]
=
gk104_ce
_new
,
// .disp = gk110_disp_new,
// .disp = gk110_disp_new,
// .dma = gf119_dma_new,
// .dma = gf119_dma_new,
// .fifo = gk104_fifo_new,
// .fifo = gk104_fifo_new,
...
@@ -1820,9 +1820,9 @@ nv106_chipset = {
...
@@ -1820,9 +1820,9 @@ nv106_chipset = {
.
therm
=
gf119_therm_new
,
.
therm
=
gf119_therm_new
,
.
timer
=
nv41_timer_new
,
.
timer
=
nv41_timer_new
,
.
volt
=
nv40_volt_new
,
.
volt
=
nv40_volt_new
,
//
.ce[0] = gk104_ce_new,
.
ce
[
0
]
=
gk104_ce_new
,
//
.ce[1] = gk104_ce_new,
.
ce
[
1
]
=
gk104_ce_new
,
// .ce[2] = gk104_ce2
_new,
.
ce
[
2
]
=
gk104_ce
_new
,
// .disp = gk110_disp_new,
// .disp = gk110_disp_new,
// .dma = gf119_dma_new,
// .dma = gf119_dma_new,
// .fifo = gk208_fifo_new,
// .fifo = gk208_fifo_new,
...
@@ -1855,9 +1855,9 @@ nv108_chipset = {
...
@@ -1855,9 +1855,9 @@ nv108_chipset = {
.
therm
=
gf119_therm_new
,
.
therm
=
gf119_therm_new
,
.
timer
=
nv41_timer_new
,
.
timer
=
nv41_timer_new
,
.
volt
=
nv40_volt_new
,
.
volt
=
nv40_volt_new
,
//
.ce[0] = gk104_ce_new,
.
ce
[
0
]
=
gk104_ce_new
,
//
.ce[1] = gk104_ce_new,
.
ce
[
1
]
=
gk104_ce_new
,
// .ce[2] = gk104_ce2
_new,
.
ce
[
2
]
=
gk104_ce
_new
,
// .disp = gk110_disp_new,
// .disp = gk110_disp_new,
// .dma = gf119_dma_new,
// .dma = gf119_dma_new,
// .fifo = gk208_fifo_new,
// .fifo = gk208_fifo_new,
...
@@ -1889,8 +1889,8 @@ nv117_chipset = {
...
@@ -1889,8 +1889,8 @@ nv117_chipset = {
.
pmu
=
gm107_pmu_new
,
.
pmu
=
gm107_pmu_new
,
.
therm
=
gm107_therm_new
,
.
therm
=
gm107_therm_new
,
.
timer
=
gk20a_timer_new
,
.
timer
=
gk20a_timer_new
,
//
.ce[0] = gk104_ce_new,
.
ce
[
0
]
=
gk104_ce_new
,
// .ce[2] = gk104_ce2
_new,
.
ce
[
2
]
=
gk104_ce
_new
,
// .disp = gm107_disp_new,
// .disp = gm107_disp_new,
// .dma = gf119_dma_new,
// .dma = gf119_dma_new,
// .fifo = gk208_fifo_new,
// .fifo = gk208_fifo_new,
...
@@ -1917,9 +1917,9 @@ nv124_chipset = {
...
@@ -1917,9 +1917,9 @@ nv124_chipset = {
.
mxm
=
nv50_mxm_new
,
.
mxm
=
nv50_mxm_new
,
.
pmu
=
gm107_pmu_new
,
.
pmu
=
gm107_pmu_new
,
.
timer
=
gk20a_timer_new
,
.
timer
=
gk20a_timer_new
,
//
.ce[0] = gm204_ce_new,
.
ce
[
0
]
=
gm204_ce_new
,
//
.ce[1] = gm204_ce_new,
.
ce
[
1
]
=
gm204_ce_new
,
// .ce[2] = gm204_ce2
_new,
.
ce
[
2
]
=
gm204_ce
_new
,
// .disp = gm204_disp_new,
// .disp = gm204_disp_new,
// .dma = gf119_dma_new,
// .dma = gf119_dma_new,
// .fifo = gm204_fifo_new,
// .fifo = gm204_fifo_new,
...
@@ -1946,9 +1946,9 @@ nv126_chipset = {
...
@@ -1946,9 +1946,9 @@ nv126_chipset = {
.
mxm
=
nv50_mxm_new
,
.
mxm
=
nv50_mxm_new
,
.
pmu
=
gm107_pmu_new
,
.
pmu
=
gm107_pmu_new
,
.
timer
=
gk20a_timer_new
,
.
timer
=
gk20a_timer_new
,
//
.ce[0] = gm204_ce_new,
.
ce
[
0
]
=
gm204_ce_new
,
//
.ce[1] = gm204_ce_new,
.
ce
[
1
]
=
gm204_ce_new
,
// .ce[2] = gm204_ce2
_new,
.
ce
[
2
]
=
gm204_ce
_new
,
// .disp = gm204_disp_new,
// .disp = gm204_disp_new,
// .dma = gf119_dma_new,
// .dma = gf119_dma_new,
// .fifo = gm204_fifo_new,
// .fifo = gm204_fifo_new,
...
@@ -1970,7 +1970,7 @@ nv12b_chipset = {
...
@@ -1970,7 +1970,7 @@ nv12b_chipset = {
.
mmu
=
gf100_mmu_new
,
.
mmu
=
gf100_mmu_new
,
.
mmu
=
gf100_mmu_new
,
.
mmu
=
gf100_mmu_new
,
.
timer
=
gk20a_timer_new
,
.
timer
=
gk20a_timer_new
,
// .ce[2] = gm204_ce2
_new,
.
ce
[
2
]
=
gm204_ce
_new
,
// .dma = gf119_dma_new,
// .dma = gf119_dma_new,
// .fifo = gm20b_fifo_new,
// .fifo = gm20b_fifo_new,
// .gr = gm20b_gr_new,
// .gr = gm20b_gr_new,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/gk104.c
浏览文件 @
e5b31ca6
...
@@ -33,9 +33,6 @@ gk104_identify(struct nvkm_device *device)
...
@@ -33,9 +33,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk104_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk104_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk104_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk104_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE0
]
=
&
gk104_ce0_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE1
]
=
&
gk104_ce1_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE2
]
=
&
gk104_ce2_oclass
;
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gk104_pm_oclass
;
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gk104_pm_oclass
;
break
;
break
;
case
0xe7
:
case
0xe7
:
...
@@ -44,9 +41,6 @@ gk104_identify(struct nvkm_device *device)
...
@@ -44,9 +41,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk104_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk104_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk104_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk104_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE0
]
=
&
gk104_ce0_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE1
]
=
&
gk104_ce1_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE2
]
=
&
gk104_ce2_oclass
;
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gk104_pm_oclass
;
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gk104_pm_oclass
;
break
;
break
;
case
0xe6
:
case
0xe6
:
...
@@ -55,9 +49,6 @@ gk104_identify(struct nvkm_device *device)
...
@@ -55,9 +49,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk104_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk104_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk104_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk104_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE0
]
=
&
gk104_ce0_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE1
]
=
&
gk104_ce1_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE2
]
=
&
gk104_ce2_oclass
;
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gk104_pm_oclass
;
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gk104_pm_oclass
;
break
;
break
;
case
0xea
:
case
0xea
:
...
@@ -65,7 +56,6 @@ gk104_identify(struct nvkm_device *device)
...
@@ -65,7 +56,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_FIFO
]
=
gk20a_fifo_oclass
;
device
->
oclass
[
NVDEV_ENGINE_FIFO
]
=
gk20a_fifo_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk20a_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk20a_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE2
]
=
&
gk104_ce2_oclass
;
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gk104_pm_oclass
;
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gk104_pm_oclass
;
break
;
break
;
case
0xf0
:
case
0xf0
:
...
@@ -74,9 +64,6 @@ gk104_identify(struct nvkm_device *device)
...
@@ -74,9 +64,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk110_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk110_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk110_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk110_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE0
]
=
&
gk104_ce0_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE1
]
=
&
gk104_ce1_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE2
]
=
&
gk104_ce2_oclass
;
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
&
gk110_pm_oclass
;
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
&
gk110_pm_oclass
;
break
;
break
;
case
0xf1
:
case
0xf1
:
...
@@ -85,9 +72,6 @@ gk104_identify(struct nvkm_device *device)
...
@@ -85,9 +72,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk110b_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk110b_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk110_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk110_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE0
]
=
&
gk104_ce0_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE1
]
=
&
gk104_ce1_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE2
]
=
&
gk104_ce2_oclass
;
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
&
gk110_pm_oclass
;
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
&
gk110_pm_oclass
;
break
;
break
;
case
0x106
:
case
0x106
:
...
@@ -96,9 +80,6 @@ gk104_identify(struct nvkm_device *device)
...
@@ -96,9 +80,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk208_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk208_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk110_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk110_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE0
]
=
&
gk104_ce0_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE1
]
=
&
gk104_ce1_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE2
]
=
&
gk104_ce2_oclass
;
break
;
break
;
case
0x108
:
case
0x108
:
device
->
oclass
[
NVDEV_ENGINE_DMAOBJ
]
=
gf110_dmaeng_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DMAOBJ
]
=
gf110_dmaeng_oclass
;
...
@@ -106,9 +87,6 @@ gk104_identify(struct nvkm_device *device)
...
@@ -106,9 +87,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk208_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gk208_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk110_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gk110_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE0
]
=
&
gk104_ce0_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE1
]
=
&
gk104_ce1_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE2
]
=
&
gk104_ce2_oclass
;
break
;
break
;
default:
default:
return
-
EINVAL
;
return
-
EINVAL
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c
浏览文件 @
e5b31ca6
...
@@ -36,11 +36,8 @@ gm100_identify(struct nvkm_device *device)
...
@@ -36,11 +36,8 @@ gm100_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gm107_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gm107_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gm107_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gm107_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE0
]
=
&
gk104_ce0_oclass
;
#if 0
#if 0
device->oclass[NVDEV_ENGINE_CE1 ] = &gk104_ce1_oclass;
#endif
#endif
device
->
oclass
[
NVDEV_ENGINE_CE2
]
=
&
gk104_ce2_oclass
;
#if 0
#if 0
#endif
#endif
break
;
break
;
...
@@ -56,9 +53,6 @@ gm100_identify(struct nvkm_device *device)
...
@@ -56,9 +53,6 @@ gm100_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gm204_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gm204_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gm204_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gm204_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE0
]
=
&
gm204_ce0_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE1
]
=
&
gm204_ce1_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE2
]
=
&
gm204_ce2_oclass
;
#if 0
#if 0
#endif
#endif
break
;
break
;
...
@@ -74,9 +68,6 @@ gm100_identify(struct nvkm_device *device)
...
@@ -74,9 +68,6 @@ gm100_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gm206_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gm206_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gm204_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
gm204_disp_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE0
]
=
&
gm204_ce0_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE1
]
=
&
gm204_ce1_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE2
]
=
&
gm204_ce2_oclass
;
#if 0
#if 0
#endif
#endif
break
;
break
;
...
@@ -86,7 +77,6 @@ gm100_identify(struct nvkm_device *device)
...
@@ -86,7 +77,6 @@ gm100_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_FIFO
]
=
gm20b_fifo_oclass
;
device
->
oclass
[
NVDEV_ENGINE_FIFO
]
=
gm20b_fifo_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_SW
]
=
gf100_sw_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gm20b_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_GR
]
=
gm20b_gr_oclass
;
device
->
oclass
[
NVDEV_ENGINE_CE2
]
=
&
gm204_ce2_oclass
;
break
;
break
;
default:
default:
return
-
EINVAL
;
return
-
EINVAL
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录