Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gsplhtlxg
clone-Linux
提交
bcc7f5d2
C
clone-Linux
项目概览
gsplhtlxg
/
clone-Linux
通知
2
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
clone-Linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
bcc7f5d2
编写于
7月 26, 2012
作者:
A
Alex Deucher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/radeon: add ucode loading support for Oland
Signed-off-by:
N
Alex Deucher
<
alexander.deucher@amd.com
>
上级
d0ae7fcc
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
59 addition
and
0 deletion
+59
-0
drivers/gpu/drm/radeon/si.c
drivers/gpu/drm/radeon/si.c
+59
-0
未找到文件。
drivers/gpu/drm/radeon/si.c
浏览文件 @
bcc7f5d2
...
...
@@ -38,6 +38,7 @@
#define SI_CE_UCODE_SIZE 2144
#define SI_RLC_UCODE_SIZE 2048
#define SI_MC_UCODE_SIZE 7769
#define OLAND_MC_UCODE_SIZE 7863
MODULE_FIRMWARE
(
"radeon/TAHITI_pfp.bin"
);
MODULE_FIRMWARE
(
"radeon/TAHITI_me.bin"
);
...
...
@@ -54,6 +55,11 @@ MODULE_FIRMWARE("radeon/VERDE_me.bin");
MODULE_FIRMWARE
(
"radeon/VERDE_ce.bin"
);
MODULE_FIRMWARE
(
"radeon/VERDE_mc.bin"
);
MODULE_FIRMWARE
(
"radeon/VERDE_rlc.bin"
);
MODULE_FIRMWARE
(
"radeon/OLAND_pfp.bin"
);
MODULE_FIRMWARE
(
"radeon/OLAND_me.bin"
);
MODULE_FIRMWARE
(
"radeon/OLAND_ce.bin"
);
MODULE_FIRMWARE
(
"radeon/OLAND_mc.bin"
);
MODULE_FIRMWARE
(
"radeon/OLAND_rlc.bin"
);
extern
int
r600_ih_ring_alloc
(
struct
radeon_device
*
rdev
);
extern
void
r600_ih_ring_fini
(
struct
radeon_device
*
rdev
);
...
...
@@ -202,6 +208,45 @@ static const u32 verde_io_mc_regs[TAHITI_IO_MC_REGS_SIZE][2] = {
{
0x0000009f
,
0x00a37400
}
};
static
const
u32
oland_io_mc_regs
[
TAHITI_IO_MC_REGS_SIZE
][
2
]
=
{
{
0x0000006f
,
0x03044000
},
{
0x00000070
,
0x0480c018
},
{
0x00000071
,
0x00000040
},
{
0x00000072
,
0x01000000
},
{
0x00000074
,
0x000000ff
},
{
0x00000075
,
0x00143400
},
{
0x00000076
,
0x08ec0800
},
{
0x00000077
,
0x040000cc
},
{
0x00000079
,
0x00000000
},
{
0x0000007a
,
0x21000409
},
{
0x0000007c
,
0x00000000
},
{
0x0000007d
,
0xe8000000
},
{
0x0000007e
,
0x044408a8
},
{
0x0000007f
,
0x00000003
},
{
0x00000080
,
0x00000000
},
{
0x00000081
,
0x01000000
},
{
0x00000082
,
0x02000000
},
{
0x00000083
,
0x00000000
},
{
0x00000084
,
0xe3f3e4f4
},
{
0x00000085
,
0x00052024
},
{
0x00000087
,
0x00000000
},
{
0x00000088
,
0x66036603
},
{
0x00000089
,
0x01000000
},
{
0x0000008b
,
0x1c0a0000
},
{
0x0000008c
,
0xff010000
},
{
0x0000008e
,
0xffffefff
},
{
0x0000008f
,
0xfff3efff
},
{
0x00000090
,
0xfff3efbf
},
{
0x00000094
,
0x00101101
},
{
0x00000095
,
0x00000fff
},
{
0x00000096
,
0x00116fff
},
{
0x00000097
,
0x60010000
},
{
0x00000098
,
0x10010000
},
{
0x00000099
,
0x00006000
},
{
0x0000009a
,
0x00001000
},
{
0x0000009f
,
0x00a17730
}
};
/* ucode loading */
static
int
si_mc_load_microcode
(
struct
radeon_device
*
rdev
)
{
...
...
@@ -230,6 +275,11 @@ static int si_mc_load_microcode(struct radeon_device *rdev)
ucode_size
=
SI_MC_UCODE_SIZE
;
regs_size
=
TAHITI_IO_MC_REGS_SIZE
;
break
;
case
CHIP_OLAND
:
io_mc_regs
=
(
u32
*
)
&
oland_io_mc_regs
;
ucode_size
=
OLAND_MC_UCODE_SIZE
;
regs_size
=
TAHITI_IO_MC_REGS_SIZE
;
break
;
}
running
=
RREG32
(
MC_SEQ_SUP_CNTL
)
&
RUN_MASK
;
...
...
@@ -324,6 +374,15 @@ static int si_init_microcode(struct radeon_device *rdev)
rlc_req_size
=
SI_RLC_UCODE_SIZE
*
4
;
mc_req_size
=
SI_MC_UCODE_SIZE
*
4
;
break
;
case
CHIP_OLAND
:
chip_name
=
"OLAND"
;
rlc_chip_name
=
"OLAND"
;
pfp_req_size
=
SI_PFP_UCODE_SIZE
*
4
;
me_req_size
=
SI_PM4_UCODE_SIZE
*
4
;
ce_req_size
=
SI_CE_UCODE_SIZE
*
4
;
rlc_req_size
=
SI_RLC_UCODE_SIZE
*
4
;
mc_req_size
=
OLAND_MC_UCODE_SIZE
*
4
;
break
;
default:
BUG
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录