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>
next in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?98a59be81002190707y54f8965au98aa47e8c45db3e1>