Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
5ad6bf91
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看板
提交
5ad6bf91
编写于
8月 22, 2013
作者:
A
Alex Deucher
提交者:
Christian König
2月 18, 2014
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/radeon: fill in set_vce_clocks for CIK asics
Signed-off-by:
N
Alex Deucher
<
alexander.deucher@amd.com
>
上级
58bd2a88
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
44 addition
and
0 deletion
+44
-0
drivers/gpu/drm/radeon/cik.c
drivers/gpu/drm/radeon/cik.c
+35
-0
drivers/gpu/drm/radeon/cikd.h
drivers/gpu/drm/radeon/cikd.h
+6
-0
drivers/gpu/drm/radeon/radeon_asic.c
drivers/gpu/drm/radeon/radeon_asic.c
+2
-0
drivers/gpu/drm/radeon/radeon_asic.h
drivers/gpu/drm/radeon/radeon_asic.h
+1
-0
未找到文件。
drivers/gpu/drm/radeon/cik.c
浏览文件 @
5ad6bf91
...
...
@@ -8925,6 +8925,41 @@ int cik_set_uvd_clocks(struct radeon_device *rdev, u32 vclk, u32 dclk)
return
r
;
}
int
cik_set_vce_clocks
(
struct
radeon_device
*
rdev
,
u32
evclk
,
u32
ecclk
)
{
int
r
,
i
;
struct
atom_clock_dividers
dividers
;
u32
tmp
;
r
=
radeon_atom_get_clock_dividers
(
rdev
,
COMPUTE_GPUCLK_INPUT_FLAG_DEFAULT_GPUCLK
,
ecclk
,
false
,
&
dividers
);
if
(
r
)
return
r
;
for
(
i
=
0
;
i
<
100
;
i
++
)
{
if
(
RREG32_SMC
(
CG_ECLK_STATUS
)
&
ECLK_STATUS
)
break
;
mdelay
(
10
);
}
if
(
i
==
100
)
return
-
ETIMEDOUT
;
tmp
=
RREG32_SMC
(
CG_ECLK_CNTL
);
tmp
&=
~
(
ECLK_DIR_CNTL_EN
|
ECLK_DIVIDER_MASK
);
tmp
|=
dividers
.
post_divider
;
WREG32_SMC
(
CG_ECLK_CNTL
,
tmp
);
for
(
i
=
0
;
i
<
100
;
i
++
)
{
if
(
RREG32_SMC
(
CG_ECLK_STATUS
)
&
ECLK_STATUS
)
break
;
mdelay
(
10
);
}
if
(
i
==
100
)
return
-
ETIMEDOUT
;
return
0
;
}
static
void
cik_pcie_gen3_enable
(
struct
radeon_device
*
rdev
)
{
struct
pci_dev
*
root
=
rdev
->
pdev
->
bus
->
self
;
...
...
drivers/gpu/drm/radeon/cikd.h
浏览文件 @
5ad6bf91
...
...
@@ -203,6 +203,12 @@
#define CTF_TEMP_MASK 0x0003fe00
#define CTF_TEMP_SHIFT 9
#define CG_ECLK_CNTL 0xC05000AC
# define ECLK_DIVIDER_MASK 0x7f
# define ECLK_DIR_CNTL_EN (1 << 8)
#define CG_ECLK_STATUS 0xC05000B0
# define ECLK_STATUS (1 << 0)
#define CG_SPLL_FUNC_CNTL 0xC0500140
#define SPLL_RESET (1 << 0)
#define SPLL_PWRON (1 << 1)
...
...
drivers/gpu/drm/radeon/radeon_asic.c
浏览文件 @
5ad6bf91
...
...
@@ -2076,6 +2076,7 @@ static struct radeon_asic ci_asic = {
.
set_pcie_lanes
=
NULL
,
.
set_clock_gating
=
NULL
,
.
set_uvd_clocks
=
&
cik_set_uvd_clocks
,
.
set_vce_clocks
=
&
cik_set_vce_clocks
,
.
get_temperature
=
&
ci_get_temp
,
},
.
dpm
=
{
...
...
@@ -2180,6 +2181,7 @@ static struct radeon_asic kv_asic = {
.
set_pcie_lanes
=
NULL
,
.
set_clock_gating
=
NULL
,
.
set_uvd_clocks
=
&
cik_set_uvd_clocks
,
.
set_vce_clocks
=
&
cik_set_vce_clocks
,
.
get_temperature
=
&
kv_get_temp
,
},
.
dpm
=
{
...
...
drivers/gpu/drm/radeon/radeon_asic.h
浏览文件 @
5ad6bf91
...
...
@@ -717,6 +717,7 @@ u32 cik_get_xclk(struct radeon_device *rdev);
uint32_t
cik_pciep_rreg
(
struct
radeon_device
*
rdev
,
uint32_t
reg
);
void
cik_pciep_wreg
(
struct
radeon_device
*
rdev
,
uint32_t
reg
,
uint32_t
v
);
int
cik_set_uvd_clocks
(
struct
radeon_device
*
rdev
,
u32
vclk
,
u32
dclk
);
int
cik_set_vce_clocks
(
struct
radeon_device
*
rdev
,
u32
evclk
,
u32
ecclk
);
void
cik_sdma_fence_ring_emit
(
struct
radeon_device
*
rdev
,
struct
radeon_fence
*
fence
);
bool
cik_sdma_semaphore_ring_emit
(
struct
radeon_device
*
rdev
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录