Re: [PATCH] ALSA: hda: intel: Introduce msi64 parameter to override 64-bit MSI restriction
"Arnd Bergmann" <[email protected]>
| Newsgroups | dev.linux.lists.sophgo,org.infradead.lists.linux-riscv,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Dec 20, 2025, at 18:05, Han Gao wrote: > Sophgo SG2042 MSI driver does not support 32-bit MSI. > Introduce an 'msi64' kernel parameter to bypass NO_MSI64 for ATI/HDMI. > > Signed-off-by: Han Gao <[email protected]> > --- > +module_param(msi64, bool, 0444); > +MODULE_PARM_DESC(msi64, "Force use msi 64bit."); This does not seem like an appropriate use for a module parameter. There are very few things we want to use those for in new code, and working around hardware bugs is clearly not one. > @@ -1903,7 +1906,7 @@ static int azx_first_init(struct azx *chip) > chip->gts_present = true; > #endif > > - if (chip->msi && chip->driver_caps & AZX_DCAPS_NO_MSI64) { > + if (chip->msi && chip->driver_caps & AZX_DCAPS_NO_MSI64 && !msi64) { > dev_dbg(card->dev, "Disabling 64bit MSI\n"); > pci->no_64bit_msi = true; > } The behavior is also wrong: if the system can use neither 32-bit MSI nor 64-bit MSI, this would accidentally try to use the 64-bit variant and then cause runtime issues. I would expect the only possible fallback to be using legacy IntX interrupts, or returning a probe failure if that doesn't work either. Arnd