Re: [virtio-dev] [PATCH 2/2] drm/virtio: add iommu support.

From: Jiandi An
Date: Fri Sep 21 2018 - 00:58:25 EST




On 09/20/2018 01:32 AM, Gerd Hoffmann wrote:
> Hi,
>
>> void virtio_gpu_cmd_transfer_to_host_2d(struct virtio_gpu_device *vgdev,
>> uint32_t resource_id, uint64_t offset,
>> ...
>> struct virtio_gpu_fbdev *vgfbdev = vgdev->vgfbdev;
>> struct virtio_gpu_framebuffer *fb = &vgfbdev->vgfb;
>> struct virtio_gpu_object *obj = gem_to_virtio_gpu_obj(fb->base.obj[0]);
>
> Ah, right. Should have noticed this on review. You sync the fbcon
> framebuffer unconfitionally ...
>
>> Is there better way to get to the virtio_gpu_object created in the
>> virtio_gpu_mode_dumb_create() path from virtio_gpu_device or somehow from drm_file
>> via gem_handle down at the layer of virtio_gpu_cmd_transfer_to_host()?
>
> Just pass it down, the call sites all know it (see patch just sent).

Tested that patch you sent. Together with this patch it also resolves
the virtio gpu graphical display issue for SEV guest.

Is there a way to optimize the dma_sync_sg to only sync on the pages
being updated instead of all the pages in the obj sgl list every time?

Thanks.
- Jiandi

>
> cheers,
> Gerd
>