sandbox: Provide a way to tell if the video is visible

Sandbox is often run with the display disabled, so even though it has a
video device, it is not being shown. Provide a way to detect this. For
all other platforms, we assume the display is shown, when there is a
video device.

Series-changes: 2
- Add new patch to provide a way to tell if the video is visible

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2025-08-22 07:32:54 -06:00
parent f1d98d202e
commit 1ee02ca627
3 changed files with 35 additions and 0 deletions

View File

@@ -483,6 +483,13 @@ bool sandbox_serial_is_tty(void)
return state->serial_is_tty;
}
bool sandbox_video_is_visible(void)
{
struct sandbox_state *state = state_get_current();
return state->show_lcd;
}
int state_init(void)
{
state = &main_state;

View File

@@ -385,6 +385,13 @@ int state_load_other_fdt(const char **bufp, int *sizep);
*/
bool sandbox_serial_is_tty(void);
/*
* sandbox_video_is_visible() - check if video display is showing
*
* Return: true if display is active, false if just using the serial console
*/
bool sandbox_video_is_visible(void);
/**
* Initialize the test system state
*/

View File

@@ -8,6 +8,9 @@
#define _VIDEO_H_
#include <stdio_dev.h>
#ifdef CONFIG_SANDBOX
#include <asm/state.h>
#endif
struct udevice;
@@ -460,4 +463,22 @@ int video_reserve_from_bloblist(struct video_handoff *ho);
*/
ulong video_get_fb(void);
/**
* video_is_visible() - check if the video display is being used
*
* This does not indicate that there is actually a display, only that if there
* is one, we can assume it is present
*
* Return: true if any display is likely visible, false if not
*/
static inline bool video_is_visible(void)
{
#ifdef CONFIG_SANDBOX
return sandbox_video_is_visible();
#else
/* assume that it is! */
return true;
#endif
}
#endif