|
@@ -279,7 +279,7 @@ nv50_display_init(struct drm_device *dev)
|
|
if (nv_rd32(dev, NV50_PDISPLAY_INTR_1) & 0x100) {
|
|
if (nv_rd32(dev, NV50_PDISPLAY_INTR_1) & 0x100) {
|
|
nv_wr32(dev, NV50_PDISPLAY_INTR_1, 0x100);
|
|
nv_wr32(dev, NV50_PDISPLAY_INTR_1, 0x100);
|
|
nv_wr32(dev, 0x006194e8, nv_rd32(dev, 0x006194e8) & ~1);
|
|
nv_wr32(dev, 0x006194e8, nv_rd32(dev, 0x006194e8) & ~1);
|
|
- if (!nv_wait(0x006194e8, 2, 0)) {
|
|
|
|
|
|
+ if (!nv_wait(dev, 0x006194e8, 2, 0)) {
|
|
NV_ERROR(dev, "timeout: (0x6194e8 & 2) != 0\n");
|
|
NV_ERROR(dev, "timeout: (0x6194e8 & 2) != 0\n");
|
|
NV_ERROR(dev, "0x6194e8 = 0x%08x\n",
|
|
NV_ERROR(dev, "0x6194e8 = 0x%08x\n",
|
|
nv_rd32(dev, 0x6194e8));
|
|
nv_rd32(dev, 0x6194e8));
|
|
@@ -310,7 +310,8 @@ nv50_display_init(struct drm_device *dev)
|
|
|
|
|
|
nv_wr32(dev, NV50_PDISPLAY_CTRL_STATE, NV50_PDISPLAY_CTRL_STATE_ENABLE);
|
|
nv_wr32(dev, NV50_PDISPLAY_CTRL_STATE, NV50_PDISPLAY_CTRL_STATE_ENABLE);
|
|
nv_wr32(dev, NV50_PDISPLAY_CHANNEL_STAT(0), 0x1000b03);
|
|
nv_wr32(dev, NV50_PDISPLAY_CHANNEL_STAT(0), 0x1000b03);
|
|
- if (!nv_wait(NV50_PDISPLAY_CHANNEL_STAT(0), 0x40000000, 0x40000000)) {
|
|
|
|
|
|
+ if (!nv_wait(dev, NV50_PDISPLAY_CHANNEL_STAT(0),
|
|
|
|
+ 0x40000000, 0x40000000)) {
|
|
NV_ERROR(dev, "timeout: (0x610200 & 0x40000000) == 0x40000000\n");
|
|
NV_ERROR(dev, "timeout: (0x610200 & 0x40000000) == 0x40000000\n");
|
|
NV_ERROR(dev, "0x610200 = 0x%08x\n",
|
|
NV_ERROR(dev, "0x610200 = 0x%08x\n",
|
|
nv_rd32(dev, NV50_PDISPLAY_CHANNEL_STAT(0)));
|
|
nv_rd32(dev, NV50_PDISPLAY_CHANNEL_STAT(0)));
|
|
@@ -319,7 +320,7 @@ nv50_display_init(struct drm_device *dev)
|
|
|
|
|
|
for (i = 0; i < 2; i++) {
|
|
for (i = 0; i < 2; i++) {
|
|
nv_wr32(dev, NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i), 0x2000);
|
|
nv_wr32(dev, NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i), 0x2000);
|
|
- if (!nv_wait(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i),
|
|
|
|
|
|
+ if (!nv_wait(dev, NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i),
|
|
NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS, 0)) {
|
|
NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS, 0)) {
|
|
NV_ERROR(dev, "timeout: CURSOR_CTRL2_STATUS == 0\n");
|
|
NV_ERROR(dev, "timeout: CURSOR_CTRL2_STATUS == 0\n");
|
|
NV_ERROR(dev, "CURSOR_CTRL2 = 0x%08x\n",
|
|
NV_ERROR(dev, "CURSOR_CTRL2 = 0x%08x\n",
|
|
@@ -329,7 +330,7 @@ nv50_display_init(struct drm_device *dev)
|
|
|
|
|
|
nv_wr32(dev, NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i),
|
|
nv_wr32(dev, NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i),
|
|
NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_ON);
|
|
NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_ON);
|
|
- if (!nv_wait(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i),
|
|
|
|
|
|
+ if (!nv_wait(dev, NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i),
|
|
NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS,
|
|
NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS,
|
|
NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS_ACTIVE)) {
|
|
NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS_ACTIVE)) {
|
|
NV_ERROR(dev, "timeout: "
|
|
NV_ERROR(dev, "timeout: "
|
|
@@ -349,7 +350,7 @@ nv50_display_init(struct drm_device *dev)
|
|
NV50_PDISPLAY_CHANNEL_DMA_CB_VALID);
|
|
NV50_PDISPLAY_CHANNEL_DMA_CB_VALID);
|
|
nv_wr32(dev, NV50_PDISPLAY_CHANNEL_UNK2(0), 0x00010000);
|
|
nv_wr32(dev, NV50_PDISPLAY_CHANNEL_UNK2(0), 0x00010000);
|
|
nv_wr32(dev, NV50_PDISPLAY_CHANNEL_UNK3(0), 0x00000002);
|
|
nv_wr32(dev, NV50_PDISPLAY_CHANNEL_UNK3(0), 0x00000002);
|
|
- if (!nv_wait(0x610200, 0x80000000, 0x00000000)) {
|
|
|
|
|
|
+ if (!nv_wait(dev, 0x610200, 0x80000000, 0x00000000)) {
|
|
NV_ERROR(dev, "timeout: (0x610200 & 0x80000000) == 0\n");
|
|
NV_ERROR(dev, "timeout: (0x610200 & 0x80000000) == 0\n");
|
|
NV_ERROR(dev, "0x610200 = 0x%08x\n", nv_rd32(dev, 0x610200));
|
|
NV_ERROR(dev, "0x610200 = 0x%08x\n", nv_rd32(dev, 0x610200));
|
|
return -EBUSY;
|
|
return -EBUSY;
|
|
@@ -389,7 +390,7 @@ nv50_display_init(struct drm_device *dev)
|
|
BEGIN_RING(evo, 0, NV50_EVO_CRTC(0, UNK082C), 1);
|
|
BEGIN_RING(evo, 0, NV50_EVO_CRTC(0, UNK082C), 1);
|
|
OUT_RING(evo, 0);
|
|
OUT_RING(evo, 0);
|
|
FIRE_RING(evo);
|
|
FIRE_RING(evo);
|
|
- if (!nv_wait(0x640004, 0xffffffff, evo->dma.put << 2))
|
|
|
|
|
|
+ if (!nv_wait(dev, 0x640004, 0xffffffff, evo->dma.put << 2))
|
|
NV_ERROR(dev, "evo pushbuf stalled\n");
|
|
NV_ERROR(dev, "evo pushbuf stalled\n");
|
|
|
|
|
|
/* enable clock change interrupts. */
|
|
/* enable clock change interrupts. */
|
|
@@ -443,7 +444,7 @@ static int nv50_display_disable(struct drm_device *dev)
|
|
continue;
|
|
continue;
|
|
|
|
|
|
nv_wr32(dev, NV50_PDISPLAY_INTR_1, mask);
|
|
nv_wr32(dev, NV50_PDISPLAY_INTR_1, mask);
|
|
- if (!nv_wait(NV50_PDISPLAY_INTR_1, mask, mask)) {
|
|
|
|
|
|
+ if (!nv_wait(dev, NV50_PDISPLAY_INTR_1, mask, mask)) {
|
|
NV_ERROR(dev, "timeout: (0x610024 & 0x%08x) == "
|
|
NV_ERROR(dev, "timeout: (0x610024 & 0x%08x) == "
|
|
"0x%08x\n", mask, mask);
|
|
"0x%08x\n", mask, mask);
|
|
NV_ERROR(dev, "0x610024 = 0x%08x\n",
|
|
NV_ERROR(dev, "0x610024 = 0x%08x\n",
|
|
@@ -453,14 +454,14 @@ static int nv50_display_disable(struct drm_device *dev)
|
|
|
|
|
|
nv_wr32(dev, NV50_PDISPLAY_CHANNEL_STAT(0), 0);
|
|
nv_wr32(dev, NV50_PDISPLAY_CHANNEL_STAT(0), 0);
|
|
nv_wr32(dev, NV50_PDISPLAY_CTRL_STATE, 0);
|
|
nv_wr32(dev, NV50_PDISPLAY_CTRL_STATE, 0);
|
|
- if (!nv_wait(NV50_PDISPLAY_CHANNEL_STAT(0), 0x1e0000, 0)) {
|
|
|
|
|
|
+ if (!nv_wait(dev, NV50_PDISPLAY_CHANNEL_STAT(0), 0x1e0000, 0)) {
|
|
NV_ERROR(dev, "timeout: (0x610200 & 0x1e0000) == 0\n");
|
|
NV_ERROR(dev, "timeout: (0x610200 & 0x1e0000) == 0\n");
|
|
NV_ERROR(dev, "0x610200 = 0x%08x\n",
|
|
NV_ERROR(dev, "0x610200 = 0x%08x\n",
|
|
nv_rd32(dev, NV50_PDISPLAY_CHANNEL_STAT(0)));
|
|
nv_rd32(dev, NV50_PDISPLAY_CHANNEL_STAT(0)));
|
|
}
|
|
}
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
for (i = 0; i < 3; i++) {
|
|
- if (!nv_wait(NV50_PDISPLAY_SOR_DPMS_STATE(i),
|
|
|
|
|
|
+ if (!nv_wait(dev, NV50_PDISPLAY_SOR_DPMS_STATE(i),
|
|
NV50_PDISPLAY_SOR_DPMS_STATE_WAIT, 0)) {
|
|
NV50_PDISPLAY_SOR_DPMS_STATE_WAIT, 0)) {
|
|
NV_ERROR(dev, "timeout: SOR_DPMS_STATE_WAIT(%d) == 0\n", i);
|
|
NV_ERROR(dev, "timeout: SOR_DPMS_STATE_WAIT(%d) == 0\n", i);
|
|
NV_ERROR(dev, "SOR_DPMS_STATE(%d) = 0x%08x\n", i,
|
|
NV_ERROR(dev, "SOR_DPMS_STATE(%d) = 0x%08x\n", i,
|