mirror of https://gitee.com/openkylin/linux.git
drm/nouveau/gr: add fini() hook
Add a fini() hook to the GR engine. This will be used by gf100+ to properly release the FECS and GPCCS falcons. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
d72fb36c45
commit
d2753f40a9
|
@ -106,6 +106,15 @@ nvkm_gr_init(struct nvkm_engine *engine)
|
|||
return gr->func->init(gr);
|
||||
}
|
||||
|
||||
static int
|
||||
nvkm_gr_fini(struct nvkm_engine *engine, bool suspend)
|
||||
{
|
||||
struct nvkm_gr *gr = nvkm_gr(engine);
|
||||
if (gr->func->fini)
|
||||
return gr->func->fini(gr, suspend);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void *
|
||||
nvkm_gr_dtor(struct nvkm_engine *engine)
|
||||
{
|
||||
|
@ -120,6 +129,7 @@ nvkm_gr = {
|
|||
.dtor = nvkm_gr_dtor,
|
||||
.oneinit = nvkm_gr_oneinit,
|
||||
.init = nvkm_gr_init,
|
||||
.fini = nvkm_gr_fini,
|
||||
.intr = nvkm_gr_intr,
|
||||
.tile = nvkm_gr_tile,
|
||||
.fifo.cclass = nvkm_gr_cclass_new,
|
||||
|
|
|
@ -15,6 +15,7 @@ struct nvkm_gr_func {
|
|||
void *(*dtor)(struct nvkm_gr *);
|
||||
int (*oneinit)(struct nvkm_gr *);
|
||||
int (*init)(struct nvkm_gr *);
|
||||
int (*fini)(struct nvkm_gr *, bool);
|
||||
void (*intr)(struct nvkm_gr *);
|
||||
void (*tile)(struct nvkm_gr *, int region, struct nvkm_fb_tile *);
|
||||
int (*tlb_flush)(struct nvkm_gr *);
|
||||
|
|
Loading…
Reference in New Issue