* [U-Boot] [PATCH resend 0/2] config_distro_bootcmd: Avoid usb getting scanned tw @ 2014-12-12 17:50 Hans de Goede 2014-12-12 17:50 ` [U-Boot] [PATCH resend 1/2] config_distro_bootcmd.h: Allow user to indicate that usb is inited in preboot Hans de Goede 2014-12-12 17:50 ` [U-Boot] [PATCH resend 2/2] sunxi: Avoid usb getting scanned twice when using usb kbd + usb boot Hans de Goede 0 siblings, 2 replies; 6+ messages in thread From: Hans de Goede @ 2014-12-12 17:50 UTC (permalink / raw) To: u-boot Hi All, I did not get any feedback on the original posting of these series, can I please get some feedback ? If I can get acks for this from people involved in config_distro_bootcmd (Warren, Dennis ?) then I can queue this up in u-boot-sunxi/next unless people want to see this merged through some other tree. Regards, Hans ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH resend 1/2] config_distro_bootcmd.h: Allow user to indicate that usb is inited in preboot 2014-12-12 17:50 [U-Boot] [PATCH resend 0/2] config_distro_bootcmd: Avoid usb getting scanned tw Hans de Goede @ 2014-12-12 17:50 ` Hans de Goede 2014-12-12 18:10 ` Stephen Warren 2014-12-18 9:00 ` [U-Boot] [U-Boot, resend, " Hans de Goede 2014-12-12 17:50 ` [U-Boot] [PATCH resend 2/2] sunxi: Avoid usb getting scanned twice when using usb kbd + usb boot Hans de Goede 1 sibling, 2 replies; 6+ messages in thread From: Hans de Goede @ 2014-12-12 17:50 UTC (permalink / raw) To: u-boot When using usb-keyboard support, typically usb will already get started from preboot. In this case doing it again in the bootcmd is undesirable. Allow the user of config_distro_bootcmd to indicate that usb is inited in preboot through the user setting BOOTENV_PREBOOT_INITS_USB. Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- include/config_distro_bootcmd.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h index be616e8..fd01a34 100644 --- a/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h @@ -91,7 +91,11 @@ #ifdef CONFIG_CMD_USB #define BOOTENV_RUN_USB_INIT "run usb_init; " +#ifndef BOOTENV_PREBOOT_INITS_USB #define BOOTENV_SET_USB_NEED_INIT "setenv usb_need_init; " +#else +#define BOOTENV_SET_USB_NEED_INIT "setenv usb_need_init false; " +#endif #define BOOTENV_SHARED_USB \ "usb_init=" \ "if ${usb_need_init}; then " \ -- 2.1.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH resend 1/2] config_distro_bootcmd.h: Allow user to indicate that usb is inited in preboot 2014-12-12 17:50 ` [U-Boot] [PATCH resend 1/2] config_distro_bootcmd.h: Allow user to indicate that usb is inited in preboot Hans de Goede @ 2014-12-12 18:10 ` Stephen Warren 2014-12-18 9:00 ` [U-Boot] [U-Boot, resend, " Hans de Goede 1 sibling, 0 replies; 6+ messages in thread From: Stephen Warren @ 2014-12-12 18:10 UTC (permalink / raw) To: u-boot On 12/12/2014 10:50 AM, Hans de Goede wrote: > When using usb-keyboard support, typically usb will already get started from > preboot. In this case doing it again in the bootcmd is undesirable. > > Allow the user of config_distro_bootcmd to indicate that usb is inited in > preboot through the user setting BOOTENV_PREBOOT_INITS_USB. Sorry, I don't recall seeing this whenever it was posted before. Conceptually this seems fine. One issue it has is with the following sequence: PREBOOT inits USB, no USB drive found (not plugged in) User CTRL-Cs boot sequence User plugs in USB drive User runs "boot" or "run bootcmd" -> USB not re-detected, so system doesn't boot from USB. Perhaps the best way to solve this is to have a flag controlling whether BOOTENV_SET_USB_NEED_INIT sets $usb_need_init? preboot: setenv usb_do_set_usb_need_init false BOOTENV_SET_USB_NEED_INIT: # Normally unset -> true # In your case, preboot sets this to false if ${usb_do_set_usb_need_init}; then setenv usb_need_init else # Next time $boot is run, this will be unset -> true # so we will re-init USB setenv usb_do_set_usb_need_init # This time through, we skip USB init setenv usb_need_init false endif Of course, that doesn't solve the problem of the user aborting auto-boot before it's ever run once. Perhaps better would be a flag that BOOTENV_SET_USB_NEED_INIT can use to distinguish auto-boot and manual invocation, i.e.: preboot: setenv usb_do_set_usb_need_init false BOOTENV_SET_USB_NEED_INIT: # U-Boot C code sets this appropriatelyL if ${auto_boot}; then # Auto case: Init USB unless preboot set a flag if ${usb_do_set_usb_need_init}; then setenv usb_need_init else # Next time $boot is run, this will be unset -> true # so we will re-init USB setenv usb_do_set_usb_need_init # This time through, we skip USB init setenv usb_need_init false endif else # Manual case: Always init USB setenv usb_need_init endif Or do we just assume that if the user plugs in a new USB device after boot, they must manually run USB initialization? If so, we cam simplify the existing $usb_need_init a bit... ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [U-Boot, resend, 1/2] config_distro_bootcmd.h: Allow user to indicate that usb is inited in preboot 2014-12-12 17:50 ` [U-Boot] [PATCH resend 1/2] config_distro_bootcmd.h: Allow user to indicate that usb is inited in preboot Hans de Goede 2014-12-12 18:10 ` Stephen Warren @ 2014-12-18 9:00 ` Hans de Goede 1 sibling, 0 replies; 6+ messages in thread From: Hans de Goede @ 2014-12-18 9:00 UTC (permalink / raw) To: u-boot On 12/12/2014 Stephen Warren wrote: > On 12-12-14 10:50 AM, Hans de Goede wrote: > > When using usb-keyboard support, typically usb will already get started from > > preboot. In this case doing it again in the bootcmd is undesirable. > > > > Allow the user of config_distro_bootcmd to indicate that usb is inited in > > preboot through the user setting BOOTENV_PREBOOT_INITS_USB. > >Sorry, I don't recall seeing this whenever it was posted before. > > Conceptually this seems fine. One issue it has is with the following > sequence: > > PREBOOT inits USB, no USB drive found (not plugged in) > User CTRL-Cs boot sequence > User plugs in USB drive > User runs "boot" or "run bootcmd" > -> USB not re-detected, so system doesn't boot from USB. > > Perhaps the best way to solve this is to have a flag controlling whether > BOOTENV_SET_USB_NEED_INIT sets $usb_need_init? > > preboot: > setenv usb_do_set_usb_need_init false > > BOOTENV_SET_USB_NEED_INIT: > # Normally unset -> true > # In your case, preboot sets this to false > if ${usb_do_set_usb_need_init}; then > setenv usb_need_init > else > # Next time $boot is run, this will be unset -> true > # so we will re-init USB > setenv usb_do_set_usb_need_init > # This time through, we skip USB init > setenv usb_need_init false > endif > > Of course, that doesn't solve the problem of the user aborting auto-boot > before it's ever run once. Perhaps better would be a flag that > BOOTENV_SET_USB_NEED_INIT can use to distinguish auto-boot and manual > invocation, i.e.: > > preboot: > setenv usb_do_set_usb_need_init false > > BOOTENV_SET_USB_NEED_INIT: > # U-Boot C code sets this appropriatelyL > if ${auto_boot}; then > # Auto case: Init USB unless preboot set a flag > if ${usb_do_set_usb_need_init}; then > setenv usb_need_init > else > # Next time $boot is run, this will be unset -> true > # so we will re-init USB > setenv usb_do_set_usb_need_init > # This time through, we skip USB init > setenv usb_need_init false > endif > else > # Manual case: Always init USB > setenv usb_need_init > endif > > Or do we just assume that if the user plugs in a new USB device after > boot, they must manually run USB initialization? If so, we cam simplify > the existing $usb_need_init a bit... Looking at all the extra code (and possible bugs / problems that code may introduce), I think that it makes sense to just expect the user to run "usb reset" after plugging in a new device. Regards, Hans ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH resend 2/2] sunxi: Avoid usb getting scanned twice when using usb kbd + usb boot 2014-12-12 17:50 [U-Boot] [PATCH resend 0/2] config_distro_bootcmd: Avoid usb getting scanned tw Hans de Goede 2014-12-12 17:50 ` [U-Boot] [PATCH resend 1/2] config_distro_bootcmd.h: Allow user to indicate that usb is inited in preboot Hans de Goede @ 2014-12-12 17:50 ` Hans de Goede 2014-12-13 16:52 ` Ian Campbell 1 sibling, 1 reply; 6+ messages in thread From: Hans de Goede @ 2014-12-12 17:50 UTC (permalink / raw) To: u-boot Use the new BOOTENV_PREBOOT_INITS_USB define to avoid usb being scanned twice when using usb kbd + usb boot. Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- include/configs/sunxi-common.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h index 3f890b2..7b958f8 100644 --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -302,12 +302,11 @@ func(PXE, pxe, na) \ func(DHCP, dhcp, na) -#include <config_distro_bootcmd.h> - #ifdef CONFIG_USB_KEYBOARD #define CONSOLE_STDIN_SETTINGS \ "preboot=usb start\0" \ "stdin=serial,usbkbd\0" +#define BOOTENV_PREBOOT_INITS_USB #else #define CONSOLE_STDIN_SETTINGS \ "stdin=serial\0" @@ -327,6 +326,8 @@ CONSOLE_STDIN_SETTINGS \ CONSOLE_STDOUT_SETTINGS +#include <config_distro_bootcmd.h> + #define CONFIG_EXTRA_ENV_SETTINGS \ CONSOLE_ENV_SETTINGS \ MEM_LAYOUT_ENV_SETTINGS \ -- 2.1.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH resend 2/2] sunxi: Avoid usb getting scanned twice when using usb kbd + usb boot 2014-12-12 17:50 ` [U-Boot] [PATCH resend 2/2] sunxi: Avoid usb getting scanned twice when using usb kbd + usb boot Hans de Goede @ 2014-12-13 16:52 ` Ian Campbell 0 siblings, 0 replies; 6+ messages in thread From: Ian Campbell @ 2014-12-13 16:52 UTC (permalink / raw) To: u-boot On Fri, 2014-12-12 at 18:50 +0100, Hans de Goede wrote: > Use the new BOOTENV_PREBOOT_INITS_USB define to avoid usb being scanned twice > when using usb kbd + usb boot. > > Signed-off-by: Hans de Goede <hdegoede@redhat.com> Subject to Dennis and/or Stephen acking the first patch from the sunxi point of view this one is: Acked-by: Ian Campbell <ijc@hellion.org.uk> ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-12-18 9:00 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-12-12 17:50 [U-Boot] [PATCH resend 0/2] config_distro_bootcmd: Avoid usb getting scanned tw Hans de Goede 2014-12-12 17:50 ` [U-Boot] [PATCH resend 1/2] config_distro_bootcmd.h: Allow user to indicate that usb is inited in preboot Hans de Goede 2014-12-12 18:10 ` Stephen Warren 2014-12-18 9:00 ` [U-Boot] [U-Boot, resend, " Hans de Goede 2014-12-12 17:50 ` [U-Boot] [PATCH resend 2/2] sunxi: Avoid usb getting scanned twice when using usb kbd + usb boot Hans de Goede 2014-12-13 16:52 ` Ian Campbell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox