summaryrefslogtreecommitdiffstats
path: root/sys/mips/rmi
Commit message (Collapse)AuthorAgeFilesLines
* auth.conf is dead.des2012-06-121-1/+2
|
* o) Use ABI, not ISA_* options, to determine whether to compile bits if libkernjmallett2012-03-121-2/+0
| | | | | | | required for the ABI the kernel is being built for. XXX This is implemented in a kind-of nasty way that involves including source files, but it's still an improvement. o) Retire ISA_* options since they're unused and were always wrong.
* Remove platform APIs which are not used by any code and which had only stubjmallett2012-03-121-18/+0
| | | | | | | | | implementations or no implementation on all platforms. Some of these functions might be good ideas, but their semantics were unclear given the lack of implementation, and an unlucky porter could be fooled into trying to implement them or, worse, being baffled when something like platform_trap_enter() failed to be called.
* Implement better support for USB controller suspend and resume.hselasky2011-12-141-50/+8
| | | | | | | | | | This patch should remove the need for kldunload of USB controller drivers at suspend and kldload of USB controller drivers at resume. This patch also fixes some build issues in avr32dci.c MFC after: 2 weeks
* Rename device_delete_all_children() into device_delete_children().hselasky2011-11-221-1/+1
| | | | | Suggested by: jhb @ and marius @ MFC after: 1 week
* - There's no need to overwrite the default device method with the defaultmarius2011-11-224-14/+4
| | | | | | | | | | one. Interestingly, these are actually the default for quite some time (bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9) since r52045) but even recently added device drivers do this unnecessarily. Discussed with: jhb, marcel - While at it, use DEVMETHOD_END. Discussed with: jhb - Also while at it, use __FBSDID.
* Remove duplicate header includeskevlo2011-06-263-4/+0
|
* Fix a brain-o in platform_cpu_mask() by just specifying a possibleattilio2011-05-131-6/+4
| | | | | | | cpuset_t to be copied, rather than return the array. I can't rely anymore on this being a simple int/long object. Reported by: art
* Add the cpuset_t conversion for mips.attilio2011-05-131-3/+9
|
* Change rman_manage_region() to actually honor the rm_start and rm_endjhb2011-04-291-2/+2
| | | | | | | | | | constraints on the rman and reject attempts to manage a region that is out of range. - Fix various places that set rm_end incorrectly (to ~0 or ~0u instead of ~0ul). - To preserve existing behavior, change rman_init() to set rm_start and rm_end to allow managing the full range (0 to ~0ul) if they are not set by the caller when rman_init() is called.
* We don't need to call EOWRITE4(sc, EHCI_USBINTR, 0) directly from each EHCIhselasky2011-04-121-7/+0
| | | | | | | | bus driver at detach, hence ehci_detach() does exactly this since r199718. Submitted by: Luiz Otavio O Souza MFC after: 7 days Approved by: thompsa (mentor)
* - Correct EHCI interrupt disabling at detach.hselasky2011-04-031-1/+1
| | | | | | Submitted by: Luiz Otavio O Souza MFC after: 7 days Approved by: thompsa (mentor)
* Fix typos - remove duplicate "the".brucec2011-02-211-2/+2
| | | | | | PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days
* Allow the platform code to return a bitmask of running cores rather than justjmallett2011-02-121-3/+3
| | | | | | | | | | | | | | a number of cores, this allows for a sparse set of CPUs. Implement support for sparse core masks on Octeon. XXX jeff@ suggests that all_cpus should include cores that are offline or running other applications/OSes, so the platform API should be further extended to allow us to set all_cpus to include all cores that are physically-present as opposed to only those that are running FreeBSD. Submitted by: Bhanu Prakash (with modifications) Reviewed by: jchandra Glanced at by: kib, jeff, jhb
* Move 'cpu CPU_RMI' to std.xlr, this is common for all XLR cpus.jchandra2011-01-201-3/+1
|
* Fixes in the XLR platform codejchandra2011-01-202-3/+3
| | | | | - Fix bug in pic.h, assign reg variable, before return. - In xlr_pci.c, need to ignore the result of mmio read.
* Introduce signed and unsigned version of CTLTYPE_QUAD, renamingmdf2011-01-191-3/+3
| | | | existing uses. Rename sysctl_handle_quad() to sysctl_handle_64().
* Fix format of physical addresses; this fixes the n32 build.jmallett2011-01-191-3/+3
|
* Support for 64 bit PTEs on n32 and n64 compilation.jchandra2011-01-131-0/+2
| | | | | | | | | | | | | | | | | | | | In n32 and n64, add support for physical address above 4GB by having 64 bit page table entries and physical addresses. Major changes are: - param.h: update PTE sizes, masks and shift values to support 64 bit PTEs. - param.h: remove DELAY(), mips_btop(same as atop), mips_ptob (same as ptoa), and reformat. - param.h: remove casting to unsigned long in trunc_page and round_page since this will be used on physical addresses. - _types.h: have 64 bit __vm_paddr_t for n32. - pte.h: update TLB LO0/1 access macros to support 64 bit PTE - pte.h: assembly macros for PTE operations. - proc.h: md_upte is now 64 bit for n32 and n64. - exception.S and swtch.S: use the new PTE macros for PTE operations. - cpufunc.h: TLB_LO0/1 registers are 64bit for n32 and n64. - xlr_machdep.c: Add memory segments above 4GB to phys_avail[] as they are supported now. Reviewed by: jmallett (earlier version)
* The message ring interrupt needs to be enabled for all cpus, not justjchandra2011-01-121-65/+52
| | | | | | | | | | | | | the ones which run the message ring handler. Some bits of the interrupt mask are part of the status register which is saved with the process context, and these bits are initialized from the cpu on which the process is created. This means that all the processes should have the same value for these interrupt mask bits, so that the interrupt mask remains the same regardless of what thread is scheduled on the cpu. Submitted by: Sriram Gorti (srgorti at netlogicmicro dot com)
* Remove unneeded includes of <sys/linker_set.h>. Other headers that usejhb2011-01-111-1/+0
| | | | | | it internally contain nested includes. Reviewed by: bde
* Remove bogus usage of INTR_FAST. "Fast" interrupts are now indicated byjhb2011-01-063-4/+4
| | | | | registering a filter handler rather than a threaded handler. Also remove a bogus use of INTR_MPSAFE for a filter.
* Updates for I2C devices on XLR engg boards.jchandra2010-12-133-34/+10
| | | | | | | - ds1374u : use multi-byte write. - at24co2n, max6657: remove mutex, iicbus has the necessary locking. Submitted by: Sreekanth M. S. (kanthms at netlogicmicro com)
* fix mips build breakage introduced in r216375: atomic_store_int doesn't existsavg2010-12-131-3/+1
| | | | | | | | | | | | | 1) 32-bit assignment are expected to always be atomic. 2) Release/acquire memory barrier semantics doesn't seem to be needed here. So a simple assignment can be used. Remove unused port_set_counter() while here, it also used to mis-use atomic_set_int(). Reported by: jhb Pointyhat to: avg MFC after: 3 weeks
* I2C drivers for XLR/XLS processors.jchandra2010-12-128-256/+704
| | | | | | | | | - Major update to xlr_i2c.c: do multi-byte ops correctly, remove unnecessary code, add mutex to protect bus operations, style(9) fixes. - Drivers for I2C devices on XLR/XLS engineering boards, ds1374u RTC, max6657 temparature sensor and at24co2n EEPROM. Submitted by: Sreekanth M. S. (kanthms at netlogicmicro com)
* fix atomic_set_xxx misuse in rgeavg2010-12-111-2/+2
| | | | | | | It seems that atomic_set_xxx and atomic_store_xxx were confused. Reviewed by: jhb (general issue) MFC after: 3 weeks
* Fix compilation when DEBUG option is enabled.jchandra2010-12-092-8/+0
| | | | | | | | - remove unused code in mips/rmi/xlr_pci.c - remove unused variable in mips/rmi/dev/nlge/if_nlge.c - fix reference to old function in mips/mips/pmap.c Reported by: Prabhath Raman (prabhath at netlogicmicro com)
* - dump_avail layout should be sequence of [start, end)gonzo2010-12-091-4/+4
| | | | | | pairs, not <start, size>. Spotted by: alc@
* - Populate dump_avail with proper values from phys_availgonzo2010-12-091-0/+7
|
* Use if_transmit method instead of if_start, this avoids the interface queue ↵jchandra2010-11-272-86/+86
| | | | | | | | lock. Use the hardware IP checksum verification on receive. Submitted by: Sriram Gorti (srgorti at netlogicmicro dot com)
* After some off-list discussion, revert a number of changes to thedim2010-11-221-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | DPCPU_DEFINE and VNET_DEFINE macros, as these cause problems for various people working on the affected files. A better long-term solution is still being considered. This reversal may give some modules empty set_pcpu or set_vnet sections, but these are harmless. Changes reverted: ------------------------------------------------------------------------ r215318 | dim | 2010-11-14 21:40:55 +0100 (Sun, 14 Nov 2010) | 4 lines Instead of unconditionally emitting .globl's for the __start_set_xxx and __stop_set_xxx symbols, only emit them when the set_vnet or set_pcpu sections are actually defined. ------------------------------------------------------------------------ r215317 | dim | 2010-11-14 21:38:11 +0100 (Sun, 14 Nov 2010) | 3 lines Apply the STATIC_VNET_DEFINE and STATIC_DPCPU_DEFINE macros throughout the tree. ------------------------------------------------------------------------ r215316 | dim | 2010-11-14 21:23:02 +0100 (Sun, 14 Nov 2010) | 2 lines Add macros to define static instances of VNET_DEFINE and DPCPU_DEFINE.
* Apply the STATIC_VNET_DEFINE and STATIC_DPCPU_DEFINE macros throughoutdim2010-11-141-5/+5
| | | | the tree.
* Network driver updatesjchandra2010-10-202-7/+7
| | | | | | | - Fix network driver issue on a XLS eval board (major# 8). - Fix issue uncovered by r213475 in check for XGMII Submitted by: Sriram Gorti (srgorti at netlogicmicro dot com)
* On uniprocessor, warn and fixup hardware cpu mask if more than on CPUjchandra2010-10-201-1/+9
| | | | is enabled by the bootloader.
* Convert the PHY drivers to honor the mii_flags passed down and convertmarius2010-10-151-4/+6
| | | | | | | | | | | | | | | | | | | | | | | the NIC drivers as well as the PHY drivers to take advantage of the mii_attach() introduced in r213878 to get rid of certain hacks. For the most part these were: - Artificially limiting miibus_{read,write}reg methods to certain PHY addresses; we now let mii_attach() only probe the PHY at the desired address(es) instead. - PHY drivers setting MIIF_* flags based on the NIC driver they hang off from, partly even based on grabbing and using the softc of the parent; we now pass these flags down from the NIC to the PHY drivers via mii_attach(). This got us rid of all such hacks except those of brgphy() in combination with bce(4) and bge(4), which is way beyond what can be expressed with simple flags. While at it, I took the opportunity to change the NIC drivers to pass up the error returned by mii_attach() (previously by mii_phy_probe()) and unify the error message used in this case where and as appropriate as mii_attach() actually can fail for a number of reasons, not just because of no PHY(s) being present at the expected address(es). Reviewed by: jhb, yongari
* PCI fix for XLR C revision chips, limit DMA address to the first 2GBjchandra2010-10-062-2/+53
| | | | | | | physical address. Adds a dma tag to the XLR/XLS pci bus with the lowaddr if the CPU happens to be a XLR C rev. Submitted by: Sreekanth M. S. (kanthms at netlogicmicro dot com))
* XLR/XLS network driver (nlge) updates:jchandra2010-10-062-35/+167
| | | | | | | | | | - nlge_ioctl handles IFF_UP and IFF_PROMISC flags - Translate table code, to enable flow based CPU assignment added disabled by default (can be enabled by a tunable). - Changed signature of nlge_port_disable to make it consistent with nlge_port_enable - Removed TXCSUM and VLAN_HW_TAGGING from i/f capabilities. Submitted by: Sriram Gorti (srgorti at netlogicmicro dot com)
* Fix n64 compile.jchandra2010-10-061-1/+1
|
* Network driver support for more XLR/XLS chip versions.jchandra2010-10-051-18/+129
| | | | Obtained from: Sriram Gorti (srgorti at netlogicmicro dot com)
* Clear any pending interrupts after disabling FMN interrupts. Add debuggingjchandra2010-10-052-20/+63
| | | | | | | | sysctl and counters for message ring threads (intial version). Update watermark values, and and decrease the maximum threads to 3 (this will leave a few CPUs for other processes) Minor comment fix in nlge.
* Fix asm for XKPHYS read for o32, constriants needed for input registersjchandra2010-10-051-13/+14
| | | | that are clobbered. Fixes a crash when compiled without DEBUG
* Update message ring handling code for XLR/XLSjchandra2010-10-037-280/+290
| | | | | | | | | | | - Wakeup multiple threads per core using message ring watermark interrupts. - Update message ring handler registration, use the real device station id for registering interrupts. - rge/nlge: update for the new message ring registration code. - rge/nlge: use 2 message ring stations for incoming packets, this will allow more messages to be queued. - nlge: comment fixes, remove unused variable - style and whitespace fixes
* XLS B0 revision PCI support and related changes.jchandra2010-09-273-61/+76
| | | | | | | | - XLS B0 and later revision chips have PCIe link 2 & 3 mapped to different PIC interrupts. Update pic.h, board.h and xlr_pci.c to reflect this. - remove debug prints in xlr_pci.c - add more processor IDs to board.h, add function xlr_is_xls_b0() - some style(9) and whitespace fixes
* n32 fixes for nlge.jchandra2010-09-212-4/+4
| | | | | Use correct define (__mips_n64) for n64 compilation and use correct parameter type for xlr_paddr_lw() in n32.
* Add 64 bit support to nlge, and additional fixesjchandra2010-09-202-64/+131
| | | | | | | | | | | | | - 64 bit fixes for ifnlge.c - Use m_nextpkt to save mbuf vaddr on 64 bit, we cannot store the 64 bit vaddr in the 40bit freeback field. - remove unused code and unnecessary variables. - use xlr_io_mmio macro instead of adding io base address - rewrite GPIO related code to fixup nlge using xlr_write_reg and DELAY - support for engg boards major num 11 and 12 - add xlr_paddr_lw() to load 32bit value from physical address, fix inline assembly - style fixes
* Fixes for XLR network accelerator driver (nlge).jchandra2010-09-174-59/+104
| | | | | | | | | | | | | - Process some tx done messages in the transmit path, to ensure that the XLR NA tx done FIFO does not overflow. - Add a message ring handler API to process atmost a given number of messages from a specified bucket mask. This will be used to process the tx done messages - Add a callout to restart transmit in the case transmit gets blocked. - Update enable_msgring_int() and disable_msgring_int(), remove unused args and make static. Obtained from: Sriram Gorti (srgorti at netlogicmicro dot com)
* RMI security accelerator driver update.jchandra2010-09-166-711/+117
| | | | | | | | | | - Compile fixes for 9.0, the previous version of this driver was for FreeBSD 6. - Add virtual address field in OperationDescriptor_t, we cannot use MIPS_PHYS_TO_KSEG0 on physical address. - Fixes for new message ring API - Remove unused sys/mips/rmi/dev/sec/stats.h - Whitespace fixes
* Update rge.h for r212758 - stats incremented using xlr_ldaddwu should bejchandra2010-09-161-6/+7
| | | | unsigned int.
* Network driver updates.jchandra2010-09-163-131/+124
| | | | | | | | | | | | | | - Move RMI MIPS extension to atomic increment word (LDADDWU) to common header file sys/mips/rmi/rmi_mips_exts.h - Fix xlr_ldaddwu() for 64 bit, it is a 32 bit operation, use unsigned int* instead of unsigned long* argument - Provide dummy xlr_enable_kx/xlr_restore_kx for n32 and n64. - Provide xlr_paddr_ld() instead of xlr_paddr_lw(), so that the descriptor formats are same for 32 and 64 bit - update nlge and rge for the changes These changes are also needed by the security driver which will be added later.
* sys/mips/rmi/msgring.h - fixes and clean up.jchandra2010-09-133-248/+211
| | | | | | | | | | | - Remove sync from msgrng_send, sync needs to be called just once before sending. - Fix retry logic - don't reload registers when retrying in message_send, also fix check for send pending fail. - remove unused message_send_block_fast() - merge message_receive_fast() to message_receive - style(9) fixes, and comments - rge and nlge updated for the sys/mips/rmi/msgring.h changes
OpenPOWER on IntegriCloud