From 59d951ed6a72e1750e5e0e48feafb886f3e3bdf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Fri, 15 Nov 2024 11:12:36 +0100 Subject: [PATCH] sculpt_manager: start fb on second CPU on Pocket With this commit the fb driver is started on the second CPU on the MNT Pocket Reform to decouple it from the other components started on the first CPU during the system's boot-up and mitigates bring-up issues with this driver that result in an often non-working display. Issue #5378. --- repos/gems/src/app/sculpt_manager/driver/fb.h | 6 +++++- repos/gems/src/app/sculpt_manager/main.cc | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/repos/gems/src/app/sculpt_manager/driver/fb.h b/repos/gems/src/app/sculpt_manager/driver/fb.h index 9ba70766dd..4962d7489c 100644 --- a/repos/gems/src/app/sculpt_manager/driver/fb.h +++ b/repos/gems/src/app/sculpt_manager/driver/fb.h @@ -164,12 +164,16 @@ struct Sculpt::Fb_driver : private Noncopyable registry, "vesa_fb", Priority::MULTIMEDIA, Ram_quota { 8*1024*1024 }, Cap_quota { 110 }); + Affinity::Location const fb_affinity = + board_info.soc.fb_on_dedicated_cpu ? Affinity::Location { 1, 0, 1, 1 } + : Affinity::Location { }; + _soc_fb.conditional(board_info.soc.fb && board_info.options.display, registry, Child_state::Attr { .name = "fb", .priority = Priority::MULTIMEDIA, .cpu_quota = 20, - .location = { }, + .location = fb_affinity, .initial = { Ram_quota { 16*1024*1024 }, Cap_quota { 250 } }, .max = { } } ); diff --git a/repos/gems/src/app/sculpt_manager/main.cc b/repos/gems/src/app/sculpt_manager/main.cc index 956dc4d2f8..6447bb52aa 100644 --- a/repos/gems/src/app/sculpt_manager/main.cc +++ b/repos/gems/src/app/sculpt_manager/main.cc @@ -302,7 +302,7 @@ struct Sculpt::Main : Input_event_handler, .modem = false, .nic = _mnt_reform || _mnt_pocket, - .fb_on_dedicated_cpu = false + .fb_on_dedicated_cpu = _mnt_pocket }; Drivers _drivers { _env, _child_states, *this, *this };