Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
3f8e11e4
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3f8e11e4
编写于
8月 15, 2011
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nv50/pm: mostly nailed down fan pwm frequency selection
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
11b7d895
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
17 addition
and
4 deletion
+17
-4
drivers/gpu/drm/nouveau/nouveau_drv.h
drivers/gpu/drm/nouveau/nouveau_drv.h
+1
-0
drivers/gpu/drm/nouveau/nouveau_perf.c
drivers/gpu/drm/nouveau/nouveau_perf.c
+2
-3
drivers/gpu/drm/nouveau/nouveau_temp.c
drivers/gpu/drm/nouveau/nouveau_temp.c
+3
-0
drivers/gpu/drm/nouveau/nv50_pm.c
drivers/gpu/drm/nouveau/nv50_pm.c
+11
-1
未找到文件。
drivers/gpu/drm/nouveau/nouveau_drv.h
浏览文件 @
3f8e11e4
...
...
@@ -524,6 +524,7 @@ struct nouveau_pm_memtimings {
struct
nouveau_pm_fan
{
u32
min_duty
;
u32
max_duty
;
u32
pwm_freq
;
};
struct
nouveau_pm_engine
{
...
...
drivers/gpu/drm/nouveau/nouveau_perf.c
浏览文件 @
3f8e11e4
...
...
@@ -206,13 +206,12 @@ nouveau_perf_init(struct drm_device *dev)
if
(
version
<
0x40
)
{
recordlen
=
perf
[
3
]
+
(
perf
[
4
]
*
perf
[
5
]);
entries
=
perf
[
2
];
pm
->
pwm_divisor
=
ROM16
(
perf
[
6
]);
}
else
{
recordlen
=
perf
[
2
]
+
(
perf
[
3
]
*
perf
[
4
]);
entries
=
perf
[
5
];
}
if
(
version
<
0x30
)
pm
->
pwm_divisor
=
ROM16
(
perf
[
6
]);
}
else
{
if
(
bios
->
data
[
bios
->
offset
+
6
]
<
0x25
)
{
legacy_perf_init
(
dev
);
...
...
drivers/gpu/drm/nouveau/nouveau_temp.c
浏览文件 @
3f8e11e4
...
...
@@ -164,6 +164,9 @@ nouveau_temp_vbios_parse(struct drm_device *dev, u8 *temp)
pm
->
fan
.
min_duty
=
value
&
0xff
;
pm
->
fan
.
max_duty
=
(
value
&
0xff00
)
>>
8
;
break
;
case
0x26
:
pm
->
fan
.
pwm_freq
=
value
;
break
;
}
temp
+=
recordlen
;
}
...
...
drivers/gpu/drm/nouveau/nv50_pm.c
浏览文件 @
3f8e11e4
...
...
@@ -201,6 +201,8 @@ nv50_pm_fanspeed_get(struct drm_device *dev)
int
nv50_pm_fanspeed_set
(
struct
drm_device
*
dev
,
int
percent
)
{
struct
drm_nouveau_private
*
dev_priv
=
dev
->
dev_private
;
struct
nouveau_pm_engine
*
pm
=
&
dev_priv
->
engine
.
pm
;
struct
pwm_info
pwm
;
u32
divs
,
duty
;
int
ret
;
...
...
@@ -209,12 +211,20 @@ nv50_pm_fanspeed_set(struct drm_device *dev, int percent)
if
(
ret
)
return
ret
;
divs
=
nv_rd32
(
dev
,
0x00e114
+
(
pwm
.
id
*
8
));
divs
=
pm
->
pwm_divisor
;
if
(
pm
->
fan
.
pwm_freq
)
{
/*XXX: PNVIO clock more than likely... */
divs
=
1350000
/
pm
->
fan
.
pwm_freq
;
if
(
dev_priv
->
chipset
<
0xa3
)
divs
/=
4
;
}
duty
=
((
divs
*
percent
)
+
99
)
/
100
;
if
(
pwm
.
invert
)
duty
=
divs
-
duty
;
nv_mask
(
dev
,
pwm
.
ctrl
,
0x00010001
<<
pwm
.
line
,
0x00000001
<<
pwm
.
line
);
nv_wr32
(
dev
,
0x00e114
+
(
pwm
.
id
*
8
),
divs
);
nv_wr32
(
dev
,
0x00e118
+
(
pwm
.
id
*
8
),
0x80000000
|
duty
);
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录