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>

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>