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
Kirill Smelkov
linux
Commits
f9360c3a
Commit
f9360c3a
authored
May 08, 2018
by
Ben Skeggs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drm/nouveau/fifo/gk104-: simplify definition of channel classes
Signed-off-by:
Ben Skeggs
<
bskeggs@redhat.com
>
parent
a7cf0180
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
71 additions
and
171 deletions
+71
-171
drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild
drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild
+0
-3
drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c
+17
-7
drivers/gpu/drm/nouveau/nvkm/engine/fifo/changk104.h
drivers/gpu/drm/nouveau/nvkm/engine/fifo/changk104.h
+1
-6
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c
+20
-8
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.h
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.h
+5
-1
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk110.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk110.c
+3
-4
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk208.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk208.c
+3
-4
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk20a.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk20a.c
+3
-4
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm107.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm107.c
+3
-4
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm200.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm200.c
+3
-4
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm20b.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm20b.c
+3
-4
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.c
+3
-4
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp10b.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp10b.c
+3
-4
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c
+1
-10
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk110.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk110.c
+0
-34
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogm200.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogm200.c
+0
-34
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogp100.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogp100.c
+0
-34
drivers/gpu/drm/nouveau/nvkm/engine/fifo/priv.h
drivers/gpu/drm/nouveau/nvkm/engine/fifo/priv.h
+3
-2
No files found.
drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild
View file @
f9360c3a
...
...
@@ -31,6 +31,3 @@ nvkm-y += nvkm/engine/fifo/gpfifonv50.o
nvkm-y += nvkm/engine/fifo/gpfifog84.o
nvkm-y += nvkm/engine/fifo/gpfifogf100.o
nvkm-y += nvkm/engine/fifo/gpfifogk104.o
nvkm-y += nvkm/engine/fifo/gpfifogk110.o
nvkm-y += nvkm/engine/fifo/gpfifogm200.o
nvkm-y += nvkm/engine/fifo/gpfifogp100.o
drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c
View file @
f9360c3a
...
...
@@ -215,6 +215,20 @@ nvkm_fifo_uevent(struct nvkm_fifo *fifo)
nvkm_event_send
(
&
fifo
->
uevent
,
1
,
0
,
&
rep
,
sizeof
(
rep
));
}
static
int
nvkm_fifo_class_new_
(
struct
nvkm_device
*
device
,
const
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nvkm_object
**
pobject
)
{
struct
nvkm_fifo
*
fifo
=
nvkm_fifo
(
oclass
->
engine
);
return
fifo
->
func
->
class_new
(
fifo
,
oclass
,
data
,
size
,
pobject
);
}
static
const
struct
nvkm_device_oclass
nvkm_fifo_class_
=
{
.
ctor
=
nvkm_fifo_class_new_
,
};
static
int
nvkm_fifo_class_new
(
struct
nvkm_device
*
device
,
const
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
...
...
@@ -239,13 +253,9 @@ nvkm_fifo_class_get(struct nvkm_oclass *oclass, int index,
int
c
=
0
;
if
(
fifo
->
func
->
class_get
)
{
int
ret
=
fifo
->
func
->
class_get
(
fifo
,
index
,
&
sclass
);
if
(
ret
==
0
)
{
oclass
->
base
=
sclass
->
base
;
oclass
->
engn
=
sclass
;
*
class
=
&
nvkm_fifo_class
;
return
0
;
}
int
ret
=
fifo
->
func
->
class_get
(
fifo
,
index
,
oclass
);
if
(
ret
==
0
)
*
class
=
&
nvkm_fifo_class_
;
return
ret
;
}
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/changk104.h
View file @
f9360c3a
...
...
@@ -19,11 +19,6 @@ struct gk104_fifo_chan {
}
engn
[
NVKM_SUBDEV_NR
];
};
int
gk104_fifo_gpfifo_new
(
struct
nvkm
_fifo
*
,
const
struct
nvkm_oclass
*
,
int
gk104_fifo_gpfifo_new
(
struct
gk104
_fifo
*
,
const
struct
nvkm_oclass
*
,
void
*
data
,
u32
size
,
struct
nvkm_object
**
);
extern
const
struct
nvkm_fifo_chan_oclass
gk104_fifo_gpfifo_oclass
;
extern
const
struct
nvkm_fifo_chan_oclass
gk110_fifo_gpfifo_oclass
;
extern
const
struct
nvkm_fifo_chan_oclass
gm200_fifo_gpfifo_oclass
;
extern
const
struct
nvkm_fifo_chan_oclass
gp100_fifo_gpfifo_oclass
;
#endif
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c
View file @
f9360c3a
...
...
@@ -94,16 +94,30 @@ gk104_fifo_engine_status(struct gk104_fifo *fifo, int engn,
status
->
chan
==
&
status
->
next
?
"*"
:
" "
);
}
static
int
gk104_fifo_class_new
(
struct
nvkm_fifo
*
base
,
const
struct
nvkm_oclass
*
oclass
,
void
*
argv
,
u32
argc
,
struct
nvkm_object
**
pobject
)
{
struct
gk104_fifo
*
fifo
=
gk104_fifo
(
base
);
if
(
oclass
->
engn
==
&
fifo
->
func
->
chan
)
{
const
struct
gk104_fifo_chan_user
*
user
=
oclass
->
engn
;
return
user
->
ctor
(
fifo
,
oclass
,
argv
,
argc
,
pobject
);
}
WARN_ON
(
1
);
return
-
EINVAL
;
}
static
int
gk104_fifo_class_get
(
struct
nvkm_fifo
*
base
,
int
index
,
const
struct
nvkm_fifo_chan_oclass
**
ps
class
)
struct
nvkm_oclass
*
o
class
)
{
struct
gk104_fifo
*
fifo
=
gk104_fifo
(
base
);
int
c
=
0
;
while
((
*
psclass
=
fifo
->
func
->
chan
[
c
]))
{
if
(
c
++
==
index
)
return
0
;
if
(
fifo
->
func
->
chan
.
ctor
&&
c
++
==
index
)
{
oclass
->
base
=
fifo
->
func
->
chan
.
user
;
oclass
->
engn
=
&
fifo
->
func
->
chan
;
return
0
;
}
return
c
;
...
...
@@ -950,6 +964,7 @@ gk104_fifo_ = {
.
uevent_fini
=
gk104_fifo_uevent_fini
,
.
recover_chan
=
gk104_fifo_recover_chan
,
.
class_get
=
gk104_fifo_class_get
,
.
class_new
=
gk104_fifo_class_new
,
};
int
...
...
@@ -1096,10 +1111,7 @@ gk104_fifo = {
.
fault
.
reason
=
gk104_fifo_fault_reason
,
.
fault
.
hubclient
=
gk104_fifo_fault_hubclient
,
.
fault
.
gpcclient
=
gk104_fifo_fault_gpcclient
,
.
chan
=
{
&
gk104_fifo_gpfifo_oclass
,
NULL
},
.
chan
=
{{
0
,
0
,
KEPLER_CHANNEL_GPFIFO_A
},
gk104_fifo_gpfifo_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.h
View file @
f9360c3a
...
...
@@ -51,7 +51,11 @@ struct gk104_fifo_func {
const
struct
nvkm_enum
*
gpcclient
;
}
fault
;
const
struct
nvkm_fifo_chan_oclass
*
chan
[];
struct
gk104_fifo_chan_user
{
struct
nvkm_sclass
user
;
int
(
*
ctor
)(
struct
gk104_fifo
*
,
const
struct
nvkm_oclass
*
,
void
*
,
u32
,
struct
nvkm_object
**
);
}
chan
;
};
int
gk104_fifo_new_
(
const
struct
gk104_fifo_func
*
,
struct
nvkm_device
*
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk110.c
View file @
f9360c3a
...
...
@@ -24,6 +24,8 @@
#include "gk104.h"
#include "changk104.h"
#include <nvif/class.h>
static
const
struct
gk104_fifo_func
gk110_fifo
=
{
.
fault
.
access
=
gk104_fifo_fault_access
,
...
...
@@ -31,10 +33,7 @@ gk110_fifo = {
.
fault
.
reason
=
gk104_fifo_fault_reason
,
.
fault
.
hubclient
=
gk104_fifo_fault_hubclient
,
.
fault
.
gpcclient
=
gk104_fifo_fault_gpcclient
,
.
chan
=
{
&
gk110_fifo_gpfifo_oclass
,
NULL
},
.
chan
=
{{
0
,
0
,
KEPLER_CHANNEL_GPFIFO_B
},
gk104_fifo_gpfifo_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk208.c
View file @
f9360c3a
...
...
@@ -24,6 +24,8 @@
#include "gk104.h"
#include "changk104.h"
#include <nvif/class.h>
static
const
struct
gk104_fifo_func
gk208_fifo
=
{
.
fault
.
access
=
gk104_fifo_fault_access
,
...
...
@@ -31,10 +33,7 @@ gk208_fifo = {
.
fault
.
reason
=
gk104_fifo_fault_reason
,
.
fault
.
hubclient
=
gk104_fifo_fault_hubclient
,
.
fault
.
gpcclient
=
gk104_fifo_fault_gpcclient
,
.
chan
=
{
&
gk104_fifo_gpfifo_oclass
,
NULL
},
.
chan
=
{{
0
,
0
,
KEPLER_CHANNEL_GPFIFO_A
},
gk104_fifo_gpfifo_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk20a.c
View file @
f9360c3a
...
...
@@ -22,6 +22,8 @@
#include "gk104.h"
#include "changk104.h"
#include <nvif/class.h>
static
const
struct
gk104_fifo_func
gk20a_fifo
=
{
.
fault
.
access
=
gk104_fifo_fault_access
,
...
...
@@ -29,10 +31,7 @@ gk20a_fifo = {
.
fault
.
reason
=
gk104_fifo_fault_reason
,
.
fault
.
hubclient
=
gk104_fifo_fault_hubclient
,
.
fault
.
gpcclient
=
gk104_fifo_fault_gpcclient
,
.
chan
=
{
&
gk104_fifo_gpfifo_oclass
,
NULL
},
.
chan
=
{{
0
,
0
,
KEPLER_CHANNEL_GPFIFO_A
},
gk104_fifo_gpfifo_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm107.c
View file @
f9360c3a
...
...
@@ -24,6 +24,8 @@
#include "gk104.h"
#include "changk104.h"
#include <nvif/class.h>
const
struct
nvkm_enum
gm107_fifo_fault_engine
[]
=
{
{
0x01
,
"DISPLAY"
},
...
...
@@ -54,10 +56,7 @@ gm107_fifo = {
.
fault
.
reason
=
gk104_fifo_fault_reason
,
.
fault
.
hubclient
=
gk104_fifo_fault_hubclient
,
.
fault
.
gpcclient
=
gk104_fifo_fault_gpcclient
,
.
chan
=
{
&
gk110_fifo_gpfifo_oclass
,
NULL
},
.
chan
=
{{
0
,
0
,
KEPLER_CHANNEL_GPFIFO_B
},
gk104_fifo_gpfifo_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm200.c
View file @
f9360c3a
...
...
@@ -24,6 +24,8 @@
#include "gk104.h"
#include "changk104.h"
#include <nvif/class.h>
static
const
struct
gk104_fifo_func
gm200_fifo
=
{
.
fault
.
access
=
gk104_fifo_fault_access
,
...
...
@@ -31,10 +33,7 @@ gm200_fifo = {
.
fault
.
reason
=
gk104_fifo_fault_reason
,
.
fault
.
hubclient
=
gk104_fifo_fault_hubclient
,
.
fault
.
gpcclient
=
gk104_fifo_fault_gpcclient
,
.
chan
=
{
&
gm200_fifo_gpfifo_oclass
,
NULL
},
.
chan
=
{{
0
,
0
,
MAXWELL_CHANNEL_GPFIFO_A
},
gk104_fifo_gpfifo_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm20b.c
View file @
f9360c3a
...
...
@@ -22,6 +22,8 @@
#include "gk104.h"
#include "changk104.h"
#include <nvif/class.h>
static
const
struct
gk104_fifo_func
gm20b_fifo
=
{
.
fault
.
access
=
gk104_fifo_fault_access
,
...
...
@@ -29,10 +31,7 @@ gm20b_fifo = {
.
fault
.
reason
=
gk104_fifo_fault_reason
,
.
fault
.
hubclient
=
gk104_fifo_fault_hubclient
,
.
fault
.
gpcclient
=
gk104_fifo_fault_gpcclient
,
.
chan
=
{
&
gm200_fifo_gpfifo_oclass
,
NULL
},
.
chan
=
{{
0
,
0
,
MAXWELL_CHANNEL_GPFIFO_A
},
gk104_fifo_gpfifo_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.c
View file @
f9360c3a
...
...
@@ -24,6 +24,8 @@
#include "gk104.h"
#include "changk104.h"
#include <nvif/class.h>
const
struct
nvkm_enum
gp100_fifo_fault_engine
[]
=
{
{
0x01
,
"DISPLAY"
},
...
...
@@ -55,10 +57,7 @@ gp100_fifo = {
.
fault
.
reason
=
gk104_fifo_fault_reason
,
.
fault
.
hubclient
=
gk104_fifo_fault_hubclient
,
.
fault
.
gpcclient
=
gk104_fifo_fault_gpcclient
,
.
chan
=
{
&
gp100_fifo_gpfifo_oclass
,
NULL
},
.
chan
=
{{
0
,
0
,
PASCAL_CHANNEL_GPFIFO_A
},
gk104_fifo_gpfifo_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp10b.c
View file @
f9360c3a
...
...
@@ -22,6 +22,8 @@
#include "gk104.h"
#include "changk104.h"
#include <nvif/class.h>
static
const
struct
gk104_fifo_func
gp10b_fifo
=
{
.
fault
.
access
=
gk104_fifo_fault_access
,
...
...
@@ -29,10 +31,7 @@ gp10b_fifo = {
.
fault
.
reason
=
gk104_fifo_fault_reason
,
.
fault
.
hubclient
=
gk104_fifo_fault_hubclient
,
.
fault
.
gpcclient
=
gk104_fifo_fault_gpcclient
,
.
chan
=
{
&
gp100_fifo_gpfifo_oclass
,
NULL
},
.
chan
=
{{
0
,
0
,
PASCAL_CHANNEL_GPFIFO_A
},
gk104_fifo_gpfifo_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c
View file @
f9360c3a
...
...
@@ -296,14 +296,13 @@ gk104_fifo_gpfifo_new_(struct gk104_fifo *fifo, u64 *runlists, u16 *chid,
}
int
gk104_fifo_gpfifo_new
(
struct
nvkm_fifo
*
base
,
const
struct
nvkm_oclass
*
oclass
,
gk104_fifo_gpfifo_new
(
struct
gk104_fifo
*
fifo
,
const
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nvkm_object
**
pobject
)
{
struct
nvkm_object
*
parent
=
oclass
->
parent
;
union
{
struct
kepler_channel_gpfifo_a_v0
v0
;
}
*
args
=
data
;
struct
gk104_fifo
*
fifo
=
gk104_fifo
(
base
);
int
ret
=
-
ENOSYS
;
nvif_ioctl
(
parent
,
"create channel gpfifo size %d
\n
"
,
size
);
...
...
@@ -324,11 +323,3 @@ gk104_fifo_gpfifo_new(struct nvkm_fifo *base, const struct nvkm_oclass *oclass,
return
ret
;
}
const
struct
nvkm_fifo_chan_oclass
gk104_fifo_gpfifo_oclass
=
{
.
base
.
oclass
=
KEPLER_CHANNEL_GPFIFO_A
,
.
base
.
minver
=
0
,
.
base
.
maxver
=
0
,
.
ctor
=
gk104_fifo_gpfifo_new
,
};
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk110.c
deleted
100644 → 0
View file @
a7cf0180
/*
* Copyright 2016 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 "changk104.h"
#include <nvif/class.h>
const
struct
nvkm_fifo_chan_oclass
gk110_fifo_gpfifo_oclass
=
{
.
base
.
oclass
=
KEPLER_CHANNEL_GPFIFO_B
,
.
base
.
minver
=
0
,
.
base
.
maxver
=
0
,
.
ctor
=
gk104_fifo_gpfifo_new
,
};
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogm200.c
deleted
100644 → 0
View file @
a7cf0180
/*
* Copyright 2015 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 "changk104.h"
#include <nvif/class.h>
const
struct
nvkm_fifo_chan_oclass
gm200_fifo_gpfifo_oclass
=
{
.
base
.
oclass
=
MAXWELL_CHANNEL_GPFIFO_A
,
.
base
.
minver
=
0
,
.
base
.
maxver
=
0
,
.
ctor
=
gk104_fifo_gpfifo_new
,
};
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogp100.c
deleted
100644 → 0
View file @
a7cf0180
/*
* Copyright 2016 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 "changk104.h"
#include <nvif/class.h>
const
struct
nvkm_fifo_chan_oclass
gp100_fifo_gpfifo_oclass
=
{
.
base
.
oclass
=
PASCAL_CHANNEL_GPFIFO_A
,
.
base
.
minver
=
0
,
.
base
.
maxver
=
0
,
.
ctor
=
gk104_fifo_gpfifo_new
,
};
drivers/gpu/drm/nouveau/nvkm/engine/fifo/priv.h
View file @
f9360c3a
...
...
@@ -28,8 +28,9 @@ struct nvkm_fifo_func {
void
(
*
uevent_init
)(
struct
nvkm_fifo
*
);
void
(
*
uevent_fini
)(
struct
nvkm_fifo
*
);
void
(
*
recover_chan
)(
struct
nvkm_fifo
*
,
int
chid
);
int
(
*
class_get
)(
struct
nvkm_fifo
*
,
int
index
,
const
struct
nvkm_fifo_chan_oclass
**
);
int
(
*
class_get
)(
struct
nvkm_fifo
*
,
int
index
,
struct
nvkm_oclass
*
);
int
(
*
class_new
)(
struct
nvkm_fifo
*
,
const
struct
nvkm_oclass
*
,
void
*
,
u32
,
struct
nvkm_object
**
);
const
struct
nvkm_fifo_chan_oclass
*
chan
[];
};
...
...
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