| Commit message (Collapse) | Author | Files | Lines |
|
closes #2796.
|
|
|
|
|
|
|
|
|
|
Hardware generated checksum UDP packets does not work for
IP fragmented UDP packets. It seems as if the BSD stack never
signals to the GRETH driver to generate or not to generate
TCP/UDP checksum for different cases. The GRETH driver never
tells the BSD stack about it capabilities either so there is
no point generating the cksums in HW when its done in SW any
way.
This patch disables hardware generated UDP and TCP checksums.
|
|
|
|
1. read_mii() now returns 0xffff on failure. It is more robust when it
comes to reading the reset bit in the control register, that is the
first access.
2. write_mii() now has error printout like read_mii().
3. Additional (optional) PHY access debugging is now available by
enabling GRETH_DEBUG_MII. Even successful accesses are printed.
4. Let PHY do power-down (not only reset) to get in a good state,
this is just in case the PHY input pin settings are sampled only
on PHY power-up on some PHYs.
5. PHY GBit advertisement is disabled if Gbit is not supported by MAC.
Or forced if supported.
6. Auto-nego is started if supported by PHY, before it was started only
if default set by PHY.
7. Reset Sequence updated:
* one must wait until reset bit is self-cleared.
* the DD (Disable Duplex Detection) bit is set, only affects
EDCL capable devices. This lets RTEMS handle PHY initialization
|
|
Looking at PHY Ctrl register without reseting it will give back
old register content, that is not stable. Instead the PHY is
reset and the autonogotiation capability is read out and
started if present.
|
|
The name was probably copied from the DEC21140 driver
|
|
Most drivers use the Driver Manager for device probing, they
work on AMBA-over-PCI systems if PCI is big-endian.
New APIs:
* GPIO Library, interfaced to GRGPIO
* GENIRQ, Generic interrupt service implementation helper
New GRLIB Drivers:
* ACTEL 1553 RT, user interface is similar to 1553 BRM driver
* GR1553 (1553 BC, RT and BM core)
* AHBSTAT (AHB error status core)
* GRADCDAC (Core interfacing to ADC/DAC hardware)
* GRGPIO (GPIO port accessed from GPIO Library)
* MCTRL (Memory controller settings configuration)
* GRETH (10/100/1000 Ethernet driver using Driver manager)
* GRPWM (Pulse Width Modulation core)
* SPICTRL (SPI master interface)
* GRSPW_ROUTER (SpaceWire Router AMBA configuration interface)
* GRCTM (SpaceCraft on-board Time Management core)
* SPWCUC (Time distribution over SpaceWire)
* GRTC (SpaceCraft up-link Tele core)
* GRTM (SpaceCraft down-link Tele Metry core)
GR712RC ASIC specific interfaces:
* GRASCS
* CANMUX (select between OCCAN and SATCAN)
* SATCAN
* SLINK
|
|
The GRETH doesn't support IP fragments.
|
|
|
|
|
|
|
|
|
|
Add reserved system events RTEMS_EVENT_SYSTEM_NETWORK_SBWAIT and
RTEMS_EVENT_SYSTEM_NETWORK_SOSLEEP.
Add and use rtems_bsdnet_event_send().
|
|
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
The ISR code is updated to use argument instead of global greth
structure, now that the greth private is available in the ISR.
The shared-irq routines will unmask the IRQ, so the forced LEON3
BSP unmask/clear IRQ is removed.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
When data cache snooping is not present the cache needs
flushing, the SPARC LEON CPUs does not have to ability
to flush individual cache rows and flushing all cache is
expensive. Instead the LDA instruction is used to force
cache miss on individual loads during the IP-align copy
operation required anyway.
GRETH GBIT non-snooping systems are still unsupported,
since it use zero-copy (can deal with unaligned DMA).
Let the bsp.h select if the GRETH driver is supported.
Currently only the LEON2/LEON3 platforms BSPs builds the
driver.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
GRETH driver updated, 10-15% performance improvements for GBIT MAC,
unnecessary RX interrupts not taken which under heavy load saves approx.
1500 interrupts/s, one task removed saving about 5kb memory and 1 bug
solved.
BUG: RX interrupt was enabled before the RX-daemon was created which could
result in a faulty call to rtems_event_send.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
Deadlock may arise when the EDCL bug link is used to tunnel
console output over Ethernet, when Ethernet is down one should
avoid using console (only during debugging of LEON targets)
Author: Marko Isomaki <marko@gaisler.com>
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
* libchip/network/greth.c, libchip/network/open_eth.c
libchip/network/sonic.c: Eliminate evil typecasts.
* libchip/network/greth.h, libchip/network/open_eth.h,
libchip/network/sonic.h: Use void* for addresses.
|
|
* src/libchip/network/dec21140.c, src/libchip/network/elnk.c,
src/libchip/network/greth.c, src/libchip/network/greth.h,
src/libchip/network/open_eth.c: Fix typo where license said
found in found in.
|
|
* libchip/network/greth.c, libchip/network/open_eth.c: Add constants
for buffer modes.
|
|
* libchip/network/greth.c: Misc. hacks to allow compilation on
16bit targets.
|
|
* libchip/network/greth.c: Eliminate unused type
rtems_clock_time_value.
|
|
|
|
* libchip/network/greth.c, libchip/network/greth.h: GRETH_GBIT support
and GBIT PHY support for 10/100 MAC, also auto negotiation updated.
|
|
* libchip/network/cs8900.c, libchip/network/cs8900.h,
libchip/network/greth.c, libchip/network/greth.h: Correct license URL
and/or fix mistake in copyright notice. Both of these mistakes appear
to be from code submitted after these changes were made previously.
|
|
* libchip/network/greth.c, libchip/network/open_eth.c,
libchip/network/smc91111.c, libchip/network/sonic.c: Fix error
introduced by warning removal.
|
|
* libchip/network/greth.c, libchip/network/open_eth.c,
libchip/network/smc91111.c: Remove warnings and correct prototype
added earlier today.
|
|
* libchip/network/cs8900.c, libchip/network/greth.c,
libchip/network/i82586.c, libchip/network/open_eth.c,
libchip/network/sonic.c: Remove warnings -- use uintptr_t, properly
sized integers, and inttypes.h printf helpers.
|
|
* libchip/Makefile.am, libchip/preinstall.am: Merge SPARC updates from
4.6 branch. Original modifications by Gaisler Enterprises.
* libchip/network/greth.c, libchip/network/greth.h: New files.
|