diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2015-05-21 01:44:15 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2015-05-28 20:59:32 -0400 |
commit | c9ab50d21032ca8c5013f4d57e9aa866da78d7c7 (patch) | |
tree | a22c644cb364dd65d5128e3a5b0c06f2734fe636 | |
parent | 9ee971a0b8efbae472882b1d3e8e736f4d6e3da9 (diff) |
drm/nouveau/devinit/gf100: make the force-post condition more obvious
And also more generic, so it can be used on newer chipsets.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.c index e8778c67578e..9f09037731fc 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.c | |||
@@ -95,7 +95,9 @@ gf100_devinit_ctor(struct nvkm_object *parent, struct nvkm_object *engine, | |||
95 | struct nvkm_oclass *oclass, void *data, u32 size, | 95 | struct nvkm_oclass *oclass, void *data, u32 size, |
96 | struct nvkm_object **pobject) | 96 | struct nvkm_object **pobject) |
97 | { | 97 | { |
98 | struct nvkm_devinit_impl *impl = (void *)oclass; | ||
98 | struct nv50_devinit_priv *priv; | 99 | struct nv50_devinit_priv *priv; |
100 | u64 disable; | ||
99 | int ret; | 101 | int ret; |
100 | 102 | ||
101 | ret = nvkm_devinit_create(parent, engine, oclass, &priv); | 103 | ret = nvkm_devinit_create(parent, engine, oclass, &priv); |
@@ -103,7 +105,8 @@ gf100_devinit_ctor(struct nvkm_object *parent, struct nvkm_object *engine, | |||
103 | if (ret) | 105 | if (ret) |
104 | return ret; | 106 | return ret; |
105 | 107 | ||
106 | if (nv_rd32(priv, 0x022500) & 0x00000001) | 108 | disable = impl->disable(&priv->base); |
109 | if (disable & (1ULL << NVDEV_ENGINE_DISP)) | ||
107 | priv->base.post = true; | 110 | priv->base.post = true; |
108 | 111 | ||
109 | return 0; | 112 | return 0; |