On Fri, Sep 19, 2025 at 12:29:29PM +0900, Ryosuke Yasuoka wrote: > Add drm_panic support for stdu in vmwgfx. This patch was tested in a VM > with VMSVGA on Virtual Box. > > Based on the feedback for v2 patch, I've made the following updates in > my v3 patch. > - Use MEMREMAP_WB | MEMREMAP_DEC flags for memremap > - Use vmw_priv->initial_height and initial_width for sb and VRAM > - Move all panic related functions to the vmwgfx_kms.c file > - Ensure if the current display unit is 0 in get_scanout_buffer() > > I did not apply all of Ian's feedback in this v3 patch for the reasons > outlined below. > > > 1. You can call `vmw_kms_write_svga` directly in `panic_flush`. There > > is no need to mark the buffer as dirty or send any commands. > > In my test environment (VirtualBox), the panic screen appears unstably > without dirty command's submission. Without it, the screen sometimes > appears immediately as expected, and at other times, there's a delay > of 15 to 20 seconds. I've also observed that it sometimes only appears > after switching between the VirtualBox console window and other windows. > > With command submission, we can stably get a panic screen. Even if it > fails, we may get the panic screen ultimately. Therefore, I think we > should retain vmw_kms_panic_do_bo_dirty() to submit commands. > > > 2. The format should be hardcoded to RGB565 to minimize the risk of > > overrunning VRAM. Adjust the pitch accordingly to 2x width. > > While it's possible to output the panic screen with RGB565 by adjusting > pitch and width, and BPP on the (virtual) hardware side, this approach > causes debugfs to fail. It appears that the BPP must be reset after the > panic screen is displayed, and there is no way to wait for the screen > to be fully displayed within the drm_panic handler code. > > In my test environment, as VRAM has enough space even when using > XRGB8888 (32 bits), I think the risk of overruning VRAM is low. So I've > kept the default format and CPP size. > > v1: > https://lore.kernel.org/all/[email protected]/ > > v2: > https://lore.kernel.org/all/[email protected]/ > - Map a scanout_buffer to VRAM in .get_scanout_buffer > - And then write to VRAM directly using fifo in legacy mode to avoid > allocations or command submissions. > > > Ryosuke Yasuoka (1): > drm/vmwgfx: add drm_panic support for stdu mode > > drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 4 + > drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 165 +++++++++++++++++++++++++++ > drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 2 + > 3 files changed, 171 insertions(+) > > > base-commit: d41c79838c47bc822534cd53628fe5e0f8ad2424 > -- > 2.51.0
Hi all, This is a gentle reminder for this v3 patch. I would appreciate any feedback when you have a chance. Ian, your feedback on v1 and v2 were very helpful. I would appreciate it if you could take another look when you have a moment. Any comments are welcome. Thank you Ryosuke
