> From: Jaromír Doleček <jaromir.dole...@gmail.com>
> Date: Wed, 3 Jun 2020 14:16:47 +0200
> 
> Hello,
> 
> I'm working on porting xmm7360 device driver from Linux to OpenBSD,
> the Linux code:
> https://github.com/xmm7360/xmm7360-pci/
> 
> Most of device driver communication with the device is already
> working, but currently I can't get the interrupt routine to actually
> trigger after successful pci_intr_establish(). Tried to use INTx and
> MSI interrupt, that doesn't make difference.
> 
> It may or may not be due to some missing platform initialization,
> since the machine is booted in UEFI mode. Unfortunately the machine is
> not able to boot USB disks in legacy mode, so I can't test how it
> behaves in that case.
> 
> I've already checked how the device is initialised, and there is no
> difference between what Linux and OpenBSD PCI code does, as far as I
> can tell. Another data point is that some other PCI devices work on
> the machine (NVMe disk and em(4) network controller).
> 
> I however see INTx IRQ allocated on Linux is 155 while it's 255 (i.e.
> not assigned) on OpenBSD. I also see that MSI Address+Data is
> different (Linux uses a unique MSI Address, while OpenBSD uses same
> Address but different Data).
> 
> Can you give some advice on what to check and confirm whether it's
> indeed hw setup problem? Are there any known problems with PCI
> interrupt routing on UEFI machines under OpenBSD, or possibly some
> floating patches to try?

I'm not aware of any issues.  If em(4) works, I'd expect other PCI
devices to work as well with MSI.  INTx would be a bit trickier since
that may require a working interrupt mapping provided by ACPI. But if
the device supports it, MSI should just work.

> 
> Dmesg:
> https://drive.google.com/file/d/1CPDvLdR94Oj2oaKDtIEAAGFEBqubMv3W/view?usp=sharing
> 
> OpenBSD lspci -vvx
> https://drive.google.com/file/d/1HpsBaeXVAfewN5kjaLiXnTotef_UNHAn/view?usp=sharing
> 
> Linux lspci -vvx
> https://drive.google.com/file/d/1ybcnyw13o-Tz2_vKzOsfJCN-sPeyYEQ7/view?usp=sharing
> 

If you would use sendbug maybe people would actually look at this.

Reply via email to