> @@ -311,10 +311,8 @@ qxl_bo_physical_address(struct qxl_device *qdev, struct qxl_bo *bo, > (bo->tbo.mem.mem_type == TTM_PL_VRAM) > ? &qdev->main_slot : &qdev->surfaces_slot; > > - WARN_ON_ONCE((bo->tbo.offset & slot->gpu_offset) != slot->gpu_offset); > - > - /* TODO - need to hold one of the locks to read tbo.offset */ > - return slot->high_bits | (bo->tbo.offset - slot->gpu_offset + offset); > + return slot->high_bits | ((bo->tbo.mem.start << PAGE_SHIFT) + > + slot->gpu_offset + offset); > } --verbose please. I don't get the logic behind this change. The other chunks look sane, calculating slot->gpu_offset in setup_slot() certainly makes sense. cheers, Gerd _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel