mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-10 07:50:04 +00:00
drm/nouveau/device: provide a way for devinit to mark engines as disabled
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
cf336014c6
commit
f0d13e3a85
@ -42,12 +42,25 @@ nouveau_engine_create_(struct nouveau_object *parent,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if ( parent &&
|
||||
!nouveau_boolopt(nv_device(parent)->cfgopt, iname, enable)) {
|
||||
if (parent) {
|
||||
struct nouveau_device *device = nv_device(parent);
|
||||
int engidx = nv_engidx(nv_object(engine));
|
||||
|
||||
if (device->disable_mask & (1ULL << engidx)) {
|
||||
if (!nouveau_boolopt(device->cfgopt, iname, false)) {
|
||||
nv_debug(engine, "engine disabled by hw/fw\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
nv_warn(engine, "ignoring hw/fw engine disable\n");
|
||||
}
|
||||
|
||||
if (!nouveau_boolopt(device->cfgopt, iname, enable)) {
|
||||
if (!enable)
|
||||
nv_warn(engine, "disabled, %s=1 to enable\n", iname);
|
||||
return -ENODEV;
|
||||
}
|
||||
}
|
||||
|
||||
INIT_LIST_HEAD(&engine->contexts);
|
||||
spin_lock_init(&engine->lock);
|
||||
|
@ -71,6 +71,7 @@ struct nouveau_device {
|
||||
const char *dbgopt;
|
||||
const char *name;
|
||||
const char *cname;
|
||||
u64 disable_mask;
|
||||
|
||||
enum {
|
||||
NV_04 = 0x04,
|
||||
|
Loading…
x
Reference in New Issue
Block a user