[usb][xhci] Limit number of TRBs we can go without updating ERDP

According to note in 4.9.4, we should process as many Events as possible
before writing to ERDP. But practically, we need to limit the maximum
number of TRBs before writing Otherwise, the lag between consuming an ED
and moving the ERDP forward may cause the ring to become full with
consumed EDs which have yet to be relinquished.

Test: tested on Atlas

Bug: 112057

Change-Id: I0300c9302cdfed7ef74800716c9045665bf38899
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/750902
Reviewed-by: Sam Hansen <hansens@google.com>
Commit-Queue: Ruby Zhuang <rdzhuang@google.com>
2 files changed
tree: c9332234b4bf6adc4f8069986197be2815f09de0
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gitmodules
  20. .gn
  21. .style.yapf
  22. analysis_options.yaml
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. ffx
  28. fuchsia.code-workspace
  29. LICENSE
  30. OWNERS
  31. PATENTS
  32. pyrightconfig.json
  33. README.md
  34. rustfmt.toml
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.