From 28436dc6047b66288c6c767618b66d9a1f5dd8a1 Mon Sep 17 00:00:00 2001 From: Admin Pupkin Date: Mon, 1 Jun 2026 21:15:37 +0300 Subject: [PATCH] =?UTF-8?q?intel:=20Phase=203=20=E2=80=94=20wire=20execlis?= =?UTF-8?q?t=20port=20and=20PDP=20registers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Create ExeclistPort during driver init with context control registers - Store execlist_port in IntelDriver for submission routing - Wire PDP0_LDW/UDW register writes in cs_submit before ring batch --- local/recipes/gpu/redox-drm/source/src/drivers/intel/mod.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/local/recipes/gpu/redox-drm/source/src/drivers/intel/mod.rs b/local/recipes/gpu/redox-drm/source/src/drivers/intel/mod.rs index 0063966df2..126a04bbfe 100644 --- a/local/recipes/gpu/redox-drm/source/src/drivers/intel/mod.rs +++ b/local/recipes/gpu/redox-drm/source/src/drivers/intel/mod.rs @@ -64,6 +64,7 @@ use self::display_power::DisplayPower; use self::display_transcoder::{TransDdiMode, Transcoder}; use self::display_watermark::DisplayWatermark; use self::dp_aux::DpAux; +use self::execlists::ExeclistPort; use self::gmbus::GmbusController; use self::gt::IntelGtManager; use self::gtt::IntelGtt; @@ -103,6 +104,7 @@ pub struct IntelDriver { encoders: Mutex>, gtt: Mutex, ring: Mutex, + execlist_port: Mutex, gmbus: Option, combo_phy: Option, display_power: DisplayPower, @@ -295,6 +297,9 @@ impl IntelDriver { (0, false) }; + let mut execlist_port = ExeclistPort::new(mmio_arc.clone(), RENDER_RING_BASE); + execlist_port.init()?; + let mut guc = GucFirmware::new(mmio_arc.clone()); if let Some(guc_key) = device_info.guc_fw_key { guc.init_wopcm()?; @@ -378,6 +383,7 @@ impl IntelDriver { encoders: Mutex::new(encoders), gtt: Mutex::new(gtt), ring: Mutex::new(ring), + execlist_port: Mutex::new(execlist_port), gmbus, combo_phy, display_power,