diff options
author | Gurchetan Singh <gurchetansingh@chromium.org> | 2020-01-22 17:59:22 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-03-23 20:37:12 +0000 |
commit | 83fc5c49ba930a62ef1f4d93bc2004d779b6d16f (patch) | |
tree | 514d89cc061e6b34acaf5cbe10c254368729976a /devices/src/virtio/gpu/mod.rs | |
parent | 151af70ac9778f5247f6fd58fe8b20c089604429 (diff) | |
download | crosvm-83fc5c49ba930a62ef1f4d93bc2004d779b6d16f.tar crosvm-83fc5c49ba930a62ef1f4d93bc2004d779b6d16f.tar.gz crosvm-83fc5c49ba930a62ef1f4d93bc2004d779b6d16f.tar.bz2 crosvm-83fc5c49ba930a62ef1f4d93bc2004d779b6d16f.tar.lz crosvm-83fc5c49ba930a62ef1f4d93bc2004d779b6d16f.tar.xz crosvm-83fc5c49ba930a62ef1f4d93bc2004d779b6d16f.tar.zst crosvm-83fc5c49ba930a62ef1f4d93bc2004d779b6d16f.zip |
devices: gpu: complete resource V2 rebase
* Remove RESOURCE_V2_UNREF * Add RESOURCE_MAP/RESOURCE_UNMAP to enable resources without guest storage that don't need to be mapped directly either BUG=chromium:924405 TEST=compile and test Change-Id: I10d6cd120d86131fa7ed8917ddad25cdb99ae50c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2015587 Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Auto-Submit: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org> Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Diffstat (limited to 'devices/src/virtio/gpu/mod.rs')
-rw-r--r-- | devices/src/virtio/gpu/mod.rs | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/devices/src/virtio/gpu/mod.rs b/devices/src/virtio/gpu/mod.rs index d211768..93d004f 100644 --- a/devices/src/virtio/gpu/mod.rs +++ b/devices/src/virtio/gpu/mod.rs @@ -284,14 +284,17 @@ trait Backend { _flags: u32, _size: u64, _memory_id: u64, - _pci_addr: u64, _vecs: Vec<(GuestAddress, usize)>, _mem: &GuestMemory, ) -> GpuResponse { GpuResponse::ErrUnspec } - fn resource_v2_unref(&mut self, _resource_id: u32) -> GpuResponse { + fn resource_map(&mut self, _resource_id: u32, _pci_addr: u64) -> GpuResponse { + GpuResponse::ErrUnspec + } + + fn resource_unmap(&mut self, _resource_id: u32) -> GpuResponse { GpuResponse::ErrUnspec } } @@ -606,7 +609,6 @@ impl Frontend { let ctx_id = info.hdr.ctx_id.to_native(); let flags = info.flags.to_native(); let size = info.size.to_native(); - let pci_addr = info.pci_addr.to_native(); let memory_id = info.memory_id.to_native(); let entry_count = info.nr_entries.to_native(); if entry_count > VIRTIO_GPU_MAX_IOVEC_ENTRIES @@ -632,15 +634,19 @@ impl Frontend { ctx_id, flags, size, - pci_addr, memory_id, vecs, mem, ) } - GpuCommand::ResourceV2Unref(info) => { + GpuCommand::ResourceMap(info) => { + let resource_id = info.resource_id.to_native(); + let offset = info.offset.to_native(); + self.backend.resource_map(resource_id, offset) + } + GpuCommand::ResourceUnmap(info) => { let resource_id = info.resource_id.to_native(); - self.backend.resource_v2_unref(resource_id) + self.backend.resource_unmap(resource_id) } } } |