#
837a7ec1 |
|
20-Jul-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
trivial: Fix compiler warnings in tx2 driver - Remove unused variables - Return error instead of abort during init
|
#
390eaf06 |
|
16-Jul-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
ethdrivers,tx2: Disable MMC event counters These envent counters create interrupt storms if they are about to overflow. Disabling them from counting prevents this.
|
#
26450366 |
|
16-Jul-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
ethdrivers,tx2: Only interrupt every 32 tx packets This limits irqs for tx in order to more lazily clean up after successful transmits.
|
#
c60b5ff0 |
|
16-Jul-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
ethdrivers,tx2: Batch rx interrupts using timer Use a timer to delay delivery of RX interrupts in order to limit amount of RX interrupts received under heavy load.
|
#
652704a8 |
|
16-Jul-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
ethdrivers,tx2: Refactor hardware defs into header Move hardware definitions into header so that they can be accessed by other driver files.
|
#
59ed7e98 |
|
20-May-2020 |
Damon Lee <Damon.Lee@data61.csiro.au> |
trivial: Update comment to reflect changes
|
#
9210fa7e |
|
20-May-2020 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libethdrivers,tx2: Fit TX,RX tail descriptors The tail descriptors indicate the last descriptor that is available to the DMA controller for the Ethernet module. While it is possible if we set the tail descriptor to be the last descriptor in the allocated ring, this could cause slowdowns when the DMA controller looks at a descriptor in the ring that is not ready to be transmitted/received into. This commit changes it so that the tail descriptors are set when we have buffers ready and so also that it matches the last descriptor that is available to be acted on.
|
#
e8a8e42f |
|
20-May-2020 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libethdrivers,tx2: Tweak Ethernet register options This tweaks the Ethernet device options so that it matches those used in Linux 4 Tegra (NVIDIA's fork of Linux).
|
#
e4f274f9 |
|
20-May-2020 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libethdrivers,tx2: Calibrate after setting clock Calibration should occur after the TX clock is set properly.
|
#
667d4a86 |
|
19-May-2020 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libethdrivers,tx2: Fix up clock starting logic Clocks were been mistaken for clock gates in a few places. This commit corrects this error and also adds diagnostic messages on error.
|
#
43c8e19f |
|
11-May-2020 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libethdrivers,tx2: Stop spurious IRQs in TX Disabling interrupts in the TX path prevents extra interrupts from firing while handing the interrupts.
|
#
e163560f |
|
11-May-2020 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libethdrivers,tx2: Refactor RX IRQ handling code This commits refactors the RX path IRQ handling code so the process of disabling RX interrupts is outside of the IRQ status checking code. It makes more sense to disable interrupts in the IRQ handling function and not in the IRQ status checking code. Also rename one of fields in the DMA registers struct so that it matches the actual functionality.
|
#
df8d3dac |
|
11-May-2020 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libethdrivers,tx2: Fix up descriptors and buffers The address of the last descriptor was off by one and some descriptors also had invalid buffers when refilling buffers for the RX ring. This wasn't a problem for applications working under lower throughputs but on higher throughputs, the Ethernet device would sometimes hang possibly due to bus errors on the DMA controller. This commit fixes those issues.
|
#
2d6a3ff1 |
|
22-Mar-2020 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libethdrivers,tx2: Use interface reg. service Instead of just initialising the hardware interfaces necessary for TX2's Ethernet driver straightaway, this commit changes the driver to search for the hardware interfaces in libplatsupport's interface registration service.
|
#
21605856 |
|
23-Apr-2020 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libethdrivers,tx2: Ignore false Ethernet interrupt Sometimes when the Ethernet devices starts up, it fires an interrupt to the common interrupt line which is not a TX nor a RX-related interrupt. This commits changes the logic so that it ignores any false interrupts.
|
#
8552d375 |
|
14-Apr-2020 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libethdrivers,tx2: Return bits in eqos_handle_irq Now that the TX interrupt is also working, there may be a situation where both RX and TX interrupts to fire at the same causing the common interrupt line to mask either one of the two. This commit updates the interrupt handler so that it returns a bitfield of interrupts seen so that it avoids this situation. Also replace the magic numbers in the driver with constants and make a minor aesthetics change to make it more readable.
|
#
6200729f |
|
14-Apr-2020 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libethdrivers,tx2: Change TX path to be IRQ based This commit changes the TX path to be IRQ based instead of the previous polling approach, that is, to get the driver to fire an interrupt upon the transmission of all the packets instead of polling until all packets have been sent.
|
#
90c284c4 |
|
09-Feb-2020 |
Oliver Scott <Oliver.Scott@data61.csiro.au> |
tx2-ethernet: port Synopsis driver Port/reverse engineer driver from linux/l4t/u-boot sources.
|