LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Custom PCI Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/custom-pci-hardware-452979/)

mclerand 06-08-2006 05:26 PM

Custom PCI Hardware
 
We're trying to bring up some custom PCI hardware under AwardBIOS 6.0 and Fedora Core 5 (2.6.16-1.2111_FC5smp) on an i686 arch. It appears that that hardware has the PCI configuration registers set up correctly (i.e. IRQ Pin register = 0x1 for requesting an IRQ #) but only 0xFF gets written into the IRQ Line PCI config register. Anyone know what could be happening?

Thanks

ghatamos 06-10-2006 08:44 AM

did you do the request_mem_region...ioremap_nocache before accessing the PCI configuration registers?

i am not sure about PCI, but usually when you need to access registers from external hardware you need to to these things before being able to read or write (also when reading and writing use readl or writel respectively (for 32-bit access))

mclerand 06-10-2006 08:56 AM

The system I'm referring to is a single-board computer, on a i686 arch, Pentium 4 2.8GHz with HT. The single-board computer is plugged into a PCI backplane. I can read and write the hardware, no problem. I use ioremap_nocache to remap the PCI memory into kernel space. I can read blocks of memory from the hardware either via DMA or memcpy_fromio, toio. The hardware and driver are fully functional, except for interrupts. We trapped on the PCI config transactions with a logic analyzer and something is just not configuring the IRQ Line register properly. Something is writing 0xFF to this register, instead of a valid IRQ #. I called the BIOS vendor yesterday and they claim that it must be the Linux kernel's problem. They claim to have run Fedora Core 3 and RedHat 9 on it without issue. I really don't want to go back in time that far. I have been doing some searching around and I am finding evidence of others having problems with: ACPI, Linux 2.6, and interrupts. I'm gonna try to track this one down and see if I can't figure out where in the kernel things might be going south. If you have any tips, I'd appreciate it.

Thanks


All times are GMT -5. The time now is 10:33 PM.