[PATCH] ALSA: hda: intel: Introduce msi64 parameter to override 64-bit MSI restriction

Arnd Bergmann arnd at arndb.de
Mon Dec 22 08:18:26 PST 2025


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 <gaohan at iscas.ac.cn>
> ---
> +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



More information about the linux-riscv mailing list