public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/2] musb: sunxi: Implement dfu_usb_get_reset()
Date: Sun, 25 Oct 2015 16:55:43 +0200	[thread overview]
Message-ID: <20151025165543.3b0a279b@i7> (raw)
In-Reply-To: <201510251200.09867.marex@denx.de>

On Sun, 25 Oct 2015 12:00:09 +0100
Marek Vasut <marex@denx.de> wrote:

> On Sunday, October 25, 2015 at 05:44:47 AM, Siarhei Siamashka wrote:
> > This is necessary to distinguish between the "dfu-util --detach" and
> > the "dfu-util --reset" requests.
> > 
> > The default weak implementation of dfu_usb_get_reset() unconditionally
> > reboots the device, but we want to be able to continue the boot.scr
> > execution after writing the kernel, fdt and ramdisk to RAM via DFU.
> > 
> > Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
> > ---
> >  drivers/usb/musb-new/sunxi.c | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> > 
> > diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
> > index a146c08..5eb8d19 100644
> > --- a/drivers/usb/musb-new/sunxi.c
> > +++ b/drivers/usb/musb-new/sunxi.c
> > @@ -166,6 +166,17 @@ static void USBC_ConfigFIFO_Base(void)
> >  }
> > 
> >  /*************************************************************************
> > ***** + * Needed for the DFU polling magic
> > +
> > **************************************************************************
> > ****/ +
> > +static u8 last_int_usb;
> > +
> > +bool dfu_usb_get_reset(void)
> > +{
> > +	return !!(last_int_usb & MUSB_INTR_RESET);
> 
> The !! is not needed.

Thanks for your comment, I can surely change this in the updated
version of the patch.

But I'm more interested to know if the USB people are happy with the
current wacky way of interaction between the DFU code and the USB
drivers. Doing dfu_usb_get_reset() polling up to 1000 times in a loop
does not look exactly beautiful:

    https://github.com/u-boot/u-boot/blob/v2015.10/common/cmd_dfu.c#L64

It might be also a bit racy (the RESET interrupt could be potentially
missed sometimes).

-- 
Best regards,
Siarhei Siamashka

  parent reply	other threads:[~2015-10-25 14:55 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-25  4:44 [U-Boot] [PATCH 0/2] Enable DFU for RAM on Allwinner devices Siarhei Siamashka
2015-10-25  4:44 ` [U-Boot] [PATCH 1/2] sunxi: Enable DFU for RAM Siarhei Siamashka
2015-11-20 15:21   ` [U-Boot] [U-Boot,1/2] " Hans de Goede
2015-10-25  4:44 ` [U-Boot] [PATCH 2/2] musb: sunxi: Implement dfu_usb_get_reset() Siarhei Siamashka
2015-10-25 11:00   ` Marek Vasut
2015-10-25 11:46     ` Albert ARIBAUD
2015-10-25 12:40       ` Ian Campbell
2015-10-25 13:22         ` Albert ARIBAUD
2015-10-25 13:29           ` Marek Vasut
2015-10-25 14:46             ` Siarhei Siamashka
2015-10-25 16:08               ` Marek Vasut
2015-10-25 19:24               ` Ian Campbell
2015-10-25 20:48                 ` Siarhei Siamashka
2015-10-25 19:22           ` Ian Campbell
2015-10-25 21:16             ` Albert ARIBAUD
2015-10-26 10:07               ` Ian Campbell
2015-10-26 11:32                 ` Albert ARIBAUD
2015-10-25 14:55     ` Siarhei Siamashka [this message]
2015-10-25 16:09       ` Marek Vasut
2015-10-25 21:19       ` Albert ARIBAUD
2015-10-26 11:18 ` [U-Boot] [PATCH 0/2] Enable DFU for RAM on Allwinner devices Piotr Król
2015-10-27  4:31   ` Siarhei Siamashka
2015-10-27 23:27     ` Piotr Król
2015-10-28  4:49       ` Siarhei Siamashka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151025165543.3b0a279b@i7 \
    --to=siarhei.siamashka@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox