#
abcc3eb0 |
| 17-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Allow configuration of phy interface via device-tree
This uses the standard phy-mode property
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Mil
ftgmac100: Allow configuration of phy interface via device-tree
This uses the standard phy-mode property
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
030d9828 |
| 17-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Add netpoll support
Just call the interrupt handler with interrupts locally disabled
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <dave
ftgmac100: Add netpoll support
Just call the interrupt handler with interrupts locally disabled
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
0fb99688 |
| 17-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Add vlan HW offload
The chip supports HW vlan tag insertion and extraction. Add support for it.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. M
ftgmac100: Add vlan HW offload
The chip supports HW vlan tag insertion and extraction. Add support for it.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
f48b3c0d |
| 17-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Add ndo_set_rx_mode() and support for multicast & promisc
This adds the ndo_set_rx_mode() callback to configure the multicast filters, promisc and allmulti options.
Signed-off-by: Benjam
ftgmac100: Add ndo_set_rx_mode() and support for multicast & promisc
This adds the ndo_set_rx_mode() callback to configure the multicast filters, promisc and allmulti options.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
7c8e5141 |
| 17-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Add pause frames configuration and support
Hopefully my understanding of how the hardware works is correct, as the documentation isn't completely clear. So far I have seen no obvious issu
ftgmac100: Add pause frames configuration and support
Hopefully my understanding of how the hardware works is correct, as the documentation isn't completely clear. So far I have seen no obvious issue. Pause seem to also work with NC-SI.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
e98233a6 |
| 17-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Add ethtool n-way reset call
A non-wired up implementation accidentally made its way in a previous patch (Make ring sizes configurable via ethtool).
This removes it and wires up the gene
ftgmac100: Add ethtool n-way reset call
A non-wired up implementation accidentally made its way in a previous patch (Make ring sizes configurable via ethtool).
This removes it and wires up the generic phy_ethtool_nway_reset instead.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
bd3e4fde |
| 11-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Set default ring sizes to 128 entries
I haven't seen any improvement above that size on the machines I've tested with.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Si
ftgmac100: Set default ring sizes to 128 entries
I haven't seen any improvement above that size on the machines I've tested with.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
52d9138f |
| 11-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Make ring sizes configurable via ethtool
We set an arbitrary max at 1024 since we pre-allocate the actual descriptor arrays and skb arrays to the full size to keep the code a bit simpler
ftgmac100: Make ring sizes configurable via ethtool
We set an arbitrary max at 1024 since we pre-allocate the actual descriptor arrays and skb arrays to the full size to keep the code a bit simpler and avoid allocation failures in the reset task.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
3833dc6c |
| 11-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Add more register inits in ftgmac100_init_hw()
Clear stale interrupts on entry, configure FIFO sizes, set FIFO thresholds, configure interrupt mitigation.
Signed-off-by: Benjamin Herrens
ftgmac100: Add more register inits in ftgmac100_init_hw()
Clear stale interrupts on entry, configure FIFO sizes, set FIFO thresholds, configure interrupt mitigation.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
8eecf7ca |
| 11-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Open code remaining register writes
The helpers just take space but don't provide much value. Simple one line comments are more explanatory.
Signed-off-by: Benjamin Herrenschmidt <benh@k
ftgmac100: Open code remaining register writes
The helpers just take space but don't provide much value. Simple one line comments are more explanatory.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
ba1b1234 |
| 11-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Rename ftgmac100_setup_mac to ftgmac100_initial_mac
To remove more confusion. This function is about obtaining the initial MAC address at driver probe time.
Signed-off-by: Benjamin Herre
ftgmac100: Rename ftgmac100_setup_mac to ftgmac100_initial_mac
To remove more confusion. This function is about obtaining the initial MAC address at driver probe time.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
f39c71b0 |
| 11-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Rename ftgmac100_set_mac to ftgmac100_write_mac_addr
To avoid confusion with the ndo callback and generally be clearer about the purpose of that function
Signed-off-by: Benjamin Herrensc
ftgmac100: Rename ftgmac100_set_mac to ftgmac100_write_mac_addr
To avoid confusion with the ndo callback and generally be clearer about the purpose of that function
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
8c3ed131 |
| 11-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Set netdev->hw_features
So features can be turned on/off via ethtool
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
6aff0bf6 |
| 11-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Disable HW checksum generation on AST2400, enable on others
We found out that HW checksum generation only works from AST2500 onward. This disables it on AST2400 and removes the "no-hw-che
ftgmac100: Disable HW checksum generation on AST2400, enable on others
We found out that HW checksum generation only works from AST2500 onward. This disables it on AST2400 and removes the "no-hw-checksum" properties in the device-trees. The problem we had wasn't related to NC-SI.
Also rework the logic testing for that property so it can be used to disable HW checksum generation and checking regardless of whether NC-SI is used or not in case other variants out there need this.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
78d28543 |
| 11-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Use device "compatible" property, not machine.
We test for aspeed chips to handle a couple of special cases, but we do that by checking the machine type which isn't right.
Instead check
ftgmac100: Use device "compatible" property, not machine.
We test for aspeed chips to handle a couple of special cases, but we do that by checking the machine type which isn't right.
Instead check the actual device compatible property. This also updates the dtsi files for the aspeed SoC to match.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
05690d63 |
| 11-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Upgrade to NETIF_F_HW_CSUM
The documentation describes NETIF_F_IP_CSUM as deprecated so let's switch to NETIF_F_HW_CSUM and use the helper to handle unhandled protocols.
Signed-off-by: B
ftgmac100: Upgrade to NETIF_F_HW_CSUM
The documentation describes NETIF_F_IP_CSUM as deprecated so let's switch to NETIF_F_HW_CSUM and use the helper to handle unhandled protocols.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
52c0cae8 |
| 09-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Remove tx descriptor accessors
Directly access the fields when needed. The accessors add clutter not clarity and in some cases cause unnecessary read-modify-write type access on the slow
ftgmac100: Remove tx descriptor accessors
Directly access the fields when needed. The accessors add clutter not clarity and in some cases cause unnecessary read-modify-write type access on the slow (uncached) descriptor memory.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
6db74704 |
| 09-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Add support for fragmented tx
Add NETIF_F_SG and create multiple TX ring entries for skb fragments.
On reclaim, the skb is only freed on the segment marked as "last".
Signed-off-by: Ben
ftgmac100: Add support for fragmented tx
Add NETIF_F_SG and create multiple TX ring entries for skb fragments.
On reclaim, the skb is only freed on the segment marked as "last".
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
e9245539 |
| 09-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Don't clear tx desc fields unnecessarily
Those are non-cachable stores, let's avoid those we don't need. Remove the helper, it's not particularly helpful and since it uses "priv" I can't
ftgmac100: Don't clear tx desc fields unnecessarily
Those are non-cachable stores, let's avoid those we don't need. Remove the helper, it's not particularly helpful and since it uses "priv" I can't move it to the header file.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
42c2d197 |
| 09-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Split tx packet freeing from ftgmac100_tx_complete_packet()
This moves the packet freeing to a separate function which is also used by ftgmac100_free_buffers() and will be used more in th
ftgmac100: Split tx packet freeing from ftgmac100_tx_complete_packet()
This moves the packet freeing to a separate function which is also used by ftgmac100_free_buffers() and will be used more in the error path of fragmented sends.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
4a2712b2 |
| 09-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Move the barrier out of ftgmac100_txdes_set_dma_own()
We'll use variants of this accessor without barriers when building series of descriptors for fragmented sends
Signed-off-by: Benjami
ftgmac100: Move the barrier out of ftgmac100_txdes_set_dma_own()
We'll use variants of this accessor without barriers when building series of descriptors for fragmented sends
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
6ad3d7ed |
| 09-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Cleanup tx queue handling
We have a private lock which isn't terribly useful, and we maintain a "tx_pending" counter for information that's already available via a trivial arithmetic oper
ftgmac100: Cleanup tx queue handling
We have a private lock which isn't terribly useful, and we maintain a "tx_pending" counter for information that's already available via a trivial arithmetic operation. Then we unconditionaly wake the queue even when not stopped. Finally our code in tx isn't really safe vs. a concurrent reclaim. The aspeed chips aren't SMP today but I prefer the code being right and future proof.
So rip that out and replace it with more "standard" queue handling, currently with a threshold of 1 queue element, which will be increased when we implement fragmented sends.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
83617317 |
| 09-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Store tx skbs in a separate array
Rather than in the descriptor. The descriptor is mapped non-cachable and rather slow to access.
Since to do that we need to keep track of the tx "pointe
ftgmac100: Store tx skbs in a separate array
Rather than in the descriptor. The descriptor is mapped non-cachable and rather slow to access.
Since to do that we need to keep track of the tx "pointer" we also have no use of all the accesors to manipulate it, just open code it, it's as clear and will help when adding fragmented sends.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
9b0f7711 |
| 09-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Pad small frames properly
Rather than just transmitting garbage past the end of the small packet.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S.
ftgmac100: Pad small frames properly
Rather than just transmitting garbage past the end of the small packet.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
3e427a33 |
| 09-Apr-2017 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
ftgmac100: Factor tx packet dropping path
Use a simple goto to a drop path at the tail of the function, it will be used in a few more cases soon
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.c
ftgmac100: Factor tx packet dropping path
Use a simple goto to a drop path at the tail of the function, it will be used in a few more cases soon
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|