mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
drm/nouveau/gsp: add usermode class id to gpu hal
Use usermode class ID from nvkm_rm_gpu, instead of copying it from the non-GSP HALs. Signed-off-by: Ben Skeggs <bskeggs@nvidia.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Timur Tabi <ttabi@nvidia.com> Tested-by: Timur Tabi <ttabi@nvidia.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
0fac5141d6
commit
cd3c62282b
6 changed files with 22 additions and 2 deletions
|
@ -16,4 +16,6 @@ ad10x_gpu = {
|
|||
.wimm = GA102_DISP_WINDOW_IMM_CHANNEL_DMA,
|
||||
.curs = GA102_DISP_CURSOR,
|
||||
},
|
||||
|
||||
.usermode.class = AMPERE_USERMODE_A,
|
||||
};
|
||||
|
|
|
@ -4,6 +4,9 @@
|
|||
*/
|
||||
#include "gpu.h"
|
||||
|
||||
#include <nvif/class.h>
|
||||
|
||||
const struct nvkm_rm_gpu
|
||||
ga100_gpu = {
|
||||
.usermode.class = AMPERE_USERMODE_A,
|
||||
};
|
||||
|
|
|
@ -16,4 +16,6 @@ ga1xx_gpu = {
|
|||
.wimm = GA102_DISP_WINDOW_IMM_CHANNEL_DMA,
|
||||
.curs = GA102_DISP_CURSOR,
|
||||
},
|
||||
|
||||
.usermode.class = AMPERE_USERMODE_A,
|
||||
};
|
||||
|
|
|
@ -17,6 +17,10 @@ struct nvkm_rm_gpu {
|
|||
u32 curs;
|
||||
} class;
|
||||
} disp;
|
||||
|
||||
struct {
|
||||
u32 class;
|
||||
} usermode;
|
||||
};
|
||||
|
||||
extern const struct nvkm_rm_gpu tu1xx_gpu;
|
||||
|
|
|
@ -16,4 +16,6 @@ tu1xx_gpu = {
|
|||
.wimm = TU102_DISP_WINDOW_IMM_CHANNEL_DMA,
|
||||
.curs = TU102_DISP_CURSOR,
|
||||
},
|
||||
|
||||
.usermode.class = TURING_USERMODE_A,
|
||||
};
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
*/
|
||||
#include "priv.h"
|
||||
|
||||
#include <rm/gpu.h>
|
||||
|
||||
static void
|
||||
r535_vfn_dtor(struct nvkm_vfn *vfn)
|
||||
{
|
||||
|
@ -32,6 +34,7 @@ r535_vfn_new(const struct nvkm_vfn_func *hw,
|
|||
struct nvkm_device *device, enum nvkm_subdev_type type, int inst, u32 addr,
|
||||
struct nvkm_vfn **pvfn)
|
||||
{
|
||||
const struct nvkm_rm_gpu *gpu = device->gsp->rm->gpu;
|
||||
struct nvkm_vfn_func *rm;
|
||||
int ret;
|
||||
|
||||
|
@ -39,8 +42,12 @@ r535_vfn_new(const struct nvkm_vfn_func *hw,
|
|||
return -ENOMEM;
|
||||
|
||||
rm->dtor = r535_vfn_dtor;
|
||||
rm->intr = hw->intr;
|
||||
rm->user = hw->user;
|
||||
rm->intr = &tu102_vfn_intr,
|
||||
rm->user.addr = 0x030000;
|
||||
rm->user.size = 0x010000;
|
||||
rm->user.base.minver = -1;
|
||||
rm->user.base.maxver = -1;
|
||||
rm->user.base.oclass = gpu->usermode.class;
|
||||
|
||||
ret = nvkm_vfn_new_(rm, device, type, inst, addr, pvfn);
|
||||
if (ret)
|
||||
|
|
Loading…
Add table
Reference in a new issue