1. 17 1月, 2014 1 次提交
    • B
      HID: logitech-dj: Fix USB 3.0 issue · 42c22dbf
      Benjamin Tisssoires 提交于
      This fix (not very clean though) should fix the long time USB3
      issue that was spotted last year. The rational has been given by
      Hans de Goede:
      
       ----
      
      I think the most likely cause for this is a firmware bug
      in the unifying receiver, likely a race condition.
      
      The most prominent difference between having a USB-2 device
      plugged into an EHCI (so USB-2 only) port versus an XHCI
      port will be inter packet timing. Specifically if you
      send packets (ie hid reports) one at a time, then with
      the EHCI controller their will be a significant pause
      between them, where with XHCI they will be very close
      together in time.
      
      The reason for this is the difference in EHCI / XHCI
      controller OS <-> driver interfaces.
      
      For non periodic endpoints (control, bulk) the EHCI uses a
      circular linked-list of commands in dma-memory, which it
      follows to execute commands, if the list is empty, it
      will go into an idle state and re-check periodically.
      
      The XHCI uses a ring of commands per endpoint, and if the OS
      places anything new on the ring it will do an ioport write,
      waking up the XHCI making it send the new packet immediately.
      
      For periodic transfers (isoc, interrupt) the delay between
      packets when sending one at a time (rather then queuing them
      up) will be even larger, because they need to be inserted into
      the EHCI schedule 2 ms in the future so the OS driver can be
      sure that the EHCI driver does not try to start executing the
      time slot in question before the insertion has completed.
      
      So a possible fix may be to insert a delay between packets
      being send to the receiver.
      
       ----
      
      I tested this on a buggy Haswell USB 3.0 motherboard, and I always
      get the notification after adding the msleep.
      Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      42c22dbf
  2. 06 1月, 2014 1 次提交
  3. 21 12月, 2013 1 次提交
  4. 17 12月, 2013 1 次提交
  5. 16 12月, 2013 1 次提交
  6. 13 12月, 2013 1 次提交
  7. 03 12月, 2013 2 次提交
    • O
      HID: logitech-dj: add HIDRAW dependency in Kconfig · dcdc50e7
      Olivier Gay 提交于
      hid-logitech-dj.c driver needs hidraw to work correctly. Without
      hidraw, hid-logitech-dj.c fails during probe() and Logitech
      Unifying devices HID reports aren't recognized.
      
      The unifying receiver has 3 usb interfaces. When hid-logitech-dj driver is
      loaded, interfaces 0 and 1 are discarded.
      
      Interface 2 consists of a hid class interface with 3 collections, each of
      which sports the 'vendor' usage, thus, there is no reason for hid_input to
      claim any of them. On the other hand, hidraw has no issue in claiming the
      collections, even if they are 'vendor'. As of today, hid-logitech-dj uses
      hidraw api to send configuration/control reports to interface 2 of the
      Unifying receiver.
      
      Without the hid-logitech-dj driver, interfaces 0 and 1 are claimed by
      hid-input, as they correspond to a keyboard and a mouse. But that is not
      relevant to the discussion.
      
      [jkosina@suse.cz: make the changelog more verbose, thanks to Nestor]
      Signed-off-by: NOlivier Gay <ogay@logitech.com>
      Signed-off-by: NNestor Lopez Casado <nlopezcasad@logitech.com>
      Signed-off-by: NMathieu Meisser <mmeisser@logitech.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      dcdc50e7
    • V
      HID: add support for Logitech Dual Action gamepads · 56d0c8b7
      Vitaly Katraew 提交于
      I have two Logitech Dual Action gamepads, both have same Vendor/Device id pair.
      Newest gamepad (A) can switch between old mode (HID) and XBox gamepad emulation
      mode. Old gamepad (B) can only work in HID mode.  In HID mode gamepad A sends
      many EPIPE errors during initialization and was disconnected immediately after
      connect  to usb port. It works fine in Win and Mac. After adding NOGET quirk in
      driver, it was working properly.  Gamepad B works fine before and after
      changes. I tested both gamepads with 3.8.0 and 3.11.6 kernels  with modified
      driver. Follow patch can apply for current git kernel version. I can send pcap
      log from usb bus with both gamepads or any other additional information if it
      is needed
      Signed-off-by: NVitaly Katraew <zawullon@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      56d0c8b7
  8. 02 12月, 2013 4 次提交
  9. 19 11月, 2013 1 次提交
  10. 15 11月, 2013 19 次提交
  11. 14 11月, 2013 8 次提交