drm/radeon/kms: fix typo in r100_blit_copy
[pandora-kernel.git] / drivers / gpu / drm / radeon / r100.c
index e372f9e..a536505 100644 (file)
@@ -773,8 +773,8 @@ int r100_copy_blit(struct radeon_device *rdev,
                radeon_ring_write(rdev, (0x1fff) | (0x1fff << 16));
                radeon_ring_write(rdev, 0);
                radeon_ring_write(rdev, (0x1fff) | (0x1fff << 16));
-               radeon_ring_write(rdev, num_pages);
-               radeon_ring_write(rdev, num_pages);
+               radeon_ring_write(rdev, cur_pages);
+               radeon_ring_write(rdev, cur_pages);
                radeon_ring_write(rdev, cur_pages | (stride_pixels << 16));
        }
        radeon_ring_write(rdev, PACKET0(RADEON_DSTCACHE_CTLSTAT, 0));
@@ -990,7 +990,8 @@ int r100_cp_init(struct radeon_device *rdev, unsigned ring_size)
        /* Force read & write ptr to 0 */
        WREG32(RADEON_CP_RB_CNTL, tmp | RADEON_RB_RPTR_WR_ENA | RADEON_RB_NO_UPDATE);
        WREG32(RADEON_CP_RB_RPTR_WR, 0);
-       WREG32(RADEON_CP_RB_WPTR, 0);
+       rdev->cp.wptr = 0;
+       WREG32(RADEON_CP_RB_WPTR, rdev->cp.wptr);
 
        /* set the wb address whether it's enabled or not */
        WREG32(R_00070C_CP_RB_RPTR_ADDR,
@@ -1007,9 +1008,6 @@ int r100_cp_init(struct radeon_device *rdev, unsigned ring_size)
        WREG32(RADEON_CP_RB_CNTL, tmp);
        udelay(10);
        rdev->cp.rptr = RREG32(RADEON_CP_RB_RPTR);
-       rdev->cp.wptr = RREG32(RADEON_CP_RB_WPTR);
-       /* protect against crazy HW on resume */
-       rdev->cp.wptr &= rdev->cp.ptr_mask;
        /* Set cp mode to bus mastering & enable cp*/
        WREG32(RADEON_CP_CSQ_MODE,
               REG_SET(RADEON_INDIRECT2_START, indirect2_start) |
@@ -1205,14 +1203,12 @@ int r100_cs_packet_parse_vline(struct radeon_cs_parser *p)
        if (waitreloc.reg != RADEON_WAIT_UNTIL ||
            waitreloc.count != 0) {
                DRM_ERROR("vline wait had illegal wait until segment\n");
-               r = -EINVAL;
-               return r;
+               return -EINVAL;
        }
 
        if (radeon_get_ib_value(p, waitreloc.idx + 1) != RADEON_WAIT_CRTC_VLINE) {
                DRM_ERROR("vline wait had illegal wait until\n");
-               r = -EINVAL;
-               return r;
+               return -EINVAL;
        }
 
        /* jump over the NOP */
@@ -1230,8 +1226,7 @@ int r100_cs_packet_parse_vline(struct radeon_cs_parser *p)
        obj = drm_mode_object_find(p->rdev->ddev, crtc_id, DRM_MODE_OBJECT_CRTC);
        if (!obj) {
                DRM_ERROR("cannot find crtc %d\n", crtc_id);
-               r = -EINVAL;
-               goto out;
+               return -EINVAL;
        }
        crtc = obj_to_crtc(obj);
        radeon_crtc = to_radeon_crtc(crtc);
@@ -1253,14 +1248,13 @@ int r100_cs_packet_parse_vline(struct radeon_cs_parser *p)
                        break;
                default:
                        DRM_ERROR("unknown crtc reloc\n");
-                       r = -EINVAL;
-                       goto out;
+                       return -EINVAL;
                }
                ib[h_idx] = header;
                ib[h_idx + 3] |= RADEON_ENG_DISPLAY_SELECT_CRTC1;
        }
-out:
-       return r;
+
+       return 0;
 }
 
 /**
@@ -3621,7 +3615,7 @@ int r100_ib_test(struct radeon_device *rdev)
        if (i < rdev->usec_timeout) {
                DRM_INFO("ib test succeeded in %u usecs\n", i);
        } else {
-               DRM_ERROR("radeon: ib test failed (sracth(0x%04X)=0x%08X)\n",
+               DRM_ERROR("radeon: ib test failed (scratch(0x%04X)=0x%08X)\n",
                          scratch, tmp);
                r = -EINVAL;
        }
@@ -3641,13 +3635,13 @@ int r100_ib_init(struct radeon_device *rdev)
 
        r = radeon_ib_pool_init(rdev);
        if (r) {
-               dev_err(rdev->dev, "failled initializing IB pool (%d).\n", r);
+               dev_err(rdev->dev, "failed initializing IB pool (%d).\n", r);
                r100_ib_fini(rdev);
                return r;
        }
        r = r100_ib_test(rdev);
        if (r) {
-               dev_err(rdev->dev, "failled testing IB (%d).\n", r);
+               dev_err(rdev->dev, "failed testing IB (%d).\n", r);
                r100_ib_fini(rdev);
                return r;
        }
@@ -3803,12 +3797,12 @@ static int r100_startup(struct radeon_device *rdev)
        /* 1M ring buffer */
        r = r100_cp_init(rdev, 1024 * 1024);
        if (r) {
-               dev_err(rdev->dev, "failled initializing CP (%d).\n", r);
+               dev_err(rdev->dev, "failed initializing CP (%d).\n", r);
                return r;
        }
        r = r100_ib_init(rdev);
        if (r) {
-               dev_err(rdev->dev, "failled initializing IB (%d).\n", r);
+               dev_err(rdev->dev, "failed initializing IB (%d).\n", r);
                return r;
        }
        return 0;