--- - branch: MAIN date: Sun May 23 11:49:45 UTC 2021 files: - new: '1.139' old: '1.138' path: src/sys/dev/usb/xhci.c pathrev: src/sys/dev/usb/xhci.c@1.139 type: modified - new: '1.19' old: '1.18' path: src/sys/dev/usb/xhcireg.h pathrev: src/sys/dev/usb/xhcireg.h@1.19 type: modified - new: '1.18' old: '1.17' path: src/sys/dev/usb/xhcivar.h pathrev: src/sys/dev/usb/xhcivar.h@1.18 type: modified id: 20210523T114945Z.17494643da4beb4d4ce01ceafebab05096712388 log: | xhci(4): Draft suspend/resume. Work almost entirely done and tested by maya@ based on xhci 1.2 spec; tidied up and tweaked by me. Not sure about issuing Stop Endpoint commands or ensuring the Command Ring is in the Stopped or Idle state, but this seems to work as is, so it's already an improvement over what we had before which was no xhci suspend/resume at all. In particular, it's not clear to us: - if we don't have any pending USB activity whether we need to issue the Stop Endpoints or quiesce the command ring; but - if we do have any pending USB activity whether issuing Stop Endpoint is enough or whether we also need to do anything to synchronize with other software logic to quiesce it too. module: src subject: 'CVS commit: src/sys/dev/usb' unixtime: '1621770585' user: riastradh