Re: [PATCH v3] mhi: use irq_flags if controller driver configures it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> 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@xxxxxxxxxxxxxx>
>> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
>
> 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



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux