Commit Graph

384 Commits

Author SHA1 Message Date
gonzo
87211dc2c9 - Identify more devices for OMAP4 SoC (up to OMAP4470)
- Whitespace fixes
2013-01-07 23:30:53 +00:00
kientzle
9b6c7883bd Shuffle the TX underrun to work the same way as the RX underrun,
as suggested by YongHyeon PYUN.
2013-01-05 20:37:40 +00:00
kientzle
2b2fcab759 While trying to track down the root cause for
TX stalls in this driver, I've also had some
time to evaluate the effectiveness of different
watchdog strategies.

This is the latest attempt, which consolidates
all of the watchdog logic in one place and
consistently detects TX stalls and resets within
a couple of seconds.
2013-01-05 17:59:44 +00:00
kientzle
f78ae91218 Overhauled CPSW driver for TI CPSW Ethernet module
(as used in AM335x SoC for BeagleBone).

Among other things:
 * Watchdog reset doesn't hang the driver.
 * Disconnecting cable doesn't hang the driver.
 * ifconfig up/down doesn't hang the driver
 * Out-of-memory no longer panics the driver.

Known issues:
 * Doesn't have good support for fragmented packets
   (calls m_defrag() on TX, assumes RX packets are never fragmented)
 * Promisc and allmulti still unimplimented
 * addmulti and delmulti still unimplemented
 * TX queue still stalls (but watchdog now consistently recovers in ~5s)
 * No sysctl monitoring
 * Only supports port0
 * No switch configuration support
 * Not tested on anything but BeagleBone

Committed from: BeagleBone
2013-01-01 18:55:04 +00:00
gonzo
a381b05232 PL310 driver update:
- Add pl310.disable tunable to disable L2 cache altogether. In
    order to make sure that it's 100% disabled we use cache event
    counters for cache line eviction and read allocate events
    and panic if any of these counters increased. This is purely
    for debugging purpose
- Direct access DEBUG_CTRL and CTRL might be unavailable in
    unsecure mode, so use platform-specific functions for
    these registers
- Replace #if 1 with proper erratum numbers
- Add erratum 753970 workaround
- Remove wait function for atomic operations
- Protect cache operations with spin mutex in order to prevent race condition
- Disable instruction cache prefetch and make sure data cache
    prefetch is enabled in OMAP4-specific intialization
2012-12-31 21:19:44 +00:00
glebius
8e20fa5ae9 Mechanically substitute flags from historic mbuf allocator with
malloc(9) flags within sys.

Exceptions:

- sys/contrib not touched
- sys/mbuf.h edited manually
2012-12-05 08:04:20 +00:00
kientzle
081fe7e283 Fix spelling. 2012-11-25 16:19:12 +00:00
imp
8f833b6bbd Strip trailing newline. 2012-11-23 17:22:38 +00:00
andrew
94003fea26 Merge the FDT versions of initarm.
The copies of initarm used on platforms with FDT support were almost
identical. The differences were pulled out into separate functions that
were called by initarm.

This change merges the, now identical, copies of initarm and a few of it's
support functions. This is a step towards a common kernel on ARMv6.
2012-11-03 22:39:07 +00:00
cognet
431d8fa681 Fix SMP build for omap4
Submitted by:	Giovanni Trematerra <gianni at freebsd DOT org>
2012-10-30 15:25:01 +00:00
kientzle
61bbdc6eb0 Missing paren.
Pointy hat:me
2012-10-27 22:13:42 +00:00
kientzle
b4838ce8ff set the kernelname from the boot loader environment.
This fixes kern.bootfile sysctl.

Submitted by:	Giovanni Trematerra
2012-10-26 05:48:53 +00:00
kientzle
e8860ec0d6 Do proper padding of runt packets using code copied from bge(4).
Reviewed by:	gnn
2012-10-25 04:37:47 +00:00
kientzle
0ecde454b5 Refer to headers locally. This makes it a lot easier
to build this driver out-of-tree.
2012-10-25 04:33:47 +00:00
eadler
3f7a414911 remove duplicate semicolons where possible.
Approved by:	cperciva
MFC after:	1 week
2012-10-22 03:00:37 +00:00
kientzle
ef7e9ab5ae Don't repeat the POSTREAD dma sync. 2012-10-22 02:28:48 +00:00
kientzle
481fbc169a Replace deprecated M_DONTWAIT with M_NOWAIT. 2012-10-19 05:50:56 +00:00
kientzle
6b07daaca2 Fix an mbuf leak in cpsw driver, clean up mbuf management:
* Record TX mbufs when we get them so we can release them.
 * Set TX/RX mbuf slots to NULL when we are no longer responsible for them
 * Move dma sync on RX into RX intr routine
2012-10-15 04:10:49 +00:00
kientzle
2758da7262 Cut-and-paste dropped semicolon. 2012-10-14 23:07:54 +00:00
kientzle
10f937f6f5 Name cpsw_stop to cpsw_stop_locked consistently with other functions
in this file that assume locks are already held.
2012-10-14 23:00:24 +00:00
kientzle
02051dc89a Return correct packet size. 2012-10-14 22:58:12 +00:00
andrew
c5105a1581 Remove unused variables from the OMAP ehci code. 2012-10-01 05:15:13 +00:00
andrew
dd6a23c4f5 Pull out the SoC specific parts of initarm into separate functions 2012-09-23 03:46:03 +00:00
andrew
d9ebf06192 Update different versions of physmap_init to be identical in preparation
for merging them.
2012-09-23 02:01:59 +00:00
andrew
32eb506f22 Reduce the diff between the FDT implementations of initarm.
This only touches whitespace and comments.
2012-09-22 22:41:38 +00:00
andrew
cd998f5e4e Create a common set_stackptrs in sys/arm/machdep.c.
On single core devices set_stackptrs is only ever called with cpu = 0 in
initarm and will be identical to the existing function. On SMP this needs
to be implemented for sys/arm/mp_machdep.c, but the implementations are
identical for each SoC.
2012-09-22 06:41:56 +00:00
jmg
6957c8b76f remove some unnecessary debugging statements, dead code and incorrect
comment...

Reviewed by:	gnn, imp
2012-09-16 19:42:27 +00:00
eadler
8600cbb5b6 Correct double "the the"
Approved by:	cperciva
MFC after:	3 days
2012-09-14 21:28:56 +00:00
kientzle
95f4586fc6 Correctly fetch the MAC address.
Break down the bytes directly into the softc;
the intermediate buffer isn't needed here.
Break down the bytes in the correct order.
2012-08-27 04:43:30 +00:00
gonzo
fde748f681 Style cleanup 2012-08-25 21:13:00 +00:00
kientzle
7e9dee0254 After r239366, fix the ti_edma3.c driver to use the
exact name as used in the FDT.
2012-08-22 05:14:59 +00:00
andrew
ebd36ca42d Set machine correctly on ARM. This allows universe to use the correct world
when building each kernel.

Reviewed by:	imp
2012-08-18 05:48:19 +00:00
gonzo
781aafc3e5 Specify architecture for assembler 2012-08-15 07:00:34 +00:00
gonzo
8ebd91847c Merging of projects/armv6, part 10
- Support for Texas Instruments SoCs:
	- AM335x
	- OMAP4

- Kernel configs, DTS for Beaglebone and Pandaboard

Submitted by:	Ben Gray, Damjan Marion
2012-08-15 06:31:32 +00:00