Why? Using SeaBIOS or OVMF is mostly independent of passthrough. One or the other is sometimes needed when the device ROM does not support BIOS or UEFI.
In several guides on Debian and Ubuntu, ASM1166 was not working on UEFI bios images. I tried both, this trick don't work for me.
I forget about bios dump.... How to dump bios from sata controller?
I don't think it's a good idea to use pcie_acs_override and I would suggest to use different PCIe slot and/or motherboard instead. Also note that not every Proxmox uses GRUB.
I tried additional grub kernel options, it don't work for me. I get a separate iommu grouping without it, and passthrough of igpu and gpu in 16x was working.
Most ITX motherboards used for small homelab NAS usually have few m2 slots and one 16x. Most itx boards have 2 or 4 sata ports, but some new boards on mobile cpus don't have any sata ports. If I build it with bigger factor like matx(in some there are one 16x and one 1x or 4x slot), or atx (one 16x and 1-2 of 1x or 4x),... than I will have an option to move card between slots.
My mb don't have any onboard sata. In my case I have 2 m2 m-key slots, one m2 e-key (wifi card) slot and one pcie 16x for gpu. I tried m2 to sata 6 port controller on ASM1166 in different m2 m-key slots. Each time it get separate iommu group, no issue here. I don't try to put it to m2 e-key slot with adapter. I don't have adapter for this and I need this wifi card to work.
I buy ASM1166 on pcie 1x card with 6 ports and put it into 16x slot. It halt the boot of Proxmox and mess with network card.
My mb bios setting is ascetic at best, so I can't try several instructions based on bios turning or altering, flashing different firmware versions.
My passthrough is working. Card have 6 ports but report 32 devices in dmesg and all 32 don't response to requests. system detects 38 sata devices. ACHI one slot, but no devices. my dmesg|grep SATA
[ 0.824993] ahci 0000:00:1f.2: AHCI 0001.0000 32 slots 6 ports 1.5 Gbps 0x3f impl SATA mode
[ 0.840726] ata1: SATA max UDMA/133 abar m4096@0xfea1b000 port 0xfea1b100 irq 33
[ 0.840939] ata2: SATA max UDMA/133 abar m4096@0xfea1b000 port 0xfea1b180 irq 33
[ 0.841286] ata3: SATA max UDMA/133 abar m4096@0xfea1b000 port 0xfea1b200 irq 33
[ 0.841638] ata4: SATA max UDMA/133 abar m4096@0xfea1b000 port 0xfea1b280 irq 33
[ 0.842067] ata5: SATA max UDMA/133 abar m4096@0xfea1b000 port 0xfea1b300 irq 33
[ 0.842491] ata6: SATA max UDMA/133 abar m4096@0xfea1b000 port 0xfea1b380 irq 33
[ 0.870953] ahci 0000:06:10.0: AHCI 0001.0301 32 slots 32 ports 6 Gbps 0xffffff3f impl SATA mode
[ 0.884560] ata7: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2100 irq 34
[ 0.884856] ata8: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2180 irq 34
[ 0.885180] ata9: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2200 irq 34
[ 0.885482] ata10: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2280 irq 34
[ 0.885825] ata11: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2300 irq 34
[ 0.886235] ata12: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2380 irq 34
[ 0.887152] ata15: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2500 irq 34
[ 0.887559] ata16: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2580 irq 34
[ 0.887897] ata17: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2600 irq 34
[ 0.888271] ata18: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2680 irq 34
[ 0.888612] ata19: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2700 irq 34
[ 0.888825] ata20: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2780 irq 34
[ 0.889035] ata21: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2800 irq 34
[ 0.889368] ata22: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2880 irq 34
[ 0.889699] ata23: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2900 irq 34
[ 0.889998] ata24: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2980 irq 34
[ 0.890342] ata25: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2a00 irq 34
[ 0.890753] ata26: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2a80 irq 34
[ 0.891093] ata27: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2b00 irq 34
[ 0.891452] ata28: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2b80 irq 34
[ 0.891874] ata29: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2c00 irq 34
[ 0.892289] ata30: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2c80 irq 34
[ 0.892638] ata31: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2d00 irq 34
[ 0.893010] ata32: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2d80 irq 34
[ 0.899958] ata33: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2e00 irq 34
[ 0.900302] ata34: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2e80 irq 34
[ 0.900632] ata35: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2f00 irq 34
[ 0.900990] ata36: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec2f80 irq 34
[ 0.901349] ata37: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec3000 irq 34
[ 0.901760] ata38: SATA max UDMA/133 abar m8192@0xfdec2000 port 0xfdec3080 irq 34
[ 1.156354] ata4: SATA link down (SStatus 0 SControl 300)
[ 1.176553] ata3: SATA link down (SStatus 0 SControl 300)
[ 1.176791] ata6: SATA link down (SStatus 0 SControl 300)
[ 1.176997] ata5: SATA link down (SStatus 0 SControl 300)
[ 1.177206] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 1.177463] ata1: SATA link down (SStatus 0 SControl 300)
[ 1.216919] ata7: SATA link down (SStatus 0 SControl 300)
[ 1.531030] ata8: SATA link down (SStatus 0 SControl 300)
[ 1.846770] ata9: SATA link down (SStatus 0 SControl 300)
[ 2.161195] ata10: SATA link down (SStatus 0 SControl 300)
[ 2.477323] ata11: SATA link down (SStatus 0 SControl 300)
[ 2.792968] ata12: SATA link down (SStatus 0 SControl 300)
[ 3.108320] ata15: SATA link down (SStatus 0 SControl 300)
[ 3.420633] ata16: SATA link down (SStatus 0 SControl 300)
[ 3.736984] ata17: SATA link down (SStatus 0 SControl 300)
[ 4.050748] ata18: SATA link down (SStatus 0 SControl 300)
[ 4.369588] ata19: SATA link down (SStatus 0 SControl 300)
[ 4.680351] ata20: SATA link down (SStatus 0 SControl 300)
[ 4.992361] ata21: SATA link down (SStatus 0 SControl 300)
[ 5.309484] ata22: SATA link down (SStatus 0 SControl 300)
[ 5.625304] ata23: SATA link down (SStatus 0 SControl 300)
[ 5.936465] ata24: SATA link down (SStatus 0 SControl 300)
[ 6.249448] ata25: SATA link down (SStatus 0 SControl 300)
[ 6.561104] ata26: SATA link down (SStatus 0 SControl 300)
[ 6.872357] ata27: SATA link down (SStatus 0 SControl 300)
[ 7.188467] ata28: SATA link down (SStatus 0 SControl 300)
[ 7.505461] ata29: SATA link down (SStatus 0 SControl 300)
[ 7.821654] ata30: SATA link down (SStatus 0 SControl 300)
[ 8.137477] ata31: SATA link down (SStatus 0 SControl 300)
[ 8.451182] ata32: SATA link down (SStatus 0 SControl 300)
[ 8.764879] ata33: SATA link down (SStatus 0 SControl 300)
[ 9.077463] ata34: SATA link down (SStatus 0 SControl 300)
[ 9.392788] ata35: SATA link down (SStatus 0 SControl 300)
[ 9.704721] ata36: SATA link down (SStatus 0 SControl 300)
[ 10.016476] ata37: SATA link down (SStatus 0 SControl 300)
[ 10.333502] ata38: SATA link down (SStatus 0 SControl 300)
Grep AHCI related
[ 0.824993] ahci 0000:00:1f.2: AHCI 0001.0000 32 slots 6 ports 1.5 Gbps 0x3f impl SATA mode
[ 0.870953] ahci 0000:06:10.0: AHCI 0001.0301 32 slots 32 ports 6 Gbps 0xffffff3f impl SATA mode