All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] usb: kbd: Fix key repeat not always using
Date: Wed, 13 May 2015 22:03:47 +0200	[thread overview]
Message-ID: <201505132203.47747.marex@denx.de> (raw)
In-Reply-To: <555347AA.8040500@redhat.com>

On Wednesday, May 13, 2015 at 02:46:34 PM, Hans de Goede wrote:
> Hi,
> 
> On 12-05-15 21:30, Marek Vasut wrote:
> > On Tuesday, May 12, 2015 at 06:58:23 PM, Hans de Goede wrote:
> >> The usb-kbd key repeat code assumes that reports get repeated every 40
> >> ms, this is never true when using
> >> CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP, and does not always works for
> >> CONFIG_SYS_USB_EVENT_POLL and
> >> CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE since not all usb keyboards
> >> honor the usb_set_idle() command.
> >> 
> >> For CONFIG_SYS_USB_EVENT_POLL we must use usb_set_idle() since we do a
> >> blocking wait for the hid report, so if we do not tell the keyboard to
> >> send a hid report every 40ms even if nothing changes then we will block
> >> u-boot for 1s (the default u-boot usb interrupt packet timeout). Note
> >> that in this case on keyboards which do not support usb_set_idle() we
> >> loose and we actually get 1s latencies on other u-boot activities.
> >> 
> >> For the other poll-methods this commit stops using usb_set_idle() and
> >> instead repeats the last received hid-report every 40 ms as long as no
> >> new hid-report is received. This fixes key-repeat not working at all
> >> with CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP and fixes it not working
> >> with keyboards which do not implement usb_set_idle() when using
> >> CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE.
> >> 
> >> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> > 
> > Looks reasonable, I don't really care about the ifdef indent, but the
> > data type for get_timer() should be fixed. Otherwise,
> 
> OK v2 with last_report changed to unsigned_long is coming up.
> 
> > Reviewed-by: Marek Vasut <marex@denx.de>
> > 
> > Would this finally be a patch to pick through the USB tree ? :b
> 
> Yes!  :)

It's been getting quite boring in u-boot-usb, thanks ;-)

Best regards,
Marek Vasut

      reply	other threads:[~2015-05-13 20:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-12 16:58 [U-Boot] [PATCH] usb: kbd: Fix key repeat not always using Hans de Goede
2015-05-12 17:08 ` Michael Trimarchi
2015-05-12 19:30 ` Marek Vasut
2015-05-13 12:46   ` Hans de Goede
2015-05-13 20:03     ` Marek Vasut [this message]

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=201505132203.47747.marex@denx.de \
    --to=marex@denx.de \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.