Date: Fri, 19 Feb 2010 20:37:22 +0530 From: "C. Jayachandran" <c.jayachandran@gmail.com> To: Randall Stewart <rrs@lakerest.net> Cc: freebsd-mips@freebsd.org Subject: Patches for PCI support on RMI XLR/XLS. Message-ID: <98a59be81002190707y54f8965au98aa47e8c45db3e1@mail.gmail.com>
index | next in thread | raw e-mail
Hi Randall, I've a few updates to add PCI support for XLR boards and PCIe support for XLS boards. The patches are: http://sites.google.com/site/cjayachandran/files/intr-fixes.patch Some fixes to the current RMI interrupt handling, changes in this patch are: - (cleanup) remove rmi specific 'struct mips_intrhand' - this is no longer needed since 'struct intr_event' have all the required hooks - add xlr_cpu_establish_hardintr, which has args for pre/post ithread and filter hooks, so that the PCI code can add the PCI controller interrupt ack code here - make 'cpu_establish_hardintr' use the above function. - (fix) change type of eirr/eimr from register_t to uint64_t. These have to be 64bit otherwise we cannot handle interrupts from 32. - (fix) use eimr to mask eirr before checking interrupts, so that we will not handle masked interrupts. http://sites.google.com/site/cjayachandran/files/bus_space_rmi.cleanup.patch Cleanups for sys/mips/rmi/bus_space_rmi.c - remove pci related code from bus_space_rmi.c, we will have another file for PCI bus space functions which will do byte-swapping. - remove local SWAP implementation - added TODO stub for unimplemented functions http://sites.google.com/site/cjayachandran/files/pci-update.patch Changes for pci and pci-e support - add bus_space_rmi_pci.c for PCI bus space - files.xlr update for changes in files - pcibus.c merged into xlr_pci.c (they were small files with inter-dependencies) - xlr_pci.c - lot of changes here with few fixes, formatting cleanup http://sites.google.com/site/cjayachandran/files/rge.patch Fix for the rge driver for boards without rge6 and rge7. - changes to avoid adding theses instances on specific chips This brings the PCI support to the functionality we had in the 6 release. I have tested with the rl driver on XLR, and the msk driver on XLS for PCIe and both work. (although msk needs a trivial patch for big-endian support). Please review and apply if there are no issues. I have some patches for MSI support against 6.4. Moving that to 9 that probably needs changes to the common interrupt handling code, my current idea is to have something like 'struct intsrc' in i386 to handle this. Thanks, JC.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?98a59be81002190707y54f8965au98aa47e8c45db3e1>
