Skip site navigation (1)Skip section navigation (2)
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>