Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
d78fa39a
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
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看板
提交
d78fa39a
编写于
5月 13, 2014
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/g94/i2c: add aux channel interrupt driver
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
3668a339
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
39 addition
and
0 deletion
+39
-0
drivers/gpu/drm/nouveau/core/subdev/i2c/nv94.c
drivers/gpu/drm/nouveau/core/subdev/i2c/nv94.c
+33
-0
drivers/gpu/drm/nouveau/core/subdev/i2c/nvd0.c
drivers/gpu/drm/nouveau/core/subdev/i2c/nvd0.c
+3
-0
drivers/gpu/drm/nouveau/core/subdev/i2c/priv.h
drivers/gpu/drm/nouveau/core/subdev/i2c/priv.h
+3
-0
未找到文件。
drivers/gpu/drm/nouveau/core/subdev/i2c/nv94.c
浏览文件 @
d78fa39a
...
...
@@ -24,6 +24,36 @@
#include "nv50.h"
void
nv94_aux_stat
(
struct
nouveau_i2c
*
i2c
,
u32
*
hi
,
u32
*
lo
,
u32
*
rq
,
u32
*
tx
)
{
u32
intr
=
nv_rd32
(
i2c
,
0x00e06c
);
u32
stat
=
nv_rd32
(
i2c
,
0x00e068
)
&
intr
,
i
;
for
(
i
=
0
,
*
hi
=
*
lo
=
*
rq
=
*
tx
=
0
;
i
<
8
;
i
++
)
{
if
((
stat
&
(
1
<<
(
i
*
4
))))
*
hi
|=
1
<<
i
;
if
((
stat
&
(
2
<<
(
i
*
4
))))
*
lo
|=
1
<<
i
;
if
((
stat
&
(
4
<<
(
i
*
4
))))
*
rq
|=
1
<<
i
;
if
((
stat
&
(
8
<<
(
i
*
4
))))
*
tx
|=
1
<<
i
;
}
nv_wr32
(
i2c
,
0x00e06c
,
intr
);
}
void
nv94_aux_mask
(
struct
nouveau_i2c
*
i2c
,
u32
type
,
u32
mask
,
u32
data
)
{
u32
temp
=
nv_rd32
(
i2c
,
0x00e068
),
i
;
for
(
i
=
0
;
i
<
8
;
i
++
)
{
if
(
mask
&
(
1
<<
i
))
{
if
(
!
(
data
&
(
1
<<
i
)))
{
temp
&=
~
(
type
<<
(
i
*
4
));
continue
;
}
temp
|=
type
<<
(
i
*
4
);
}
}
nv_wr32
(
i2c
,
0x00e068
,
temp
);
}
#define AUX_DBG(fmt, args...) nv_debug(aux, "AUXCH(%d): " fmt, ch, ##args)
#define AUX_ERR(fmt, args...) nv_error(aux, "AUXCH(%d): " fmt, ch, ##args)
...
...
@@ -273,4 +303,7 @@ nv94_i2c_oclass = &(struct nouveau_i2c_impl) {
.
fini
=
_nouveau_i2c_fini
,
},
.
sclass
=
nv94_i2c_sclass
,
.
aux
=
4
,
.
aux_stat
=
nv94_aux_stat
,
.
aux_mask
=
nv94_aux_mask
,
}.
base
;
drivers/gpu/drm/nouveau/core/subdev/i2c/nvd0.c
浏览文件 @
d78fa39a
...
...
@@ -106,4 +106,7 @@ nvd0_i2c_oclass = &(struct nouveau_i2c_impl) {
.
fini
=
_nouveau_i2c_fini
,
},
.
sclass
=
nvd0_i2c_sclass
,
.
aux
=
4
,
.
aux_stat
=
nv94_aux_stat
,
.
aux_mask
=
nv94_aux_mask
,
}.
base
;
drivers/gpu/drm/nouveau/core/subdev/i2c/priv.h
浏览文件 @
d78fa39a
...
...
@@ -73,4 +73,7 @@ struct nouveau_i2c_impl {
void
(
*
aux_mask
)(
struct
nouveau_i2c
*
,
u32
,
u32
,
u32
);
};
void
nv94_aux_stat
(
struct
nouveau_i2c
*
,
u32
*
,
u32
*
,
u32
*
,
u32
*
);
void
nv94_aux_mask
(
struct
nouveau_i2c
*
,
u32
,
u32
,
u32
);
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录