drm/nouveau/core: define ACR subdev
This will replace the current SECBOOT subdev for handling firmware on secure falcons. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
f25709f9ae
commit
31bef57f6c
@ -23,6 +23,7 @@ enum nvkm_devidx {
|
|||||||
NVKM_SUBDEV_MMU,
|
NVKM_SUBDEV_MMU,
|
||||||
NVKM_SUBDEV_BAR,
|
NVKM_SUBDEV_BAR,
|
||||||
NVKM_SUBDEV_FAULT,
|
NVKM_SUBDEV_FAULT,
|
||||||
|
NVKM_SUBDEV_ACR,
|
||||||
NVKM_SUBDEV_PMU,
|
NVKM_SUBDEV_PMU,
|
||||||
NVKM_SUBDEV_VOLT,
|
NVKM_SUBDEV_VOLT,
|
||||||
NVKM_SUBDEV_ICCSENSE,
|
NVKM_SUBDEV_ICCSENSE,
|
||||||
@ -129,6 +130,7 @@ struct nvkm_device {
|
|||||||
struct notifier_block nb;
|
struct notifier_block nb;
|
||||||
} acpi;
|
} acpi;
|
||||||
|
|
||||||
|
struct nvkm_acr *acr;
|
||||||
struct nvkm_bar *bar;
|
struct nvkm_bar *bar;
|
||||||
struct nvkm_bios *bios;
|
struct nvkm_bios *bios;
|
||||||
struct nvkm_bus *bus;
|
struct nvkm_bus *bus;
|
||||||
@ -202,6 +204,7 @@ struct nvkm_device_quirk {
|
|||||||
struct nvkm_device_chip {
|
struct nvkm_device_chip {
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|
||||||
|
int (*acr )(struct nvkm_device *, int idx, struct nvkm_acr **);
|
||||||
int (*bar )(struct nvkm_device *, int idx, struct nvkm_bar **);
|
int (*bar )(struct nvkm_device *, int idx, struct nvkm_bar **);
|
||||||
int (*bios )(struct nvkm_device *, int idx, struct nvkm_bios **);
|
int (*bios )(struct nvkm_device *, int idx, struct nvkm_bios **);
|
||||||
int (*bus )(struct nvkm_device *, int idx, struct nvkm_bus **);
|
int (*bus )(struct nvkm_device *, int idx, struct nvkm_bus **);
|
||||||
|
10
drivers/gpu/drm/nouveau/include/nvkm/subdev/acr.h
Normal file
10
drivers/gpu/drm/nouveau/include/nvkm/subdev/acr.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/* SPDX-License-Identifier: MIT */
|
||||||
|
#ifndef __NVKM_ACR_H__
|
||||||
|
#define __NVKM_ACR_H__
|
||||||
|
#define nvkm_acr(p) container_of((p), struct nvkm_acr, subdev)
|
||||||
|
#include <core/subdev.h>
|
||||||
|
|
||||||
|
struct nvkm_acr {
|
||||||
|
struct nvkm_subdev subdev;
|
||||||
|
};
|
||||||
|
#endif
|
@ -30,6 +30,7 @@ static struct lock_class_key nvkm_subdev_lock_class[NVKM_SUBDEV_NR];
|
|||||||
|
|
||||||
const char *
|
const char *
|
||||||
nvkm_subdev_name[NVKM_SUBDEV_NR] = {
|
nvkm_subdev_name[NVKM_SUBDEV_NR] = {
|
||||||
|
[NVKM_SUBDEV_ACR ] = "acr",
|
||||||
[NVKM_SUBDEV_BAR ] = "bar",
|
[NVKM_SUBDEV_BAR ] = "bar",
|
||||||
[NVKM_SUBDEV_VBIOS ] = "bios",
|
[NVKM_SUBDEV_VBIOS ] = "bios",
|
||||||
[NVKM_SUBDEV_BUS ] = "bus",
|
[NVKM_SUBDEV_BUS ] = "bus",
|
||||||
|
@ -2638,6 +2638,7 @@ nvkm_device_subdev(struct nvkm_device *device, int index)
|
|||||||
|
|
||||||
switch (index) {
|
switch (index) {
|
||||||
#define _(n,p,m) case NVKM_SUBDEV_##n: if (p) return (m); break
|
#define _(n,p,m) case NVKM_SUBDEV_##n: if (p) return (m); break
|
||||||
|
_(ACR , device->acr , &device->acr->subdev);
|
||||||
_(BAR , device->bar , &device->bar->subdev);
|
_(BAR , device->bar , &device->bar->subdev);
|
||||||
_(VBIOS , device->bios , &device->bios->subdev);
|
_(VBIOS , device->bios , &device->bios->subdev);
|
||||||
_(BUS , device->bus , &device->bus->subdev);
|
_(BUS , device->bus , &device->bus->subdev);
|
||||||
@ -3144,6 +3145,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func,
|
|||||||
} \
|
} \
|
||||||
break
|
break
|
||||||
switch (i) {
|
switch (i) {
|
||||||
|
_(NVKM_SUBDEV_ACR , acr);
|
||||||
_(NVKM_SUBDEV_BAR , bar);
|
_(NVKM_SUBDEV_BAR , bar);
|
||||||
_(NVKM_SUBDEV_VBIOS , bios);
|
_(NVKM_SUBDEV_VBIOS , bios);
|
||||||
_(NVKM_SUBDEV_BUS , bus);
|
_(NVKM_SUBDEV_BUS , bus);
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#define __NVKM_DEVICE_PRIV_H__
|
#define __NVKM_DEVICE_PRIV_H__
|
||||||
#include <core/device.h>
|
#include <core/device.h>
|
||||||
|
|
||||||
|
#include <subdev/acr.h>
|
||||||
#include <subdev/bar.h>
|
#include <subdev/bar.h>
|
||||||
#include <subdev/bios.h>
|
#include <subdev/bios.h>
|
||||||
#include <subdev/bus.h>
|
#include <subdev/bus.h>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
include $(src)/nvkm/subdev/acr/Kbuild
|
||||||
include $(src)/nvkm/subdev/bar/Kbuild
|
include $(src)/nvkm/subdev/bar/Kbuild
|
||||||
include $(src)/nvkm/subdev/bios/Kbuild
|
include $(src)/nvkm/subdev/bios/Kbuild
|
||||||
include $(src)/nvkm/subdev/bus/Kbuild
|
include $(src)/nvkm/subdev/bus/Kbuild
|
||||||
|
1
drivers/gpu/drm/nouveau/nvkm/subdev/acr/Kbuild
Normal file
1
drivers/gpu/drm/nouveau/nvkm/subdev/acr/Kbuild
Normal file
@ -0,0 +1 @@
|
|||||||
|
# SPDX-License-Identifier: MIT
|
Loading…
Reference in New Issue
Block a user