]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/radeon/r600_cs.c
Merge branch 'linus' into perf/urgent
[karo-tx-linux.git] / drivers / gpu / drm / radeon / r600_cs.c
index b8e12af304a9657db9b5b906c2df1e289edb46f9..0133f5f09bd6c71cc95d2472beaacef51c3ffa2a 100644 (file)
@@ -345,7 +345,7 @@ static int r600_cs_track_validate_cb(struct radeon_cs_parser *p, int i)
        u32 height, height_align, pitch, pitch_align, depth_align;
        u64 base_offset, base_align;
        struct array_mode_checker array_check;
-       volatile u32 *ib = p->ib->ptr;
+       volatile u32 *ib = p->ib.ptr;
        unsigned array_mode;
        u32 format;
 
@@ -471,7 +471,7 @@ static int r600_cs_track_validate_db(struct radeon_cs_parser *p)
        u64 base_offset, base_align;
        struct array_mode_checker array_check;
        int array_mode;
-       volatile u32 *ib = p->ib->ptr;
+       volatile u32 *ib = p->ib.ptr;
 
 
        if (track->db_bo == NULL) {
@@ -961,7 +961,7 @@ static int r600_cs_packet_parse_vline(struct radeon_cs_parser *p)
        uint32_t header, h_idx, reg, wait_reg_mem_info;
        volatile uint32_t *ib;
 
-       ib = p->ib->ptr;
+       ib = p->ib.ptr;
 
        /* parse the WAIT_REG_MEM */
        r = r600_cs_packet_parse(p, &wait_reg_mem, p->idx);
@@ -1110,7 +1110,7 @@ static int r600_cs_check_reg(struct radeon_cs_parser *p, u32 reg, u32 idx)
        m = 1 << ((reg >> 2) & 31);
        if (!(r600_reg_safe_bm[i] & m))
                return 0;
-       ib = p->ib->ptr;
+       ib = p->ib.ptr;
        switch (reg) {
        /* force following reg to 0 in an attempt to disable out buffer
         * which will need us to better understand how it works to perform
@@ -1714,7 +1714,7 @@ static int r600_packet3_check(struct radeon_cs_parser *p,
        u32 idx_value;
 
        track = (struct r600_cs_track *)p->track;
-       ib = p->ib->ptr;
+       ib = p->ib.ptr;
        idx = pkt->idx + 1;
        idx_value = radeon_get_ib_value(p, idx);
 
@@ -2249,8 +2249,8 @@ int r600_cs_parse(struct radeon_cs_parser *p)
                }
        } while (p->idx < p->chunks[p->chunk_ib_idx].length_dw);
 #if 0
-       for (r = 0; r < p->ib->length_dw; r++) {
-               printk(KERN_INFO "%05d  0x%08X\n", r, p->ib->ptr[r]);
+       for (r = 0; r < p->ib.length_dw; r++) {
+               printk(KERN_INFO "%05d  0x%08X\n", r, p->ib.ptr[r]);
                mdelay(1);
        }
 #endif
@@ -2298,7 +2298,6 @@ int r600_cs_legacy(struct drm_device *dev, void *data, struct drm_file *filp,
 {
        struct radeon_cs_parser parser;
        struct radeon_cs_chunk *ib_chunk;
-       struct radeon_ib fake_ib;
        struct r600_cs_track *track;
        int r;
 
@@ -2314,9 +2313,8 @@ int r600_cs_legacy(struct drm_device *dev, void *data, struct drm_file *filp,
        parser.dev = &dev->pdev->dev;
        parser.rdev = NULL;
        parser.family = family;
-       parser.ib = &fake_ib;
        parser.track = track;
-       fake_ib.ptr = ib;
+       parser.ib.ptr = ib;
        r = radeon_cs_parser_init(&parser, data);
        if (r) {
                DRM_ERROR("Failed to initialize parser !\n");
@@ -2333,8 +2331,8 @@ int r600_cs_legacy(struct drm_device *dev, void *data, struct drm_file *filp,
         * input memory (cached) and write to the IB (which can be
         * uncached). */
        ib_chunk = &parser.chunks[parser.chunk_ib_idx];
-       parser.ib->length_dw = ib_chunk->length_dw;
-       *l = parser.ib->length_dw;
+       parser.ib.length_dw = ib_chunk->length_dw;
+       *l = parser.ib.length_dw;
        r = r600_cs_parse(&parser);
        if (r) {
                DRM_ERROR("Invalid command stream !\n");