Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
53003941
Commit
53003941
authored
Aug 20, 2015
by
Ben Skeggs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drm/nouveau/core: remove last printks
Signed-off-by:
Ben Skeggs
<
bskeggs@redhat.com
>
parent
9ad97ede
Changes
50
Show whitespace changes
Inline
Side-by-side
Showing
50 changed files
with
294 additions
and
514 deletions
+294
-514
drivers/gpu/drm/nouveau/include/nvkm/core/client.h
drivers/gpu/drm/nouveau/include/nvkm/core/client.h
+1
-2
drivers/gpu/drm/nouveau/include/nvkm/core/debug.h
drivers/gpu/drm/nouveau/include/nvkm/core/debug.h
+1
-8
drivers/gpu/drm/nouveau/include/nvkm/core/engctx.h
drivers/gpu/drm/nouveau/include/nvkm/core/engctx.h
+1
-2
drivers/gpu/drm/nouveau/include/nvkm/core/engine.h
drivers/gpu/drm/nouveau/include/nvkm/core/engine.h
+1
-2
drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h
drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h
+1
-2
drivers/gpu/drm/nouveau/include/nvkm/core/namedb.h
drivers/gpu/drm/nouveau/include/nvkm/core/namedb.h
+1
-2
drivers/gpu/drm/nouveau/include/nvkm/core/object.h
drivers/gpu/drm/nouveau/include/nvkm/core/object.h
+2
-10
drivers/gpu/drm/nouveau/include/nvkm/core/parent.h
drivers/gpu/drm/nouveau/include/nvkm/core/parent.h
+1
-2
drivers/gpu/drm/nouveau/include/nvkm/core/printk.h
drivers/gpu/drm/nouveau/include/nvkm/core/printk.h
+0
-29
drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h
drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h
+1
-2
drivers/gpu/drm/nouveau/include/nvkm/subdev/instmem.h
drivers/gpu/drm/nouveau/include/nvkm/subdev/instmem.h
+1
-2
drivers/gpu/drm/nouveau/nouveau_drm.c
drivers/gpu/drm/nouveau/nouveau_drm.c
+0
-3
drivers/gpu/drm/nouveau/nvkm/core/Kbuild
drivers/gpu/drm/nouveau/nvkm/core/Kbuild
+0
-1
drivers/gpu/drm/nouveau/nvkm/core/client.c
drivers/gpu/drm/nouveau/nvkm/core/client.c
+15
-13
drivers/gpu/drm/nouveau/nvkm/core/engctx.c
drivers/gpu/drm/nouveau/nvkm/core/engctx.c
+6
-6
drivers/gpu/drm/nouveau/nvkm/core/engine.c
drivers/gpu/drm/nouveau/nvkm/core/engine.c
+6
-3
drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c
drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c
+1
-3
drivers/gpu/drm/nouveau/nvkm/core/handle.c
drivers/gpu/drm/nouveau/nvkm/core/handle.c
+1
-2
drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
+52
-50
drivers/gpu/drm/nouveau/nvkm/core/object.c
drivers/gpu/drm/nouveau/nvkm/core/object.c
+10
-82
drivers/gpu/drm/nouveau/nvkm/core/option.c
drivers/gpu/drm/nouveau/nvkm/core/option.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/core/printk.c
drivers/gpu/drm/nouveau/nvkm/core/printk.c
+0
-103
drivers/gpu/drm/nouveau/nvkm/core/subdev.c
drivers/gpu/drm/nouveau/nvkm/core/subdev.c
+5
-4
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
+8
-9
drivers/gpu/drm/nouveau/nvkm/engine/device/ctrl.c
drivers/gpu/drm/nouveau/nvkm/engine/device/ctrl.c
+11
-11
drivers/gpu/drm/nouveau/nvkm/engine/disp/dacnv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/dacnv50.c
+8
-8
drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c
+3
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf110.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf110.c
+3
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c
+3
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmig84.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmig84.c
+5
-5
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigf110.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigf110.c
+5
-5
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigk104.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigk104.c
+5
-5
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigt215.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigt215.c
+5
-5
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv04.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv04.c
+6
-5
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
+35
-34
drivers/gpu/drm/nouveau/nvkm/engine/disp/piornv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/piornv50.c
+3
-3
drivers/gpu/drm/nouveau/nvkm/engine/disp/sornv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/sornv50.c
+3
-3
drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/base.c
drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/base.c
+5
-5
drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/gf100.c
drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/gf100.c
+4
-3
drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/gf110.c
drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/gf110.c
+4
-3
drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/nv50.c
drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/nv50.c
+5
-5
drivers/gpu/drm/nouveau/nvkm/engine/fifo/g84.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/g84.c
+9
-9
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gf100.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gf100.c
+5
-5
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c
+5
-5
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
+4
-4
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.c
+4
-4
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv17.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv17.c
+4
-4
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv40.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv40.c
+4
-4
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv50.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv50.c
+9
-9
drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c
drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c
+21
-21
No files found.
drivers/gpu/drm/nouveau/include/nvkm/core/client.h
View file @
53003941
...
...
@@ -20,8 +20,7 @@ static inline struct nvkm_client *
nv_client
(
void
*
obj
)
{
#if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
if
(
unlikely
(
!
nv_iclass
(
obj
,
NV_CLIENT_CLASS
)))
nv_assert
(
"BAD CAST -> NvClient, %08x"
,
nv_hclass
(
obj
));
BUG_ON
(
!
nv_iclass
(
obj
,
NV_CLIENT_CLASS
));
#endif
return
obj
;
}
...
...
drivers/gpu/drm/nouveau/include/nvkm/core/debug.h
View file @
53003941
#ifndef __NVKM_DEBUG_H__
#define __NVKM_DEBUG_H__
extern
int
nv_info_debug_level
;
#define NV_DBG_FATAL 0
#define NV_DBG_ERROR 1
#define NV_DBG_WARN 2
#define NV_DBG_INFO
nv_info_debug_level
#define NV_DBG_INFO
3
#define NV_DBG_DEBUG 4
#define NV_DBG_TRACE 5
#define NV_DBG_PARANOIA 6
#define NV_DBG_SPAM 7
#define NV_DBG_INFO_NORMAL 3
#define NV_DBG_INFO_SILENT NV_DBG_DEBUG
#define nv_debug_level(a) nv_info_debug_level = NV_DBG_INFO_##a
#endif
drivers/gpu/drm/nouveau/include/nvkm/core/engctx.h
View file @
53003941
...
...
@@ -19,8 +19,7 @@ static inline struct nvkm_engctx *
nv_engctx
(
void
*
obj
)
{
#if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
if
(
unlikely
(
!
nv_iclass
(
obj
,
NV_ENGCTX_CLASS
)))
nv_assert
(
"BAD CAST -> NvEngCtx, %08x"
,
nv_hclass
(
obj
));
BUG_ON
(
!
nv_iclass
(
obj
,
NV_ENGCTX_CLASS
));
#endif
return
obj
;
}
...
...
drivers/gpu/drm/nouveau/include/nvkm/core/engine.h
View file @
53003941
...
...
@@ -21,8 +21,7 @@ static inline struct nvkm_engine *
nv_engine
(
void
*
obj
)
{
#if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
if
(
unlikely
(
!
nv_iclass
(
obj
,
NV_ENGINE_CLASS
)))
nv_assert
(
"BAD CAST -> NvEngine, %08x"
,
nv_hclass
(
obj
));
BUG_ON
(
!
nv_iclass
(
obj
,
NV_ENGINE_CLASS
));
#endif
return
obj
;
}
...
...
drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h
View file @
53003941
...
...
@@ -24,8 +24,7 @@ static inline struct nvkm_gpuobj *
nv_gpuobj
(
void
*
obj
)
{
#if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
if
(
unlikely
(
!
nv_iclass
(
obj
,
NV_GPUOBJ_CLASS
)))
nv_assert
(
"BAD CAST -> NvGpuObj, %08x"
,
nv_hclass
(
obj
));
BUG_ON
(
!
nv_iclass
(
obj
,
NV_GPUOBJ_CLASS
));
#endif
return
obj
;
}
...
...
drivers/gpu/drm/nouveau/include/nvkm/core/namedb.h
View file @
53003941
...
...
@@ -13,8 +13,7 @@ static inline struct nvkm_namedb *
nv_namedb
(
void
*
obj
)
{
#if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
if
(
unlikely
(
!
nv_iclass
(
obj
,
NV_NAMEDB_CLASS
)))
nv_assert
(
"BAD CAST -> NvNameDB, %08x"
,
nv_hclass
(
obj
));
BUG_ON
(
!
nv_iclass
(
obj
,
NV_NAMEDB_CLASS
));
#endif
return
obj
;
}
...
...
drivers/gpu/drm/nouveau/include/nvkm/core/object.h
View file @
53003941
#ifndef __NVKM_OBJECT_H__
#define __NVKM_OBJECT_H__
#include <core/os.h>
#include <core/
printk
.h>
#include <core/
debug
.h>
#define NV_PARENT_CLASS 0x80000000
#define NV_NAMEDB_CLASS 0x40000000
...
...
@@ -32,8 +32,7 @@ nv_object(void *obj)
#if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
if
(
likely
(
obj
))
{
struct
nvkm_object
*
object
=
obj
;
if
(
unlikely
(
object
->
_magic
!=
NVKM_OBJECT_MAGIC
))
nv_assert
(
"BAD CAST -> NvObject, invalid magic"
);
BUG_ON
(
object
->
_magic
!=
NVKM_OBJECT_MAGIC
);
}
#endif
return
obj
;
...
...
@@ -112,7 +111,6 @@ int nvkm_object_ctor(struct nvkm_object *, struct nvkm_object *,
void
nvkm_object_ref
(
struct
nvkm_object
*
,
struct
nvkm_object
**
);
int
nvkm_object_inc
(
struct
nvkm_object
*
);
int
nvkm_object_dec
(
struct
nvkm_object
*
,
bool
suspend
);
void
nvkm_object_debug
(
void
);
static
inline
int
nv_exec
(
void
*
obj
,
u32
mthd
,
void
*
data
,
u32
size
)
...
...
@@ -138,7 +136,6 @@ static inline u8
nv_ro08
(
void
*
obj
,
u64
addr
)
{
u8
data
=
nv_ofuncs
(
obj
)
->
rd08
(
obj
,
addr
);
nv_spam
(
obj
,
"nv_ro08 0x%08llx 0x%02x
\n
"
,
addr
,
data
);
return
data
;
}
...
...
@@ -146,7 +143,6 @@ static inline u16
nv_ro16
(
void
*
obj
,
u64
addr
)
{
u16
data
=
nv_ofuncs
(
obj
)
->
rd16
(
obj
,
addr
);
nv_spam
(
obj
,
"nv_ro16 0x%08llx 0x%04x
\n
"
,
addr
,
data
);
return
data
;
}
...
...
@@ -154,28 +150,24 @@ static inline u32
nv_ro32
(
void
*
obj
,
u64
addr
)
{
u32
data
=
nv_ofuncs
(
obj
)
->
rd32
(
obj
,
addr
);
nv_spam
(
obj
,
"nv_ro32 0x%08llx 0x%08x
\n
"
,
addr
,
data
);
return
data
;
}
static
inline
void
nv_wo08
(
void
*
obj
,
u64
addr
,
u8
data
)
{
nv_spam
(
obj
,
"nv_wo08 0x%08llx 0x%02x
\n
"
,
addr
,
data
);
nv_ofuncs
(
obj
)
->
wr08
(
obj
,
addr
,
data
);
}
static
inline
void
nv_wo16
(
void
*
obj
,
u64
addr
,
u16
data
)
{
nv_spam
(
obj
,
"nv_wo16 0x%08llx 0x%04x
\n
"
,
addr
,
data
);
nv_ofuncs
(
obj
)
->
wr16
(
obj
,
addr
,
data
);
}
static
inline
void
nv_wo32
(
void
*
obj
,
u64
addr
,
u32
data
)
{
nv_spam
(
obj
,
"nv_wo32 0x%08llx 0x%08x
\n
"
,
addr
,
data
);
nv_ofuncs
(
obj
)
->
wr32
(
obj
,
addr
,
data
);
}
...
...
drivers/gpu/drm/nouveau/include/nvkm/core/parent.h
View file @
53003941
...
...
@@ -27,8 +27,7 @@ static inline struct nvkm_parent *
nv_parent
(
void
*
obj
)
{
#if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
if
(
unlikely
(
!
(
nv_iclass
(
obj
,
NV_PARENT_CLASS
))))
nv_assert
(
"BAD CAST -> NvParent, %08x"
,
nv_hclass
(
obj
));
BUG_ON
(
!
(
nv_iclass
(
obj
,
NV_PARENT_CLASS
)));
#endif
return
obj
;
}
...
...
drivers/gpu/drm/nouveau/include/nvkm/core/printk.h
deleted
100644 → 0
View file @
9ad97ede
#ifndef __NVKM_PRINTK_H__
#define __NVKM_PRINTK_H__
#include <core/os.h>
#include <core/debug.h>
struct
nvkm_object
;
void
__printf
(
3
,
4
)
nv_printk_
(
struct
nvkm_object
*
,
int
,
const
char
*
,
...);
#define nv_printk(o,l,f,a...) do { \
if (NV_DBG_##l <= CONFIG_NOUVEAU_DEBUG) \
nv_printk_(nv_object(o), NV_DBG_##l, f, ##a); \
} while(0)
#define nv_fatal(o,f,a...) nv_printk((o), FATAL, f, ##a)
#define nv_error(o,f,a...) nv_printk((o), ERROR, f, ##a)
#define nv_warn(o,f,a...) nv_printk((o), WARN, f, ##a)
#define nv_info(o,f,a...) nv_printk((o), INFO, f, ##a)
#define nv_debug(o,f,a...) nv_printk((o), DEBUG, f, ##a)
#define nv_trace(o,f,a...) nv_printk((o), TRACE, f, ##a)
#define nv_spam(o,f,a...) nv_printk((o), SPAM, f, ##a)
#define nv_ioctl(o,f,a...) nv_trace(nvkm_client(o), "ioctl: "f, ##a)
#define nv_assert(f,a...) do { \
if (NV_DBG_FATAL <= CONFIG_NOUVEAU_DEBUG) \
nv_printk_(NULL, NV_DBG_FATAL, f "\n", ##a); \
BUG_ON(1); \
} while(0)
#endif
drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h
View file @
53003941
...
...
@@ -22,8 +22,7 @@ static inline struct nvkm_subdev *
nv_subdev
(
void
*
obj
)
{
#if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
if
(
unlikely
(
!
nv_iclass
(
obj
,
NV_SUBDEV_CLASS
)))
nv_assert
(
"BAD CAST -> NvSubDev, %08x"
,
nv_hclass
(
obj
));
BUG_ON
(
!
nv_iclass
(
obj
,
NV_SUBDEV_CLASS
));
#endif
return
obj
;
}
...
...
drivers/gpu/drm/nouveau/include/nvkm/subdev/instmem.h
View file @
53003941
...
...
@@ -14,8 +14,7 @@ static inline struct nvkm_instobj *
nv_memobj
(
void
*
obj
)
{
#if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
if
(
unlikely
(
!
nv_iclass
(
obj
,
NV_MEMOBJ_CLASS
)))
nv_assert
(
"BAD CAST -> NvMemObj, %08x"
,
nv_hclass
(
obj
));
BUG_ON
(
!
nv_iclass
(
obj
,
NV_MEMOBJ_CLASS
));
#endif
return
obj
;
}
...
...
drivers/gpu/drm/nouveau/nouveau_drm.c
View file @
53003941
...
...
@@ -538,7 +538,6 @@ nouveau_drm_device_remove(struct drm_device *dev)
drm_put_dev
(
dev
);
nvkm_object_ref
(
NULL
,
&
device
);
nvkm_object_debug
();
}
static
void
...
...
@@ -731,7 +730,6 @@ nouveau_pmops_runtime_suspend(struct device *dev)
return
-
EBUSY
;
}
nv_debug_level
(
SILENT
);
drm_kms_helper_poll_disable
(
drm_dev
);
vga_switcheroo_set_dynamic_switch
(
pdev
,
VGA_SWITCHEROO_OFF
);
nouveau_switcheroo_optimus_dsm
();
...
...
@@ -768,7 +766,6 @@ nouveau_pmops_runtime_resume(struct device *dev)
nvif_mask
(
device
,
0x88488
,
(
1
<<
25
),
(
1
<<
25
));
vga_switcheroo_set_dynamic_switch
(
pdev
,
VGA_SWITCHEROO_ON
);
drm_dev
->
switch_power_state
=
DRM_SWITCH_POWER_ON
;
nv_debug_level
(
NORMAL
);
return
ret
;
}
...
...
drivers/gpu/drm/nouveau/nvkm/core/Kbuild
View file @
53003941
...
...
@@ -12,6 +12,5 @@ nvkm-y += nvkm/core/notify.o
nvkm-y += nvkm/core/object.o
nvkm-y += nvkm/core/option.o
nvkm-y += nvkm/core/parent.o
nvkm-y += nvkm/core/printk.o
nvkm-y += nvkm/core/ramht.o
nvkm-y += nvkm/core/subdev.o
drivers/gpu/drm/nouveau/nvkm/core/client.c
View file @
53003941
...
...
@@ -111,9 +111,9 @@ nvkm_client_notify_new(struct nvkm_object *object,
if
(
!
notify
)
return
-
ENOMEM
;
nv
_ioctl
(
clien
t
,
"notify new size %d
\n
"
,
size
);
nv
if_ioctl
(
objec
t
,
"notify new size %d
\n
"
,
size
);
if
(
nvif_unpack
(
req
->
v0
,
0
,
0
,
true
))
{
nv
_ioctl
(
clien
t
,
"notify new vers %d reply %d route %02x "
nv
if_ioctl
(
objec
t
,
"notify new vers %d reply %d route %02x "
"token %llx
\n
"
,
req
->
v0
.
version
,
req
->
v0
.
reply
,
req
->
v0
.
route
,
req
->
v0
.
token
);
notify
->
version
=
req
->
v0
.
version
;
...
...
@@ -146,9 +146,9 @@ nvkm_client_mthd_devlist(struct nvkm_object *object, void *data, u32 size)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"client devlist size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"client devlist size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
true
))
{
nv_ioctl
(
object
,
"client devlist vers %d count %d
\n
"
,
nv
if
_ioctl
(
object
,
"client devlist vers %d count %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
count
);
if
(
size
==
sizeof
(
args
->
v0
.
device
[
0
])
*
args
->
v0
.
count
)
{
ret
=
nvkm_device_list
(
args
->
v0
.
device
,
args
->
v0
.
count
);
...
...
@@ -233,25 +233,27 @@ nvkm_client_create_(const char *name, u64 devname, const char *cfg,
int
nvkm_client_init
(
struct
nvkm_client
*
client
)
{
struct
nvkm_object
*
object
=
&
client
->
namedb
.
parent
.
object
;
int
ret
;
nv
_debug
(
clien
t
,
"init running
\n
"
);
nv
if_trace
(
objec
t
,
"init running
\n
"
);
ret
=
nvkm_handle_init
(
client
->
root
);
nv
_debug
(
clien
t
,
"init completed with %d
\n
"
,
ret
);
nv
if_trace
(
objec
t
,
"init completed with %d
\n
"
,
ret
);
return
ret
;
}
int
nvkm_client_fini
(
struct
nvkm_client
*
client
,
bool
suspend
)
{
struct
nvkm_object
*
object
=
&
client
->
namedb
.
parent
.
object
;
const
char
*
name
[
2
]
=
{
"fini"
,
"suspend"
};
int
ret
,
i
;
nv
_debug
(
clien
t
,
"%s running
\n
"
,
name
[
suspend
]);
nv
_debug
(
clien
t
,
"%s notify
\n
"
,
name
[
suspend
]);
nv
if_trace
(
objec
t
,
"%s running
\n
"
,
name
[
suspend
]);
nv
if_trace
(
objec
t
,
"%s notify
\n
"
,
name
[
suspend
]);
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
client
->
notify
);
i
++
)
nvkm_client_notify_put
(
client
,
i
);
nv
_debug
(
clien
t
,
"%s object
\n
"
,
name
[
suspend
]);
nv
if_trace
(
objec
t
,
"%s object
\n
"
,
name
[
suspend
]);
ret
=
nvkm_handle_fini
(
client
->
root
,
suspend
);
nv
_debug
(
clien
t
,
"%s completed with %d
\n
"
,
name
[
suspend
],
ret
);
nv
if_trace
(
objec
t
,
"%s completed with %d
\n
"
,
name
[
suspend
],
ret
);
return
ret
;
}
...
...
drivers/gpu/drm/nouveau/nvkm/core/engctx.c
View file @
53003941
...
...
@@ -143,12 +143,12 @@ nvkm_engctx_init(struct nvkm_engctx *engctx)
}
if
(
ret
)
{
nv
_error
(
parent
,
"failed to attach %s context, %d
\n
"
,
nv
km_error
(
pardev
,
"failed to attach %s context, %d
\n
"
,
subdev
->
name
,
ret
);
return
ret
;
}
nv
_debug
(
parent
,
"attached %s context
\n
"
,
subdev
->
name
);
nv
km_trace
(
pardev
,
"attached %s context
\n
"
,
subdev
->
name
);
return
0
;
}
...
...
@@ -170,12 +170,12 @@ nvkm_engctx_fini(struct nvkm_engctx *engctx, bool suspend)
}
if
(
ret
)
{
nv
_error
(
parent
,
"failed to detach %s context, %d
\n
"
,
nv
km_error
(
pardev
,
"failed to detach %s context, %d
\n
"
,
subdev
->
name
,
ret
);
return
ret
;
}
nv
_debug
(
parent
,
"detached %s context
\n
"
,
subdev
->
name
);
nv
km_trace
(
pardev
,
"detached %s context
\n
"
,
subdev
->
name
);
return
nvkm_gpuobj_fini
(
&
engctx
->
gpuobj
,
suspend
);
}
...
...
drivers/gpu/drm/nouveau/nvkm/core/engine.c
View file @
53003941
...
...
@@ -55,16 +55,19 @@ nvkm_engine_create_(struct nvkm_object *parent, struct nvkm_object *engobj,
if
(
device
->
disable_mask
&
(
1ULL
<<
engidx
))
{
if
(
!
nvkm_boolopt
(
device
->
cfgopt
,
iname
,
false
))
{
nv_debug
(
engine
,
"engine disabled by hw/fw
\n
"
);
nvkm_debug
(
&
engine
->
subdev
,
"engine disabled by hw/fw
\n
"
);
return
-
ENODEV
;
}
nv_warn
(
engine
,
"ignoring hw/fw engine disable
\n
"
);
nvkm_warn
(
&
engine
->
subdev
,
"ignoring hw/fw engine disable
\n
"
);
}
if
(
!
nvkm_boolopt
(
device
->
cfgopt
,
iname
,
enable
))
{
if
(
!
enable
)
nv_warn
(
engine
,
"disabled, %s=1 to enable
\n
"
,
iname
);
nvkm_warn
(
&
engine
->
subdev
,
"disabled, %s=1 to enable
\n
"
,
iname
);
return
-
ENODEV
;
}
}
...
...
drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c
View file @
53003941
...
...
@@ -69,10 +69,8 @@ nvkm_gpuobj_create_(struct nvkm_object *parent, struct nvkm_object *engine,
pargpu
=
pargpu
->
parent
;
}
if
(
unlikely
(
pargpu
==
NULL
))
{
nv_error
(
parent
,
"no gpuobj heap
\n
"
);
if
(
WARN_ON
(
pargpu
==
NULL
))
return
-
EINVAL
;
}
addr
=
nv_gpuobj
(
pargpu
)
->
addr
;
heap
=
&
nv_gpuobj
(
pargpu
)
->
heap
;
...
...
drivers/gpu/drm/nouveau/nvkm/core/handle.c
View file @
53003941
...
...
@@ -25,9 +25,8 @@
#include <core/client.h>
#define hprintk(h,l,f,a...) do { \
struct nvkm_client *c = nvkm_client((h)->object); \
struct nvkm_handle *p = (h)->parent; u32 n = p ? p->name : ~0; \
nv
_printk((c), l, "0x%08x:0x%08x "f, n, (h)->name, ##a);
\
nv
if_printk((h)->object, l, INFO, "0x%08x:0x%08x "f, n, (h)->name, ##a);
\
} while(0)
int
...
...
drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
View file @
53003941
...
...
@@ -39,9 +39,9 @@ nvkm_ioctl_nop(struct nvkm_handle *handle, void *data, u32 size)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"nop size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"nop size %d
\n
"
,
size
);
if
(
nvif_unvers
(
args
->
none
))
{
nv_ioctl
(
object
,
"nop
\n
"
);
nv
if
_ioctl
(
object
,
"nop
\n
"
);
}
return
ret
;
...
...
@@ -57,13 +57,13 @@ nvkm_ioctl_sclass(struct nvkm_handle *handle, void *data, u32 size)
int
ret
;
if
(
!
nv_iclass
(
object
,
NV_PARENT_CLASS
))
{
nv_debug
(
object
,
"cannot have children (sclass)
\n
"
);
nv
if
_debug
(
object
,
"cannot have children (sclass)
\n
"
);
return
-
ENODEV
;
}
nv_ioctl
(
object
,
"sclass size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"sclass size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
true
))
{
nv_ioctl
(
object
,
"sclass vers %d count %d
\n
"
,
nv
if
_ioctl
(
object
,
"sclass vers %d count %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
count
);
if
(
size
==
args
->
v0
.
count
*
sizeof
(
args
->
v0
.
oclass
[
0
]))
{
ret
=
nvkm_parent_lclass
(
object
,
args
->
v0
.
oclass
,
...
...
@@ -95,20 +95,20 @@ nvkm_ioctl_new(struct nvkm_handle *handle, void *data, u32 size)
u32
_handle
,
_oclass
;
int
ret
;
nv
_ioctl
(
clien
t
,
"new size %d
\n
"
,
size
);
nv
if_ioctl
(
handle
->
objec
t
,
"new size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
true
))
{
_handle
=
args
->
v0
.
handle
;
_oclass
=
args
->
v0
.
oclass
;
}
else
return
ret
;
nv
_ioctl
(
clien
t
,
"new vers %d handle %08x class %08x "
nv
if_ioctl
(
handle
->
objec
t
,
"new vers %d handle %08x class %08x "
"route %02x token %llx
\n
"
,
args
->
v0
.
version
,
_handle
,
_oclass
,
args
->
v0
.
route
,
args
->
v0
.
token
);
if
(
!
nv_iclass
(
handle
->
object
,
NV_PARENT_CLASS
))
{
nv_debug
(
handle
->
object
,
"cannot have children (ctor)
\n
"
);
nv
if
_debug
(
handle
->
object
,
"cannot have children (ctor)
\n
"
);
ret
=
-
ENODEV
;
goto
fail_class
;
}
...
...
@@ -118,7 +118,7 @@ nvkm_ioctl_new(struct nvkm_handle *handle, void *data, u32 size)
/* check that parent supports the requested subclass */
ret
=
nvkm_parent_sclass
(
&
parent
->
object
,
_oclass
,
&
engine
,
&
oclass
);
if
(
ret
)
{
nv
_debug
(
paren
t
,
"illegal class 0x%04x
\n
"
,
_oclass
);
nv
if_debug
(
&
parent
->
objec
t
,
"illegal class 0x%04x
\n
"
,
_oclass
);
goto
fail_class
;
}
...
...
@@ -188,9 +188,9 @@ nvkm_ioctl_del(struct nvkm_handle *handle, void *data, u32 size)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"delete size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"delete size %d
\n
"
,
size
);
if
(
nvif_unvers
(
args
->
none
))
{
nv_ioctl
(
object
,
"delete
\n
"
);
nv
if
_ioctl
(
object
,
"delete
\n
"
);
nvkm_handle_fini
(
handle
,
false
);
nvkm_handle_destroy
(
handle
);
}
...
...
@@ -208,9 +208,9 @@ nvkm_ioctl_mthd(struct nvkm_handle *handle, void *data, u32 size)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"mthd size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"mthd size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
true
))
{
nv_ioctl
(
object
,
"mthd vers %d mthd %02x
\n
"
,
nv
if
_ioctl
(
object
,
"mthd vers %d mthd %02x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
method
);
if
(
ret
=
-
ENODEV
,
ofuncs
->
mthd
)
ret
=
ofuncs
->
mthd
(
object
,
args
->
v0
.
method
,
data
,
size
);
...
...
@@ -230,9 +230,9 @@ nvkm_ioctl_rd(struct nvkm_handle *handle, void *data, u32 size)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"rd size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"rd size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"rd vers %d size %d addr %016llx
\n
"
,
nv
if
_ioctl
(
object
,
"rd vers %d size %d addr %016llx
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
size
,
args
->
v0
.
addr
);
switch
(
args
->
v0
.
size
)
{
case
1
:
...
...
@@ -272,9 +272,10 @@ nvkm_ioctl_wr(struct nvkm_handle *handle, void *data, u32 size)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"wr size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"wr size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"wr vers %d size %d addr %016llx data %08x
\n
"
,
nvif_ioctl
(
object
,
"wr vers %d size %d addr %016llx data %08x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
size
,
args
->
v0
.
addr
,
args
->
v0
.
data
);
switch
(
args
->
v0
.
size
)
{
...
...
@@ -315,9 +316,9 @@ nvkm_ioctl_map(struct nvkm_handle *handle, void *data, u32 size)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"map size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"map size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"map vers %d
\n
"
,
args
->
v0
.
version
);
nv
if
_ioctl
(
object
,
"map vers %d
\n
"
,
args
->
v0
.
version
);
if
(
ret
=
-
ENODEV
,
ofuncs
->
map
)
{
ret
=
ofuncs
->
map
(
object
,
&
args
->
v0
.
handle
,
&
args
->
v0
.
length
);
...
...
@@ -336,9 +337,9 @@ nvkm_ioctl_unmap(struct nvkm_handle *handle, void *data, u32 size)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"unmap size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"unmap size %d
\n
"
,
size
);
if
(
nvif_unvers
(
args
->
none
))
{
nv_ioctl
(
object
,
"unmap
\n
"
);
nv
if
_ioctl
(
object
,
"unmap
\n
"
);
}
return
ret
;
...
...
@@ -355,9 +356,9 @@ nvkm_ioctl_ntfy_new(struct nvkm_handle *handle, void *data, u32 size)
struct
nvkm_event
*
event
;
int
ret
;
nv_ioctl
(
object
,
"ntfy new size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"ntfy new size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
true
))
{
nv_ioctl
(
object
,
"ntfy new vers %d event %02x
\n
"
,
nv
if
_ioctl
(
object
,
"ntfy new vers %d event %02x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
event
);
if
(
ret
=
-
ENODEV
,
ofuncs
->
ntfy
)
ret
=
ofuncs
->
ntfy
(
object
,
args
->
v0
.
event
,
&
event
);
...
...
@@ -383,9 +384,9 @@ nvkm_ioctl_ntfy_del(struct nvkm_handle *handle, void *data, u32 size)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"ntfy del size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"ntfy del size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"ntfy del vers %d index %d
\n
"
,
nv
if
_ioctl
(
object
,
"ntfy del vers %d index %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
index
);
ret
=
nvkm_client_notify_del
(
client
,
args
->
v0
.
index
);
}
...
...
@@ -403,9 +404,9 @@ nvkm_ioctl_ntfy_get(struct nvkm_handle *handle, void *data, u32 size)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"ntfy get size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"ntfy get size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"ntfy get vers %d index %d
\n
"
,
nv
if
_ioctl
(
object
,
"ntfy get vers %d index %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
index
);
ret
=
nvkm_client_notify_get
(
client
,
args
->
v0
.
index
);
}
...
...
@@ -423,9 +424,9 @@ nvkm_ioctl_ntfy_put(struct nvkm_handle *handle, void *data, u32 size)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"ntfy put size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"ntfy put size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"ntfy put vers %d index %d
\n
"
,
nv
if
_ioctl
(
object
,
"ntfy put vers %d index %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
index
);
ret
=
nvkm_client_notify_put
(
client
,
args
->
v0
.
index
);
}
...
...
@@ -463,15 +464,15 @@ nvkm_ioctl_path(struct nvkm_handle *parent, u32 type, u32 nr, u32 *path,
int
ret
;
while
((
object
=
parent
->
object
),
nr
--
)
{
nv_ioctl
(
object
,
"path 0x%08x
\n
"
,
path
[
nr
]);
nv
if
_ioctl
(
object
,
"path 0x%08x
\n
"
,
path
[
nr
]);
if
(
!
nv_iclass
(
object
,
NV_PARENT_CLASS
))
{
nv_debug
(
object
,
"cannot have children (path)
\n
"
);
nv
if
_debug
(
object
,
"cannot have children (path)
\n
"
);
return
-
EINVAL
;
}
if
(
!
(
namedb
=
(
void
*
)
nv_pclass
(
object
,
NV_NAMEDB_CLASS
))
||
!
(
handle
=
nvkm_namedb_get
(
namedb
,
path
[
nr
])))
{
nv_debug
(
object
,
"handle 0x%08x not found
\n
"
,
path
[
nr
]);
nv
if
_debug
(
object
,
"handle 0x%08x not found
\n
"
,
path
[
nr
]);
return
-
ENOENT
;
}
nvkm_namedb_put
(
handle
);
...
...
@@ -479,7 +480,7 @@ nvkm_ioctl_path(struct nvkm_handle *parent, u32 type, u32 nr, u32 *path,
}
if
(
owner
!=
NVIF_IOCTL_V0_OWNER_ANY
&&
owner
!=
handle
->
route
)
{
nv_ioctl
(
object
,
"object route != owner
\n
"
);
nv
if
_ioctl
(
object
,
"object route != owner
\n
"
);
return
-
EACCES
;
}
*
route
=
handle
->
route
;
...
...
@@ -497,16 +498,17 @@ int
nvkm_ioctl
(
struct
nvkm_client
*
client
,
bool
supervisor
,
void
*
data
,
u32
size
,
void
**
hack
)
{
struct
nvkm_object
*
object
=
&
client
->
namedb
.
parent
.
object
;
union
{
struct
nvif_ioctl_v0
v0
;
}
*
args
=
data
;
int
ret
;
client
->
super
=
supervisor
;
nv
_ioctl
(
clien
t
,
"size %d
\n
"
,
size
);
nv
if_ioctl
(
objec
t
,
"size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
true
))
{
nv
_ioctl
(
clien
t
,
"vers %d type %02x path %d owner %02x
\n
"
,
nv
if_ioctl
(
objec
t
,
"vers %d type %02x path %d owner %02x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
type
,
args
->
v0
.
path_nr
,
args
->
v0
.
owner
);
ret
=
nvkm_ioctl_path
(
client
->
root
,
args
->
v0
.
type
,
...
...
@@ -515,7 +517,7 @@ nvkm_ioctl(struct nvkm_client *client, bool supervisor,
&
args
->
v0
.
route
,
&
args
->
v0
.
token
);
}
nv
_ioctl
(
clien
t
,
"return %d
\n
"
,
ret
);
nv
if_ioctl
(
objec
t
,
"return %d
\n
"
,
ret
);
if
(
hack
)
{
*
hack
=
client
->
data
;
client
->
data
=
NULL
;
...
...
drivers/gpu/drm/nouveau/nvkm/core/object.c
View file @
53003941
...
...
@@ -24,11 +24,6 @@
#include <core/object.h>
#include <core/engine.h>
#ifdef NVKM_OBJECT_MAGIC
static
struct
list_head
_objlist
=
LIST_HEAD_INIT
(
_objlist
);
static
DEFINE_SPINLOCK
(
_objlist_lock
);
#endif
int
nvkm_object_create_
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
struct
nvkm_oclass
*
oclass
,
u32
pclass
,
...
...
@@ -49,9 +44,6 @@ nvkm_object_create_(struct nvkm_object *parent, struct nvkm_object *engine,
#ifdef NVKM_OBJECT_MAGIC
object
->
_magic
=
NVKM_OBJECT_MAGIC
;
spin_lock
(
&
_objlist_lock
);
list_add
(
&
object
->
list
,
&
_objlist
);
spin_unlock
(
&
_objlist_lock
);
#endif
return
0
;
}
...
...
@@ -69,11 +61,6 @@ _nvkm_object_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
void
nvkm_object_destroy
(
struct
nvkm_object
*
object
)
{
#ifdef NVKM_OBJECT_MAGIC
spin_lock
(
&
_objlist_lock
);
list_del
(
&
object
->
list
);
spin_unlock
(
&
_objlist_lock
);
#endif
nvkm_object_ref
(
NULL
,
(
struct
nvkm_object
**
)
&
object
->
engine
);
nvkm_object_ref
(
NULL
,
&
object
->
parent
);
kfree
(
object
);
...
...
@@ -111,11 +98,6 @@ nvkm_object_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
ret
=
ofuncs
->
ctor
(
parent
,
engine
,
oclass
,
data
,
size
,
&
object
);
*
pobject
=
object
;
if
(
ret
<
0
)
{
if
(
ret
!=
-
ENODEV
)
{
nv_error
(
parent
,
"failed to create 0x%08x, %d
\n
"
,
oclass
->
handle
,
ret
);
}
if
(
object
)
{
ofuncs
->
dtor
(
object
);
*
pobject
=
NULL
;
...
...
@@ -125,7 +107,6 @@ nvkm_object_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
}
if
(
ret
==
0
)
{
nv_trace
(
object
,
"created
\n
"
);
atomic_set
(
&
object
->
refcount
,
1
);
}
...
...
@@ -135,7 +116,6 @@ nvkm_object_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
static
void
nvkm_object_dtor
(
struct
nvkm_object
*
object
)
{
nv_trace
(
object
,
"destroying
\n
"
);
nv_ofuncs
(
object
)
->
dtor
(
object
);
}
...
...
@@ -144,12 +124,10 @@ nvkm_object_ref(struct nvkm_object *obj, struct nvkm_object **ref)
{
if
(
obj
)
{
atomic_inc
(
&
obj
->
refcount
);
nv_trace
(
obj
,
"inc() == %d
\n
"
,
atomic_read
(
&
obj
->
refcount
));
}
if
(
*
ref
)
{
int
dead
=
atomic_dec_and_test
(
&
(
*
ref
)
->
refcount
);
nv_trace
(
*
ref
,
"dec() == %d
\n
"
,
atomic_read
(
&
(
*
ref
)
->
refcount
));
if
(
dead
)
nvkm_object_dtor
(
*
ref
);
}
...
...
@@ -163,37 +141,28 @@ nvkm_object_inc(struct nvkm_object *object)
int
ref
=
atomic_add_return
(
1
,
&
object
->
usecount
);
int
ret
;
nv_trace
(
object
,
"use(+1) == %d
\n
"
,
atomic_read
(
&
object
->
usecount
));
if
(
ref
!=
1
)
return
0
;
nv_trace
(
object
,
"initialising...
\n
"
);
if
(
object
->
parent
)
{
ret
=
nvkm_object_inc
(
object
->
parent
);
if
(
ret
)
{
nv_error
(
object
,
"parent failed, %d
\n
"
,
ret
);
if
(
ret
)
goto
fail_parent
;
}
}
if
(
object
->
engine
)
{
mutex_lock
(
&
nv_subdev
(
object
->
engine
)
->
mutex
);
ret
=
nvkm_object_inc
(
&
object
->
engine
->
subdev
.
object
);
mutex_unlock
(
&
nv_subdev
(
object
->
engine
)
->
mutex
);
if
(
ret
)
{
nv_error
(
object
,
"engine failed, %d
\n
"
,
ret
);
if
(
ret
)
goto
fail_engine
;
}
}
ret
=
nv_ofuncs
(
object
)
->
init
(
object
);
atomic_set
(
&
object
->
usecount
,
1
);
if
(
ret
)
{
nv_error
(
object
,
"init failed, %d
\n
"
,
ret
);
if
(
ret
)
goto
fail_self
;
}
nv_trace
(
object
,
"initialised
\n
"
);
return
0
;
fail_self:
...
...
@@ -213,14 +182,8 @@ nvkm_object_inc(struct nvkm_object *object)
static
int
nvkm_object_decf
(
struct
nvkm_object
*
object
)
{
int
ret
;
nv_trace
(
object
,
"stopping...
\n
"
);
ret
=
nv_ofuncs
(
object
)
->
fini
(
object
,
false
);
nv_ofuncs
(
object
)
->
fini
(
object
,
false
);
atomic_set
(
&
object
->
usecount
,
0
);
if
(
ret
)
nv_warn
(
object
,
"failed fini, %d
\n
"
,
ret
);
if
(
object
->
engine
)
{
mutex_lock
(
&
nv_subdev
(
object
->
engine
)
->
mutex
);
...
...
@@ -231,58 +194,44 @@ nvkm_object_decf(struct nvkm_object *object)
if
(
object
->
parent
)
nvkm_object_dec
(
object
->
parent
,
false
);
nv_trace
(
object
,
"stopped
\n
"
);
return
0
;
}
static
int
nvkm_object_decs
(
struct
nvkm_object
*
object
)
{
int
ret
,
rret
;
nv_trace
(
object
,
"suspending...
\n
"
);
int
ret
;
ret
=
nv_ofuncs
(
object
)
->
fini
(
object
,
true
);
atomic_set
(
&
object
->
usecount
,
0
);
if
(
ret
)
{
nv_error
(
object
,
"failed suspend, %d
\n
"
,
ret
);
if
(
ret
)
return
ret
;
}
if
(
object
->
engine
)
{
mutex_lock
(
&
nv_subdev
(
object
->
engine
)
->
mutex
);
ret
=
nvkm_object_dec
(
&
object
->
engine
->
subdev
.
object
,
true
);
mutex_unlock
(
&
nv_subdev
(
object
->
engine
)
->
mutex
);
if
(
ret
)
{
nv_warn
(
object
,
"engine failed suspend, %d
\n
"
,
ret
);
if
(
ret
)
goto
fail_engine
;
}
}
if
(
object
->
parent
)
{
ret
=
nvkm_object_dec
(
object
->
parent
,
true
);
if
(
ret
)
{
nv_warn
(
object
,
"parent failed suspend, %d
\n
"
,
ret
);
if
(
ret
)
goto
fail_parent
;
}
}
nv_trace
(
object
,
"suspended
\n
"
);
return
0
;
fail_parent:
if
(
object
->
engine
)
{
mutex_lock
(
&
nv_subdev
(
object
->
engine
)
->
mutex
);
rret
=
nvkm_object_inc
(
&
object
->
engine
->
subdev
.
object
);
nvkm_object_inc
(
&
object
->
engine
->
subdev
.
object
);
mutex_unlock
(
&
nv_subdev
(
object
->
engine
)
->
mutex
);
if
(
rret
)
nv_fatal
(
object
,
"engine failed to reinit, %d
\n
"
,
rret
);
}
fail_engine:
rret
=
nv_ofuncs
(
object
)
->
init
(
object
);
if
(
rret
)
nv_fatal
(
object
,
"failed to reinit, %d
\n
"
,
rret
);
nv_ofuncs
(
object
)
->
init
(
object
);
return
ret
;
}
...
...
@@ -293,8 +242,6 @@ nvkm_object_dec(struct nvkm_object *object, bool suspend)
int
ref
=
atomic_add_return
(
-
1
,
&
object
->
usecount
);
int
ret
;
nv_trace
(
object
,
"use(-1) == %d
\n
"
,
atomic_read
(
&
object
->
usecount
));
if
(
ref
==
0
)
{
if
(
suspend
)
ret
=
nvkm_object_decs
(
object
);
...
...
@@ -309,22 +256,3 @@ nvkm_object_dec(struct nvkm_object *object, bool suspend)
return
0
;
}
void
nvkm_object_debug
(
void
)
{
#ifdef NVKM_OBJECT_MAGIC
struct
nvkm_object
*
object
;
if
(
!
list_empty
(
&
_objlist
))
{
nv_fatal
(
NULL
,
"*******************************************
\n
"
);
nv_fatal
(
NULL
,
"* AIIIII! object(s) still exist!!!
\n
"
);
nv_fatal
(
NULL
,
"*******************************************
\n
"
);
list_for_each_entry
(
object
,
&
_objlist
,
list
)
{
nv_fatal
(
object
,
"%p/%p/%d/%d
\n
"
,
object
->
parent
,
object
->
engine
,
atomic_read
(
&
object
->
refcount
),
atomic_read
(
&
object
->
usecount
));
}
}
#endif
}
drivers/gpu/drm/nouveau/nvkm/core/option.c
View file @
53003941
...
...
@@ -95,7 +95,7 @@ nvkm_dbgopt(const char *optstr, const char *sub)
else
if
(
!
strncasecmpz
(
optstr
,
"warn"
,
len
))
level
=
NV_DBG_WARN
;
else
if
(
!
strncasecmpz
(
optstr
,
"info"
,
len
))
level
=
NV_DBG_INFO
_NORMAL
;
level
=
NV_DBG_INFO
;
else
if
(
!
strncasecmpz
(
optstr
,
"debug"
,
len
))
level
=
NV_DBG_DEBUG
;
else
if
(
!
strncasecmpz
(
optstr
,
"trace"
,
len
))
...
...
drivers/gpu/drm/nouveau/nvkm/core/printk.c
deleted
100644 → 0
View file @
9ad97ede
/*
* Copyright 2012 Red Hat Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* Authors: Ben Skeggs
*/
#include <core/printk.h>
#include <core/client.h>
#include <core/device.h>
int
nv_info_debug_level
=
NV_DBG_INFO_NORMAL
;
void
nv_printk_
(
struct
nvkm_object
*
object
,
int
level
,
const
char
*
fmt
,
...)
{
static
const
char
name
[]
=
{
'!'
,
'E'
,
'W'
,
' '
,
'D'
,
'T'
,
'P'
,
'S'
};
const
char
*
pfx
;
char
mfmt
[
256
];
va_list
args
;
switch
(
level
)
{
case
NV_DBG_FATAL
:
pfx
=
KERN_CRIT
;
break
;
case
NV_DBG_ERROR
:
pfx
=
KERN_ERR
;
break
;
case
NV_DBG_WARN
:
pfx
=
KERN_WARNING
;
break
;
case
NV_DBG_INFO_NORMAL
:
pfx
=
KERN_INFO
;
break
;
case
NV_DBG_DEBUG
:
case
NV_DBG_PARANOIA
:
case
NV_DBG_TRACE
:
case
NV_DBG_SPAM
:
default:
pfx
=
KERN_DEBUG
;
break
;
}
if
(
object
&&
!
nv_iclass
(
object
,
NV_CLIENT_CLASS
))
{
struct
nvkm_object
*
device
;
struct
nvkm_object
*
subdev
;
char
obuf
[
64
],
*
ofmt
=
""
;
if
(
object
->
engine
==
NULL
)
{
subdev
=
object
;
while
(
subdev
&&
!
nv_iclass
(
subdev
,
NV_SUBDEV_CLASS
))
subdev
=
subdev
->
parent
;
}
else
{
subdev
=
&
object
->
engine
->
subdev
.
object
;
}
device
=
subdev
;
if
(
device
->
parent
)
device
=
device
->
parent
;
if
(
object
!=
subdev
)
{
snprintf
(
obuf
,
sizeof
(
obuf
),
"[0x%08x]"
,
nv_hclass
(
object
));
ofmt
=
obuf
;
}
if
(
level
>
nv_subdev
(
subdev
)
->
debug
)
return
;
snprintf
(
mfmt
,
sizeof
(
mfmt
),
"%snouveau %c[%8s][%s]%s %s"
,
pfx
,
name
[
level
],
nv_subdev
(
subdev
)
->
name
,
nv_device
(
device
)
->
name
,
ofmt
,
fmt
);
}
else
if
(
object
&&
nv_iclass
(
object
,
NV_CLIENT_CLASS
))
{
if
(
level
>
nv_client
(
object
)
->
debug
)
return
;
snprintf
(
mfmt
,
sizeof
(
mfmt
),
"%snouveau %c[%8s] %s"
,
pfx
,
name
[
level
],
nv_client
(
object
)
->
name
,
fmt
);
}
else
{
snprintf
(
mfmt
,
sizeof
(
mfmt
),
"%snouveau: %s"
,
pfx
,
fmt
);
}
va_start
(
args
,
fmt
);
vprintk
(
mfmt
,
args
);
va_end
(
args
);
}
drivers/gpu/drm/nouveau/nvkm/core/subdev.c
View file @
53003941
...
...
@@ -37,11 +37,12 @@ nvkm_subdev(void *obj, int idx)
}
void
nvkm_subdev_reset
(
struct
nvkm_object
*
subdev
)
nvkm_subdev_reset
(
struct
nvkm_object
*
obj
)
{
nv_trace
(
subdev
,
"resetting...
\n
"
);
nv_ofuncs
(
subdev
)
->
fini
(
subdev
,
false
);
nv_debug
(
subdev
,
"reset
\n
"
);
struct
nvkm_subdev
*
subdev
=
container_of
(
obj
,
typeof
(
*
subdev
),
object
);
nvkm_trace
(
subdev
,
"resetting...
\n
"
);
nv_ofuncs
(
subdev
)
->
fini
(
&
subdev
->
object
,
false
);
nvkm_trace
(
subdev
,
"reset
\n
"
);
}
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
View file @
53003941
...
...
@@ -87,9 +87,9 @@ nvkm_devobj_info(struct nvkm_object *object, void *data, u32 size)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"device info size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"device info size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"device info vers %d
\n
"
,
args
->
v0
.
version
);
nv
if
_ioctl
(
object
,
"device info vers %d
\n
"
,
args
->
v0
.
version
);
}
else
return
ret
;
...
...
@@ -294,9 +294,9 @@ nvkm_devobj_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
void
__iomem
*
map
;
int
ret
,
i
,
c
;
nv_ioctl
(
parent
,
"create device size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create device size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create device v%d device %016llx "
nv
if
_ioctl
(
parent
,
"create device v%d device %016llx "
"disable %016llx debug0 %016llx
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
device
,
args
->
v0
.
disable
,
args
->
v0
.
debug0
);
...
...
@@ -567,8 +567,7 @@ nv_device(void *obj)
device
=
device
->
parent
;
}
#if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
if
(
unlikely
(
!
device
))
nv_assert
(
"BAD CAST -> NvDevice, 0x%08x
\n
"
,
nv_hclass
(
obj
));
BUG_ON
(
!
device
);
#endif
return
(
void
*
)
device
;
}
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/ctrl.c
View file @
53003941
...
...
@@ -39,9 +39,9 @@ nvkm_control_mthd_pstate_info(struct nvkm_object *object, void *data, u32 size)
struct
nvkm_clk
*
clk
=
nvkm_clk
(
object
);
int
ret
;
nv_ioctl
(
object
,
"control pstate info size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"control pstate info size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"control pstate info vers %d
\n
"
,
nv
if
_ioctl
(
object
,
"control pstate info vers %d
\n
"
,
args
->
v0
.
version
);
}
else
return
ret
;
...
...
@@ -77,9 +77,9 @@ nvkm_control_mthd_pstate_attr(struct nvkm_object *object, void *data, u32 size)
u32
lo
,
hi
;
int
ret
;
nv_ioctl
(
object
,
"control pstate attr size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"control pstate attr size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"control pstate attr vers %d state %d "
nv
if
_ioctl
(
object
,
"control pstate attr vers %d state %d "
"index %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
state
,
args
->
v0
.
index
);
if
(
!
clk
)
...
...
@@ -145,9 +145,9 @@ nvkm_control_mthd_pstate_user(struct nvkm_object *object, void *data, u32 size)
struct
nvkm_clk
*
clk
=
nvkm_clk
(
object
);
int
ret
;
nv_ioctl
(
object
,
"control pstate user size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"control pstate user size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"control pstate user vers %d ustate %d "
nv
if
_ioctl
(
object
,
"control pstate user vers %d ustate %d "
"pwrsrc %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
ustate
,
args
->
v0
.
pwrsrc
);
if
(
!
clk
)
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/dacnv50.c
View file @
53003941
...
...
@@ -41,9 +41,9 @@ nv50_dac_power(NV50_DISP_MTHD_V1)
u32
stat
;
int
ret
;
nv_ioctl
(
object
,
"disp dac pwr size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp dac pwr size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp dac pwr vers %d state %d data %d "
nv
if
_ioctl
(
object
,
"disp dac pwr vers %d state %d data %d "
"vsync %d hsync %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
state
,
args
->
v0
.
data
,
args
->
v0
.
vsync
,
args
->
v0
.
hsync
);
...
...
@@ -78,9 +78,9 @@ nv50_dac_sense(NV50_DISP_MTHD_V1)
u32
loadval
;
int
ret
;
nv_ioctl
(
object
,
"disp dac load size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp dac load size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp dac load vers %d data %08x
\n
"
,
nv
if
_ioctl
(
object
,
"disp dac load vers %d data %08x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
data
);
if
(
args
->
v0
.
data
&
0xfff00000
)
return
-
EINVAL
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c
View file @
53003941
...
...
@@ -669,9 +669,10 @@ gf110_disp_main_scanoutpos(NV50_DISP_MTHD_V0)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"disp scanoutpos size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp scanoutpos size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp scanoutpos vers %d
\n
"
,
args
->
v0
.
version
);
nvif_ioctl
(
object
,
"disp scanoutpos vers %d
\n
"
,
args
->
v0
.
version
);
args
->
v0
.
vblanke
=
(
blanke
&
0xffff0000
)
>>
16
;
args
->
v0
.
hblanke
=
(
blanke
&
0x0000ffff
);
args
->
v0
.
vblanks
=
(
blanks
&
0xffff0000
)
>>
16
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf110.c
View file @
53003941
...
...
@@ -43,9 +43,10 @@ gf110_hda_eld(NV50_DISP_MTHD_V1)
const
u32
hoff
=
head
*
0x800
;
int
ret
,
i
;
nv_ioctl
(
object
,
"disp sor hda eld size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp sor hda eld size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
true
))
{
nv_ioctl
(
object
,
"disp sor hda eld vers %d
\n
"
,
args
->
v0
.
version
);
nvif_ioctl
(
object
,
"disp sor hda eld vers %d
\n
"
,
args
->
v0
.
version
);
if
(
size
>
0x60
)
return
-
E2BIG
;
}
else
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c
View file @
53003941
...
...
@@ -40,9 +40,10 @@ gt215_hda_eld(NV50_DISP_MTHD_V1)
const
u32
soff
=
outp
->
or
*
0x800
;
int
ret
,
i
;
nv_ioctl
(
object
,
"disp sor hda eld size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp sor hda eld size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
true
))
{
nv_ioctl
(
object
,
"disp sor hda eld vers %d
\n
"
,
args
->
v0
.
version
);
nvif_ioctl
(
object
,
"disp sor hda eld vers %d
\n
"
,
args
->
v0
.
version
);
if
(
size
>
0x60
)
return
-
E2BIG
;
}
else
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmig84.c
View file @
53003941
...
...
@@ -39,9 +39,9 @@ g84_hdmi_ctrl(NV50_DISP_MTHD_V1)
u32
ctrl
;
int
ret
;
nv_ioctl
(
object
,
"disp sor hdmi ctrl size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp sor hdmi ctrl size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp sor hdmi ctrl vers %d state %d "
nv
if
_ioctl
(
object
,
"disp sor hdmi ctrl vers %d state %d "
"max_ac_packet %d rekey %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
state
,
args
->
v0
.
max_ac_packet
,
args
->
v0
.
rekey
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigf110.c
View file @
53003941
...
...
@@ -39,9 +39,9 @@ gf110_hdmi_ctrl(NV50_DISP_MTHD_V1)
u32
ctrl
;
int
ret
;
nv_ioctl
(
object
,
"disp sor hdmi ctrl size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp sor hdmi ctrl size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp sor hdmi ctrl vers %d state %d "
nv
if
_ioctl
(
object
,
"disp sor hdmi ctrl vers %d state %d "
"max_ac_packet %d rekey %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
state
,
args
->
v0
.
max_ac_packet
,
args
->
v0
.
rekey
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigk104.c
View file @
53003941
...
...
@@ -40,9 +40,9 @@ gk104_hdmi_ctrl(NV50_DISP_MTHD_V1)
u32
ctrl
;
int
ret
;
nv_ioctl
(
object
,
"disp sor hdmi ctrl size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp sor hdmi ctrl size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp sor hdmi ctrl vers %d state %d "
nv
if
_ioctl
(
object
,
"disp sor hdmi ctrl vers %d state %d "
"max_ac_packet %d rekey %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
state
,
args
->
v0
.
max_ac_packet
,
args
->
v0
.
rekey
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigt215.c
View file @
53003941
...
...
@@ -40,9 +40,9 @@ gt215_hdmi_ctrl(NV50_DISP_MTHD_V1)
u32
ctrl
;
int
ret
;
nv_ioctl
(
object
,
"disp sor hdmi ctrl size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp sor hdmi ctrl size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp sor hdmi ctrl vers %d state %d "
nv
if
_ioctl
(
object
,
"disp sor hdmi ctrl vers %d state %d "
"max_ac_packet %d rekey %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
state
,
args
->
v0
.
max_ac_packet
,
args
->
v0
.
rekey
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv04.c
View file @
53003941
...
...
@@ -40,9 +40,10 @@ nv04_disp_scanoutpos(struct nvkm_object *object, struct nvkm_disp *disp,
u32
line
;
int
ret
;
nv_ioctl
(
object
,
"disp scanoutpos size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp scanoutpos size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp scanoutpos vers %d
\n
"
,
args
->
v0
.
version
);
nvif_ioctl
(
object
,
"disp scanoutpos vers %d
\n
"
,
args
->
v0
.
version
);
args
->
v0
.
vblanks
=
nvkm_rd32
(
device
,
0x680800
+
hoff
)
&
0xffff
;
args
->
v0
.
vtotal
=
nvkm_rd32
(
device
,
0x680804
+
hoff
)
&
0xffff
;
args
->
v0
.
vblanke
=
args
->
v0
.
vtotal
-
1
;
...
...
@@ -79,9 +80,9 @@ nv04_disp_mthd(struct nvkm_object *object, u32 mthd, void *data, u32 size)
struct
nvkm_disp
*
disp
=
(
void
*
)
object
->
engine
;
int
head
,
ret
;
nv_ioctl
(
object
,
"disp mthd size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp mthd size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
true
))
{
nv_ioctl
(
object
,
"disp mthd vers %d mthd %02x head %d
\n
"
,
nv
if
_ioctl
(
object
,
"disp mthd vers %d mthd %02x head %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
method
,
args
->
v0
.
head
);
mthd
=
args
->
v0
.
method
;
head
=
args
->
v0
.
head
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
View file @
53003941
...
...
@@ -510,9 +510,9 @@ nv50_disp_core_ctor(struct nvkm_object *parent,
struct
nv50_disp_dmac
*
mast
;
int
ret
;
nv_ioctl
(
parent
,
"create disp core channel dma size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create disp core channel dma size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create disp core channel dma vers %d "
nv
if
_ioctl
(
parent
,
"create disp core channel dma vers %d "
"pushbuf %08x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
);
}
else
...
...
@@ -679,9 +679,9 @@ nv50_disp_base_ctor(struct nvkm_object *parent,
struct
nv50_disp_dmac
*
dmac
;
int
ret
;
nv_ioctl
(
parent
,
"create disp base channel dma size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create disp base channel dma size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create disp base channel dma vers %d "
nv
if
_ioctl
(
parent
,
"create disp base channel dma vers %d "
"pushbuf %08x head %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
,
args
->
v0
.
head
);
if
(
args
->
v0
.
head
>
disp
->
head
.
nr
)
...
...
@@ -769,9 +769,9 @@ nv50_disp_ovly_ctor(struct nvkm_object *parent,
struct
nv50_disp_dmac
*
dmac
;
int
ret
;
nv_ioctl
(
parent
,
"create disp overlay channel dma size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create disp overlay channel dma size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create disp overlay channel dma vers %d "
nv
if
_ioctl
(
parent
,
"create disp overlay channel dma vers %d "
"pushbuf %08x head %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
,
args
->
v0
.
head
);
if
(
args
->
v0
.
head
>
disp
->
head
.
nr
)
...
...
@@ -903,9 +903,9 @@ nv50_disp_oimm_ctor(struct nvkm_object *parent,
struct
nv50_disp_pioc
*
pioc
;
int
ret
;
nv_ioctl
(
parent
,
"create disp overlay size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create disp overlay size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create disp overlay vers %d head %d
\n
"
,
nv
if
_ioctl
(
parent
,
"create disp overlay vers %d head %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
head
);
if
(
args
->
v0
.
head
>
disp
->
head
.
nr
)
return
-
EINVAL
;
...
...
@@ -951,9 +951,9 @@ nv50_disp_curs_ctor(struct nvkm_object *parent,
struct
nv50_disp_pioc
*
pioc
;
int
ret
;
nv_ioctl
(
parent
,
"create disp cursor size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create disp cursor size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create disp cursor vers %d head %d
\n
"
,
nv
if
_ioctl
(
parent
,
"create disp cursor vers %d head %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
head
);
if
(
args
->
v0
.
head
>
disp
->
head
.
nr
)
return
-
EINVAL
;
...
...
@@ -998,9 +998,10 @@ nv50_disp_main_scanoutpos(NV50_DISP_MTHD_V0)
}
*
args
=
data
;
int
ret
;
nv_ioctl
(
object
,
"disp scanoutpos size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp scanoutpos size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp scanoutpos vers %d
\n
"
,
args
->
v0
.
version
);
nvif_ioctl
(
object
,
"disp scanoutpos vers %d
\n
"
,
args
->
v0
.
version
);
args
->
v0
.
vblanke
=
(
blanke
&
0xffff0000
)
>>
16
;
args
->
v0
.
hblanke
=
(
blanke
&
0x0000ffff
);
args
->
v0
.
vblanks
=
(
blanks
&
0xffff0000
)
>>
16
;
...
...
@@ -1036,15 +1037,15 @@ nv50_disp_main_mthd(struct nvkm_object *object, u32 mthd, void *data, u32 size)
if
(
mthd
!=
NV50_DISP_MTHD
)
return
-
EINVAL
;
nv_ioctl
(
object
,
"disp mthd size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp mthd size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
true
))
{
nv_ioctl
(
object
,
"disp mthd vers %d mthd %02x head %d
\n
"
,
nv
if
_ioctl
(
object
,
"disp mthd vers %d mthd %02x head %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
method
,
args
->
v0
.
head
);
mthd
=
args
->
v0
.
method
;
head
=
args
->
v0
.
head
;
}
else
if
(
nvif_unpack
(
args
->
v1
,
1
,
1
,
true
))
{
nv_ioctl
(
object
,
"disp mthd vers %d mthd %02x "
nv
if
_ioctl
(
object
,
"disp mthd vers %d mthd %02x "
"type %04x mask %04x
\n
"
,
args
->
v1
.
version
,
args
->
v1
.
method
,
args
->
v1
.
hasht
,
args
->
v1
.
hashm
);
...
...
@@ -1096,9 +1097,9 @@ nv50_disp_main_mthd(struct nvkm_object *object, u32 mthd, void *data, u32 size)
union
{
struct
nv50_disp_sor_lvds_script_v0
v0
;
}
*
args
=
data
;
nv_ioctl
(
object
,
"disp sor lvds script size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp sor lvds script size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp sor lvds script "
nv
if
_ioctl
(
object
,
"disp sor lvds script "
"vers %d name %04x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
script
);
disp
->
sor
.
lvdsconf
=
args
->
v0
.
script
;
...
...
@@ -1112,9 +1113,9 @@ nv50_disp_main_mthd(struct nvkm_object *object, u32 mthd, void *data, u32 size)
union
{
struct
nv50_disp_sor_dp_pwr_v0
v0
;
}
*
args
=
data
;
nv_ioctl
(
object
,
"disp sor dp pwr size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp sor dp pwr size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp sor dp pwr vers %d state %d
\n
"
,
nv
if
_ioctl
(
object
,
"disp sor dp pwr vers %d state %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
state
);
if
(
args
->
v0
.
state
==
0
)
{
nvkm_notify_put
(
&
outpdp
->
irq
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/piornv50.c
View file @
53003941
...
...
@@ -152,9 +152,9 @@ nv50_pior_power(NV50_DISP_MTHD_V1)
u32
ctrl
,
type
;
int
ret
;
nv_ioctl
(
object
,
"disp pior pwr size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp pior pwr size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp pior pwr vers %d state %d type %x
\n
"
,
nv
if
_ioctl
(
object
,
"disp pior pwr vers %d state %d type %x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
state
,
args
->
v0
.
type
);
if
(
args
->
v0
.
type
>
0x0f
)
return
-
EINVAL
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/sornv50.c
View file @
53003941
...
...
@@ -41,9 +41,9 @@ nv50_sor_power(NV50_DISP_MTHD_V1)
u32
stat
;
int
ret
;
nv_ioctl
(
object
,
"disp sor pwr size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"disp sor pwr size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"disp sor pwr vers %d state %d
\n
"
,
nv
if
_ioctl
(
object
,
"disp sor pwr vers %d state %d
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
state
);
stat
=
!!
args
->
v0
.
state
;
}
else
...
...
drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/base.c
View file @
53003941
...
...
@@ -75,9 +75,9 @@ nvkm_dmaobj_create_(struct nvkm_object *parent,
if
(
ret
)
return
ret
;
nv_ioctl
(
parent
,
"create dma size %d
\n
"
,
*
psize
);
nv
if
_ioctl
(
parent
,
"create dma size %d
\n
"
,
*
psize
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
true
))
{
nv_ioctl
(
parent
,
"create dma vers %d target %d access %d "
nv
if
_ioctl
(
parent
,
"create dma vers %d target %d access %d "
"start %016llx limit %016llx
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
target
,
args
->
v0
.
access
,
args
->
v0
.
start
,
args
->
v0
.
limit
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/gf100.c
View file @
53003941
...
...
@@ -88,9 +88,10 @@ gf100_dmaobj_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
return
ret
;
args
=
data
;
nv_ioctl
(
parent
,
"create gf100 dma size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create gf100 dma size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create gf100 dma vers %d priv %d kind %02x
\n
"
,
nvif_ioctl
(
parent
,
"create gf100 dma vers %d priv %d kind %02x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
priv
,
args
->
v0
.
kind
);
kind
=
args
->
v0
.
kind
;
user
=
args
->
v0
.
priv
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/gf110.c
View file @
53003941
...
...
@@ -93,9 +93,10 @@ gf110_dmaobj_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
return
ret
;
args
=
data
;
nv_ioctl
(
parent
,
"create gf110 dma size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create gf110 dma size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create gf100 dma vers %d page %d kind %02x
\n
"
,
nvif_ioctl
(
parent
,
"create gf100 dma vers %d page %d kind %02x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
page
,
args
->
v0
.
kind
);
kind
=
args
->
v0
.
kind
;
page
=
args
->
v0
.
page
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/nv50.c
View file @
53003941
...
...
@@ -100,9 +100,9 @@ nv50_dmaobj_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
return
ret
;
args
=
data
;
nv_ioctl
(
parent
,
"create nv50 dma size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create nv50 dma size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create nv50 dma vers %d priv %d part %d "
nv
if
_ioctl
(
parent
,
"create nv50 dma vers %d priv %d part %d "
"comp %d kind %02x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
priv
,
args
->
v0
.
part
,
args
->
v0
.
comp
,
args
->
v0
.
kind
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/g84.c
View file @
53003941
...
...
@@ -176,9 +176,9 @@ g84_fifo_chan_ctor_dma(struct nvkm_object *parent, struct nvkm_object *engine,
struct
nv50_fifo_chan
*
chan
;
int
ret
;
nv_ioctl
(
parent
,
"create channel dma size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create channel dma size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create channel dma vers %d pushbuf %08x "
nv
if
_ioctl
(
parent
,
"create channel dma vers %d pushbuf %08x "
"offset %016llx
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
,
args
->
v0
.
offset
);
}
else
...
...
@@ -250,9 +250,9 @@ g84_fifo_chan_ctor_ind(struct nvkm_object *parent, struct nvkm_object *engine,
u64
ioffset
,
ilength
;
int
ret
;
nv_ioctl
(
parent
,
"create channel gpfifo size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create channel gpfifo size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create channel gpfifo vers %d pushbuf %08x "
nv
if
_ioctl
(
parent
,
"create channel gpfifo vers %d pushbuf %08x "
"ioffset %016llx ilength %08x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
,
args
->
v0
.
ioffset
,
args
->
v0
.
ilength
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gf100.c
View file @
53003941
...
...
@@ -199,9 +199,9 @@ gf100_fifo_chan_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
u64
usermem
,
ioffset
,
ilength
;
int
ret
,
i
;
nv_ioctl
(
parent
,
"create channel gpfifo size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create channel gpfifo size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create channel gpfifo vers %d pushbuf %08x "
nv
if
_ioctl
(
parent
,
"create channel gpfifo vers %d pushbuf %08x "
"ioffset %016llx ilength %08x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
,
args
->
v0
.
ioffset
,
args
->
v0
.
ilength
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c
View file @
53003941
...
...
@@ -240,9 +240,9 @@ gk104_fifo_chan_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
u64
usermem
,
ioffset
,
ilength
;
int
ret
,
i
;
nv_ioctl
(
parent
,
"create channel gpfifo size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create channel gpfifo size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create channel gpfifo vers %d pushbuf %08x "
nv
if
_ioctl
(
parent
,
"create channel gpfifo vers %d pushbuf %08x "
"ioffset %016llx ilength %08x engine %08x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
,
args
->
v0
.
ioffset
,
args
->
v0
.
ilength
,
args
->
v0
.
engine
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
View file @
53003941
...
...
@@ -118,9 +118,9 @@ nv04_fifo_chan_ctor(struct nvkm_object *parent,
struct
nv04_fifo_chan
*
chan
;
int
ret
;
nv_ioctl
(
parent
,
"create channel dma size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create channel dma size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create channel dma vers %d pushbuf %08x "
nv
if
_ioctl
(
parent
,
"create channel dma vers %d pushbuf %08x "
"offset %016llx
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
,
args
->
v0
.
offset
);
}
else
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.c
View file @
53003941
...
...
@@ -62,9 +62,9 @@ nv10_fifo_chan_ctor(struct nvkm_object *parent,
struct
nv04_fifo_chan
*
chan
;
int
ret
;
nv_ioctl
(
parent
,
"create channel dma size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create channel dma size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create channel dma vers %d pushbuf %08x "
nv
if
_ioctl
(
parent
,
"create channel dma vers %d pushbuf %08x "
"offset %016llx
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
,
args
->
v0
.
offset
);
}
else
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv17.c
View file @
53003941
...
...
@@ -67,9 +67,9 @@ nv17_fifo_chan_ctor(struct nvkm_object *parent,
struct
nv04_fifo_chan
*
chan
;
int
ret
;
nv_ioctl
(
parent
,
"create channel dma size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create channel dma size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create channel dma vers %d pushbuf %08x "
nv
if
_ioctl
(
parent
,
"create channel dma vers %d pushbuf %08x "
"offset %016llx
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
,
args
->
v0
.
offset
);
}
else
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv40.c
View file @
53003941
...
...
@@ -186,9 +186,9 @@ nv40_fifo_chan_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
struct
nv04_fifo_chan
*
chan
;
int
ret
;
nv_ioctl
(
parent
,
"create channel dma size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create channel dma size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create channel dma vers %d pushbuf %08x "
nv
if
_ioctl
(
parent
,
"create channel dma vers %d pushbuf %08x "
"offset %016llx
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
,
args
->
v0
.
offset
);
}
else
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv50.c
View file @
53003941
...
...
@@ -204,9 +204,9 @@ nv50_fifo_chan_ctor_dma(struct nvkm_object *parent, struct nvkm_object *engine,
struct
nv50_fifo_chan
*
chan
;
int
ret
;
nv_ioctl
(
parent
,
"create channel dma size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create channel dma size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create channel dma vers %d pushbuf %08x "
nv
if
_ioctl
(
parent
,
"create channel dma vers %d pushbuf %08x "
"offset %016llx
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
,
args
->
v0
.
offset
);
}
else
...
...
@@ -266,9 +266,9 @@ nv50_fifo_chan_ctor_ind(struct nvkm_object *parent, struct nvkm_object *engine,
u64
ioffset
,
ilength
;
int
ret
;
nv_ioctl
(
parent
,
"create channel gpfifo size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create channel gpfifo size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create channel gpfifo vers %d pushbuf %08x "
nv
if
_ioctl
(
parent
,
"create channel gpfifo vers %d pushbuf %08x "
"ioffset %016llx ilength %08x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
pushbuf
,
args
->
v0
.
ioffset
,
args
->
v0
.
ilength
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c
View file @
53003941
...
...
@@ -212,9 +212,9 @@ nvkm_perfdom_init(struct nvkm_object *object, void *data, u32 size)
struct
nvkm_perfdom
*
dom
=
(
void
*
)
object
;
int
ret
,
i
;
nv_ioctl
(
object
,
"perfdom init size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"perfdom init size %d
\n
"
,
size
);
if
(
nvif_unvers
(
args
->
none
))
{
nv_ioctl
(
object
,
"perfdom init
\n
"
);
nv
if
_ioctl
(
object
,
"perfdom init
\n
"
);
}
else
return
ret
;
...
...
@@ -242,9 +242,9 @@ nvkm_perfdom_sample(struct nvkm_object *object, void *data, u32 size)
struct
nvkm_perfdom
*
dom
;
int
ret
;
nv_ioctl
(
object
,
"perfdom sample size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"perfdom sample size %d
\n
"
,
size
);
if
(
nvif_unvers
(
args
->
none
))
{
nv_ioctl
(
object
,
"perfdom sample
\n
"
);
nv
if
_ioctl
(
object
,
"perfdom sample
\n
"
);
}
else
return
ret
;
pm
->
sequence
++
;
...
...
@@ -266,9 +266,9 @@ nvkm_perfdom_read(struct nvkm_object *object, void *data, u32 size)
struct
nvkm_perfdom
*
dom
=
(
void
*
)
object
;
int
ret
,
i
;
nv_ioctl
(
object
,
"perfdom read size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"perfdom read size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"perfdom read vers %d
\n
"
,
args
->
v0
.
version
);
nv
if
_ioctl
(
object
,
"perfdom read vers %d
\n
"
,
args
->
v0
.
version
);
}
else
return
ret
;
...
...
@@ -367,9 +367,9 @@ nvkm_perfdom_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
int
c
,
s
,
m
;
int
ret
;
nv_ioctl
(
parent
,
"create perfdom size %d
\n
"
,
size
);
nv
if
_ioctl
(
parent
,
"create perfdom size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
parent
,
"create perfdom vers %d dom %d mode %02x
\n
"
,
nv
if
_ioctl
(
parent
,
"create perfdom vers %d dom %d mode %02x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
domain
,
args
->
v0
.
mode
);
}
else
return
ret
;
...
...
@@ -438,9 +438,9 @@ nvkm_perfmon_mthd_query_domain(struct nvkm_object *object, void *data, u32 size)
u8
domain_nr
;
int
di
,
ret
;
nv_ioctl
(
object
,
"perfmon query domain size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"perfmon query domain size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
"perfmon domain vers %d iter %02x
\n
"
,
nv
if
_ioctl
(
object
,
"perfmon domain vers %d iter %02x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
iter
);
di
=
(
args
->
v0
.
iter
&
0xff
)
-
1
;
}
else
...
...
@@ -487,9 +487,9 @@ nvkm_perfmon_mthd_query_signal(struct nvkm_object *object, void *data, u32 size)
const
bool
raw
=
nvkm_boolopt
(
device
->
cfgopt
,
"NvPmUnnamed"
,
all
);
int
ret
,
si
;
nv_ioctl
(
object
,
"perfmon query signal size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"perfmon query signal size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
nv
if
_ioctl
(
object
,
"perfmon query signal vers %d dom %d iter %04x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
domain
,
args
->
v0
.
iter
);
si
=
(
args
->
v0
.
iter
&
0xffff
)
-
1
;
...
...
@@ -538,9 +538,9 @@ nvkm_perfmon_mthd_query_source(struct nvkm_object *object, void *data, u32 size)
u8
source_nr
=
0
;
int
si
,
ret
;
nv_ioctl
(
object
,
"perfmon query source size %d
\n
"
,
size
);
nv
if
_ioctl
(
object
,
"perfmon query source size %d
\n
"
,
size
);
if
(
nvif_unpack
(
args
->
v0
,
0
,
0
,
false
))
{
nv_ioctl
(
object
,
nv
if
_ioctl
(
object
,
"perfmon source vers %d dom %d sig %02x iter %02x
\n
"
,
args
->
v0
.
version
,
args
->
v0
.
domain
,
args
->
v0
.
signal
,
args
->
v0
.
iter
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment