[PATCH] cmd: pxe_utils: sysboot: replace cls command by video_clear in PXE parser

Since the commit bfaa51dd4adf ("cmd: add serial console support for the cls command") the cls command is not enough to clear the video display when ANSI console is activated.
This patch clears the video device with the video_clear() API before to display the bitmap used for the PXE background.
This patch avoids to display the LOGO, activated by default with commit 7a8555d87136 ("video: Show the U-Boot logo by default").
Signed-off-by: Patrick Delaunay patrick.delaunay@foss.st.com ---
boot/pxe_utils.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c index 0c24becae3..115d33b845 100644 --- a/boot/pxe_utils.c +++ b/boot/pxe_utils.c @@ -14,6 +14,7 @@ #include <lcd.h> #include <net.h> #include <fdt_support.h> +#include <video.h> #include <linux/libfdt.h> #include <linux/string.h> #include <linux/ctype.h> @@ -1511,13 +1512,17 @@ void handle_pxe_menu(struct pxe_context *ctx, struct pxe_menu *cfg) void *choice; struct menu *m; int err; + struct udevice *dev;
if (IS_ENABLED(CONFIG_CMD_BMP)) { /* display BMP if available */ if (cfg->bmp) { if (get_relfile(ctx, cfg->bmp, image_load_addr, NULL)) { - if (CONFIG_IS_ENABLED(CMD_CLS)) - run_command("cls", 0); + if (IS_ENABLED(CONFIG_DM_VIDEO)) { + err = uclass_first_device_err(UCLASS_VIDEO, &dev); + if (!err) + video_clear(dev); + } bmp_display(image_load_addr, BMP_ALIGN_CENTER, BMP_ALIGN_CENTER); } else {

Hi,
On 3/22/22 15:10, Patrick Delaunay wrote:
Since the commit bfaa51dd4adf ("cmd: add serial console support for the cls command") the cls command is not enough to clear the video display when ANSI console is activated.
This patch clears the video device with the video_clear() API before to display the bitmap used for the PXE background.
This patch avoids to display the LOGO, activated by default with commit 7a8555d87136 ("video: Show the U-Boot logo by default").
Signed-off-by: Patrick Delaunay patrick.delaunay@foss.st.com
boot/pxe_utils.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c index 0c24becae3..115d33b845 100644 --- a/boot/pxe_utils.c +++ b/boot/pxe_utils.c @@ -14,6 +14,7 @@ #include <lcd.h> #include <net.h> #include <fdt_support.h> +#include <video.h> #include <linux/libfdt.h> #include <linux/string.h> #include <linux/ctype.h> @@ -1511,13 +1512,17 @@ void handle_pxe_menu(struct pxe_context *ctx, struct pxe_menu *cfg) void *choice; struct menu *m; int err;
struct udevice *dev;
if (IS_ENABLED(CONFIG_CMD_BMP)) { /* display BMP if available */ if (cfg->bmp) { if (get_relfile(ctx, cfg->bmp, image_load_addr, NULL)) {
if (CONFIG_IS_ENABLED(CMD_CLS))
run_command("cls", 0);
if (IS_ENABLED(CONFIG_DM_VIDEO)) {
err = uclass_first_device_err(UCLASS_VIDEO, &dev);
if (!err)
video_clear(dev);
} bmp_display(image_load_addr, BMP_ALIGN_CENTER, BMP_ALIGN_CENTER); } else {
need V2, this patch have compilation issues for some defconfig
- unknown uclass_first_device_err => "dm.h" is only included when CONFIG_DM_RNG is activated
- video_clear(dev) => too many argument when CONFIG_DM_VIDEO is not activated
Regards
Patrick
participants (2)
-
Patrick DELAUNAY
-
Patrick Delaunay