提交 14f0458a 编写于 作者: B Ben Skeggs

drm/nvc0/copy: check PUNITS to determine which copy engines are disabled

On some Fermi chipsets (NVCE particularly) PCOPY1 doesn't exist.  And if
what I've seen on Kepler is true of Fermi too, chipsets of the same type
can have different PCOPY units available.

This should fix a v3.5 regression reported by a number of people effecting
suspend/resume on NVC8/NVCE chipsets.

Cc: stable@vger.kernel.org [3.5]
Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
上级 2064db72
...@@ -736,9 +736,11 @@ nouveau_card_init(struct drm_device *dev) ...@@ -736,9 +736,11 @@ nouveau_card_init(struct drm_device *dev)
} }
break; break;
case NV_C0: case NV_C0:
nvc0_copy_create(dev, 1); if (!(nv_rd32(dev, 0x022500) & 0x00000200))
nvc0_copy_create(dev, 1);
case NV_D0: case NV_D0:
nvc0_copy_create(dev, 0); if (!(nv_rd32(dev, 0x022500) & 0x00000100))
nvc0_copy_create(dev, 0);
break; break;
default: default:
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册