mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2026-04-08 21:33:33 +00:00
The Block Event Interrupt (BEI) bit in the TRB descriptor could delay the triggering of interrupt. For most OSes, the native driver for xHCI will use this bit to optimize the IO performence, due to reduction of number of interrupts. But in Linux, the native xHCI driver for Intel brand controller doesn't use this bit. It is fine for the native scenario due to most work is completed by hardware. But in virtualization scenario, it is almost impossible to support heavy data IO such as high resolution video recording (ISOC transfer). Hence, this issue is solved by a 'quirk' when the intel hardware is emulated (when vendor id is set as 0x8086). For other cases, a virtal hardware called 'ACRN xHCI' is emulated, and both Linux and Windows will use BEI bit by default. Tracked-On: #3628 Signed-off-by: Xiaoguang Wu <xiaoguang.wu@intel.com> Acked-by: Yu Wang <yu1.wang@intel.com>