From ebdf681eab935af31fa3232e7aac5810537ba183 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Wed, 13 May 2026 19:46:56 +0200 Subject: [PATCH] drivers/graphics/virtio-gpu: Introduce send_request_cursor --- drivers/graphics/virtio-gpud/src/scheme.rs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/drivers/graphics/virtio-gpud/src/scheme.rs b/drivers/graphics/virtio-gpud/src/scheme.rs index 2dd07681f5..2d50ae10d4 100644 --- a/drivers/graphics/virtio-gpud/src/scheme.rs +++ b/drivers/graphics/virtio-gpud/src/scheme.rs @@ -172,6 +172,12 @@ impl VirtGpuAdapter<'_> { Ok(header) } + async fn send_request_cursor(&self, request: Dma) -> Result<(), Error> { + let command = ChainBuilder::new().chain(Buffer::new(&request)).build(); + self.cursor_queue.send(command).await; + Ok(()) + } + async fn get_display_info(&self) -> Result, Error> { let header = Dma::new(ControlHeader::with_ty(CommandTy::GetDisplayInfo))?; @@ -228,19 +234,20 @@ impl VirtGpuAdapter<'_> { }); //Update the cursor position - let request = Dma::new(UpdateCursor::update_cursor(x, y, hot_x, hot_y, cursor.id)).unwrap(); futures::executor::block_on(async { - let command = ChainBuilder::new().chain(Buffer::new(&request)).build(); - self.cursor_queue.send(command).await; + self.send_request_cursor( + Dma::new(UpdateCursor::update_cursor(x, y, hot_x, hot_y, cursor.id)).unwrap(), + ) + .await + .unwrap(); }); } fn move_cursor(&mut self, x: i32, y: i32) { - let request = Dma::new(MoveCursor::move_cursor(x, y)).unwrap(); - futures::executor::block_on(async { - let command = ChainBuilder::new().chain(Buffer::new(&request)).build(); - self.cursor_queue.send(command).await; + self.send_request_cursor(Dma::new(MoveCursor::move_cursor(x, y)).unwrap()) + .await + .unwrap(); }); }