From c4908a51144d3df9ece99442603554cec406e82f Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Tue, 17 Mar 2026 20:06:21 +0100 Subject: [PATCH] drivers/graphics: Remove UPDATE_PLANE --- Cargo.lock | 1 - drivers/graphics/driver-graphics/src/lib.rs | 51 --------------------- drivers/graphics/graphics-ipc/Cargo.toml | 1 - drivers/graphics/graphics-ipc/src/v2.rs | 28 ----------- 4 files changed, 81 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 855971a8df..35f19cf804 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -938,7 +938,6 @@ dependencies = [ "log", "plain", "redox-ioctl", - "redox_syscall 0.7.3", ] [[package]] diff --git a/drivers/graphics/driver-graphics/src/lib.rs b/drivers/graphics/driver-graphics/src/lib.rs index 1071341352..376bce72e8 100644 --- a/drivers/graphics/driver-graphics/src/lib.rs +++ b/drivers/graphics/driver-graphics/src/lib.rs @@ -1,5 +1,4 @@ #![feature(macro_metavar_expr)] -#![feature(slice_as_array)] use std::collections::{BTreeMap, HashMap}; use std::ffi::c_char; @@ -7,7 +6,6 @@ use std::fmt::Debug; use std::fs::File; use std::io::{self, Write}; use std::mem; -use std::mem::transmute; use std::os::fd::BorrowedFd; use std::sync::{Arc, Mutex}; @@ -953,55 +951,6 @@ impl SchemeSync for GraphicsSchemeInner { data.set_modifier([0; 4]); Ok(0) }), - ipc::UPDATE_PLANE => { - if payload.len() < size_of::() { - return Err(Error::new(EINVAL)); - } - let payload = unsafe { - transmute::<&mut [u8; size_of::()], &mut ipc::UpdatePlane>( - payload.as_mut_array().unwrap(), - ) - }; - - let display_id = payload.display_id; - let Some(crtc) = self.objects.crtcs().nth(display_id) else { - return Err(Error::new(EINVAL)); - }; - - let fb = if payload.fb_id == 0 { - None - } else { - Some(self.objects.get_framebuffer(KmsObjectId(payload.fb_id))?) - }; - - self.vts.get_mut(vt).unwrap().display_fbs[display_id] = if payload.fb_id == 0 { - None - } else { - Some(KmsObjectId(payload.fb_id)) - }; - - if *vt == self.active_vt { - crtc.lock().unwrap().fb_id = KmsObjectId(payload.fb_id); - - let mode = - fb.map(|fb| KmsConnector::<()>::modeinfo_for_size(fb.width, fb.height)); - - self.adapter.set_crtc( - &self.objects, - crtc, - &[self.objects.connector_ids()[display_id]], - mode, - fb, - payload.damage, - ); - - crtc.lock().unwrap().fb_id = KmsObjectId(payload.fb_id); - crtc.lock().unwrap().target_connectors = - vec![self.objects.connector_ids()[display_id]]; - } - - Ok(size_of::()) - } _ => return Err(Error::new(EINVAL)), }, } diff --git a/drivers/graphics/graphics-ipc/Cargo.toml b/drivers/graphics/graphics-ipc/Cargo.toml index 4628ed43f5..cce499c77b 100644 --- a/drivers/graphics/graphics-ipc/Cargo.toml +++ b/drivers/graphics/graphics-ipc/Cargo.toml @@ -10,7 +10,6 @@ log.workspace = true libredox.workspace = true plain = "0.2" redox-ioctl.workspace = true -redox_syscall.workspace = true common = { path = "../../common" } diff --git a/drivers/graphics/graphics-ipc/src/v2.rs b/drivers/graphics/graphics-ipc/src/v2.rs index 60534b8da4..9c6a340c72 100644 --- a/drivers/graphics/graphics-ipc/src/v2.rs +++ b/drivers/graphics/graphics-ipc/src/v2.rs @@ -1,12 +1,10 @@ use std::fs::File; use std::io; use std::os::fd::{AsFd, BorrowedFd}; -use std::os::unix::io::AsRawFd; use drm::control::connector::{self, State}; use drm::control::Device as _; use drm::{Device as _, DriverCapability}; -use syscall::CallFlags; pub use crate::common::Damage; @@ -43,34 +41,8 @@ impl V2GraphicsHandle { } Err(io::Error::other("no connected display")) } - - pub fn update_plane(&self, display_id: usize, fb_id: u32, damage: Damage) -> io::Result<()> { - let cmd = ipc::UpdatePlane { - display_id, - fb_id, - damage, - }; - libredox::call::call_wo( - self.file.as_raw_fd() as usize, - unsafe { plain::as_bytes(&cmd) }, - CallFlags::empty(), - &[ipc::UPDATE_PLANE, 0, 0], - )?; - Ok(()) - } } pub mod ipc { - use crate::common::Damage; - pub use redox_ioctl::drm::*; - - // FIXME replace these with proper drm interfaces and update orbital - pub const UPDATE_PLANE: u64 = 0x12345670; - #[repr(C, packed)] - pub struct UpdatePlane { - pub display_id: usize, - pub fb_id: u32, - pub damage: Damage, - } }