On 7/14/24 9:14 PM, Thomas Gleixner wrote:
Marek!
Hello Thomas,
On Sun, Jul 14 2024 at 14:23, Marek Vasut wrote:
--- a/drivers/base/platform-msi.c
+++ b/drivers/base/platform-msi.c
@@ -100,7 +100,7 @@ static void platform_msi_update_chip_ops(struct msi_domain_info *info)
chip->irq_unmask = irq_chip_unmask_parent;
if (!chip->irq_eoi)
chip->irq_eoi = irq_chip_eoi_parent;
- if (!chip->irq_set_affinity)
+ if (!chip->irq_set_affinity && !(info->flags & MSI_FLAG_USE_DEF_CHIP_OPS_NOAFF))
chip->irq_set_affinity = msi_domain_set_affinity;
I'm not really a fan of this new flag.
I'd rather leave MSI_FLAG_USE_DEF_CHIP_OPS alone and introduce a
dedicated flag MSI_FLAG_NO_AFFINITY to tell the core code that these
interrupts cannot be steered. Other than that this approach looks sane.
Should be fixed in V3. I also converted Tegra so far and sent it
alongside V3. There are many more controllers to convert that will follow.
--
Best regards,
Marek Vasut