Hi Kalle,
On 1/17/24 5:43 AM, Kalle Valo wrote:
James Prestwood <prestwoj@xxxxxxxxx> writes:
I don't see anything in the dmesg logs, or in lspci etc.
fee00578 is the physical MSI vector so I got it using lspci in host, see
...
Capabilities: [50] MSI: Enable+ Count=1/32 Maskable+ 64bit-
Address: fee00578 Data: 0000
Masking: fffffffe Pending: 00000000
...
Mine looks like this:
...
Capabilities: [50] MSI: Enable- Count=1/32 Maskable+ 64bit-
Address: 00000000 Data: 0000
Masking: 00000000 Pending: 00000000
And that lspci output is from the host (not the guest)?
Yes, that is on the host. On the guest I have:
Capabilities: [50] MSI: Enable+ Count=1/32 Maskable+ 64bit-
Address: fee01004 Data: 0028
Masking: fffffffe Pending: 00000000
And I just tried those values, i.e:
- ath11k_dbg(ab, ATH11K_DBG_PCI, "msi base data is %d\n",
ab->pci.msi.ep_base_data);
+ ab->pci.msi.addr_hi = 0;
+ ab->pci.msi.addr_lo = 0xfee01004;
+ ath11k_dbg(ab, ATH11K_DBG_PCI, "msi addr hi 0x%x lo 0x%x base
data is %d\n",
+ ab->pci.msi.addr_hi,
+ ab->pci.msi.addr_lo,
+ ab->pci.msi.ep_base_data);
Though wasn't sure for "Data"/ep_base_data since the kernel uses a u32
but lspci appears to show a 16 bit value. I tried:
+ ab_pci->ab->pci.msi.ep_base_data = 0;
+ ab_pci->ab->pci.msi.ep_base_data = 0x0028;
+ ab_pci->ab->pci.msi.ep_base_data = 0x0028000;
(maybe thats entirely the wrong change)