]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/gpu/drm/radeon/radeon_cs.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / gpu / drm / radeon / radeon_cs.c
index 6d64a2705f1236012fe596b3cab90d8311117c56..35b5eb8fbe2ae53c0b9109810f903bcef32a9dd6 100644 (file)
@@ -77,13 +77,13 @@ int radeon_cs_parser_relocs(struct radeon_cs_parser *p)
                        p->relocs_ptr[i] = &p->relocs[i];
                        p->relocs[i].robj = p->relocs[i].gobj->driver_private;
                        p->relocs[i].lobj.bo = p->relocs[i].robj;
-                       p->relocs[i].lobj.rdomain = r->read_domains;
                        p->relocs[i].lobj.wdomain = r->write_domain;
+                       p->relocs[i].lobj.rdomain = r->read_domains;
+                       p->relocs[i].lobj.tv.bo = &p->relocs[i].robj->tbo;
                        p->relocs[i].handle = r->handle;
                        p->relocs[i].flags = r->flags;
-                       INIT_LIST_HEAD(&p->relocs[i].lobj.list);
                        radeon_bo_list_add_object(&p->relocs[i].lobj,
-                                               &p->validated);
+                                                 &p->validated);
                }
        }
        return radeon_bo_list_validate(&p->validated);
@@ -189,10 +189,13 @@ static void radeon_cs_parser_fini(struct radeon_cs_parser *parser, int error)
 {
        unsigned i;
 
-       if (!error && parser->ib) {
-               radeon_bo_list_fence(&parser->validated, parser->ib->fence);
-       }
-       radeon_bo_list_unreserve(&parser->validated);
+
+       if (!error && parser->ib)
+               ttm_eu_fence_buffer_objects(&parser->validated,
+                                           parser->ib->fence);
+       else
+               ttm_eu_backoff_reservation(&parser->validated);
+
        if (parser->relocs != NULL) {
                for (i = 0; i < parser->nrelocs; i++) {
                        if (parser->relocs[i].gobj)