summary refs log tree commit diff
path: root/devices/src/virtio/gpu/mod.rs
diff options
context:
space:
mode:
authorDaniel Verkamp <dverkamp@chromium.org>2019-11-01 10:01:23 -0700
committerCommit Bot <commit-bot@chromium.org>2019-11-18 07:43:03 +0000
commit24eeed2b6fb6306f404238d1343db4b55aa9beef (patch)
tree0a347754994d470b3df3e3811430b4da6758ea17 /devices/src/virtio/gpu/mod.rs
parente7c46cad4150ecb18a0832a61042522974543938 (diff)
downloadcrosvm-24eeed2b6fb6306f404238d1343db4b55aa9beef.tar
crosvm-24eeed2b6fb6306f404238d1343db4b55aa9beef.tar.gz
crosvm-24eeed2b6fb6306f404238d1343db4b55aa9beef.tar.bz2
crosvm-24eeed2b6fb6306f404238d1343db4b55aa9beef.tar.lz
crosvm-24eeed2b6fb6306f404238d1343db4b55aa9beef.tar.xz
crosvm-24eeed2b6fb6306f404238d1343db4b55aa9beef.tar.zst
crosvm-24eeed2b6fb6306f404238d1343db4b55aa9beef.zip
devices: virtio: pass Interrupt to activate()
Factor out the common creation of struct Interrupt.

No functional change.

BUG=chromium:854765
TEST=./build_test

Change-Id: Idf8804771ba1af5181818f643e15e1b42918258a
Signed-off-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1898268
Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'devices/src/virtio/gpu/mod.rs')
-rw-r--r--devices/src/virtio/gpu/mod.rs17
1 files changed, 3 insertions, 14 deletions
diff --git a/devices/src/virtio/gpu/mod.rs b/devices/src/virtio/gpu/mod.rs
index 210f815..c9cd5cc 100644
--- a/devices/src/virtio/gpu/mod.rs
+++ b/devices/src/virtio/gpu/mod.rs
@@ -14,11 +14,8 @@ use std::num::NonZeroU8;
 use std::os::unix::io::{AsRawFd, RawFd};
 use std::path::PathBuf;
 use std::rc::Rc;
-use std::sync::atomic::AtomicUsize;
-use std::sync::Arc;
 use std::thread;
 use std::time::Duration;
-use sync::Mutex;
 
 use data_model::*;
 
@@ -38,7 +35,7 @@ use super::{
 
 use self::backend::Backend;
 use self::protocol::*;
-use crate::pci::{MsixConfig, PciBarConfiguration, PciBarPrefetchable, PciBarRegionType};
+use crate::pci::{PciBarConfiguration, PciBarPrefetchable, PciBarRegionType};
 
 use vm_control::VmMemoryControlRequestSocket;
 
@@ -822,10 +819,7 @@ impl VirtioDevice for Gpu {
     fn activate(
         &mut self,
         mem: GuestMemory,
-        interrupt_evt: EventFd,
-        interrupt_resample_evt: EventFd,
-        msix_config: Option<Arc<Mutex<MsixConfig>>>,
-        interrupt_status: Arc<AtomicUsize>,
+        interrupt: Interrupt,
         mut queues: Vec<Queue>,
         mut queue_evts: Vec<EventFd>,
     ) {
@@ -871,12 +865,7 @@ impl VirtioDevice for Gpu {
                             };
 
                         Worker {
-                            interrupt: Interrupt::new(
-                                interrupt_status,
-                                interrupt_evt,
-                                interrupt_resample_evt,
-                                msix_config,
-                            ),
+                            interrupt,
                             exit_evt,
                             mem,
                             ctrl_queue,