[PATCH v3] mhi: use irq_flags if controller driver configures it
Kalle Valo
kvalo at codeaurora.org
Wed Jan 13 02:40:19 EST 2021
Manivannan Sadhasivam <manivannan.sadhasivam at linaro.org> writes:
> On Mon, Jan 04, 2021 at 06:11:28PM +0800, Carl Huang wrote:
>> If controller driver has specified the irq_flags, mhi uses this specified
>> irq_flags. Otherwise, mhi uses default irq_flags.
>>
>> The purpose of this change is to support one MSI vector for QCA6390.
>> MHI will use one same MSI vector too in this scenario.
>>
>> In case of one MSI vector, IRQ_NO_BALANCING is needed when irq handler
>> is requested. The reason is if irq migration happens, the msi_data may
>> change too. However, the msi_data is already programmed to QCA6390
>> hardware during initialization phase. This msi_data inconsistence will
>> result in crash in kernel.
>>
>> Another issue is in case of one MSI vector, IRQF_NO_SUSPEND will trigger
>> WARNINGS because QCA6390 wants to disable the IRQ during the suspend.
>>
>> To avoid above two issues, QCA6390 driver specifies the irq_flags in case
>> of one MSI vector when mhi_register_controller is called.
>>
>> Signed-off-by: Carl Huang <cjhuang at codeaurora.org>
>> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam at linaro.org>
>
> Applied to mhi-next!
Would it be possible again to have an immutable branch for this commit?
We need it for implementing one MHI support to ath11k[1] required by
Dell XPS 13 9310 laptops, which a lot of people are waiting. Otherwise I
can only apply the feature for v5.13, which will be released on July.
[1] https://patchwork.kernel.org/project/linux-wireless/list/?series=405591&state=*
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
More information about the ath11k
mailing list