• C
    ath11k: add support one MSI vector · ac6e7348
    Carl Huang 提交于
    On some platforms it's not possible to allocate 32 MSI vectors for various
    reasons, be it kernel configuration, VT-d disabled, buggy BIOS etc. So
    ath11k was not able to use QCA6390 PCI devices on those platforms. Add
    support for one MSI vector to solve that.
    
    In case of one MSI vector, interrupt migration needs to be disabled.  This
    is because when interrupt migration happens, the msi_data may change.
    However, msi_data is already programmed to rings during initial phase and
    ath11k has no way to know that msi_data is changed during run time and
    reprogram again.
    
    In case of one MSI vector, MHI subsystem should not use IRQF_NO_SUSPEND
    as QCA6390 doesn't set this flag too. Ath11k doesn't need to leave
    IRQ enabled in suspend state.
    
    Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
    Signed-off-by: NCarl Huang <cjhuang@codeaurora.org>
    Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
    Signed-off-by: NBaochen Qiang <bqiang@codeaurora.org>
    Link: https://lore.kernel.org/r/20211026041714.5219-1-bqiang@codeaurora.org
    ac6e7348
mhi.c 13.7 KB