ralink: drop old ethernet driver Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 47899
ramips: Enable rx of 1536 bytes ethernet frames on MT7621 The default switch frame size (with FCS + header) is 1536 bytes. But the GMAC only accepted frames up to 1522 bytes. Setting it to 1536 allows to receive ethernet frames using the full of MTU 1500 + an extra VLAN header + VLAN header added by the switch. Signed-off-by: Sven Eckelmann <sven@open-mesh.com> SVN-Revision: 47117
ramips: Fix too small rx buffer The driver assumes that the maximum received buffer for non-jumbo frames is 1536 bytes. But the allocation of the rx fragment doesn't reflect that. It currently allocates fragments which will only be large enough to be used as rx buffer with the size of 1534 bytes. This is problematic because the GMAC will now try to write to 2 bytes which don't belong to its receive buffer when a large enough ethernet frame is received. This may already be a problem on existing chips but will at least become a problem when the 1536 byte rx modus is enabled on MT7621a. It is required on this SoC to receive ethernet frames which use their full 1500 bytes MTU and a VLAN header next to the switch VLAN tag. Signed-off-by: Sven Eckelmann <sven@open-mesh.com> SVN-Revision: 47116
ramips: Fix setting of rx buffer length The length of the DMA rx buffer was always set to 0 because the function for extracting the length was used to calculate the value for setting it. Instead the macro has to be split in a get and set function similar to the TX_DMA_(GET_|)PLEN(0|1) macro. No problem was noticed on MT7621a before this was changed and thus maybe it was hidden by different problem which is not yet fixed. Signed-off-by: Sven Eckelmann <sven@open-mesh.com> SVN-Revision: 47115
ramips: Allow to receive vlan over untag ports on MT7530 The MT7530 switch driver with enable_vlan set will automatically set all ports to the user port mode. The hardware will remove the incoming vlan tag on these ports and use it for its internal vlan. This is usually not wanted and makes it impossible to communicate via vlan over the switch in both directions. It is possible to configure a switch port to "transparent mode" when this port is only used as untag in the switch VLANs. This will disable the VLAN untagging of packets when they were received on this port. The tagging on "tag" ports based on the vlan id is still working. The transparent port mode cannot be used when a port is both used in a VLAN as "tag" and in another one as "untag" port. Signed-off-by: Sven Eckelmann <sven@open-mesh.com> SVN-Revision: 47114
ramips: collect rx related members to fe_rx_ring struct Signed-off-by: michael lee <igvtee@gmail.com> SVN-Revision: 46295
ramips: add xmit_more support use pktgen to verify on rt3662. can improve transmit rate. pkt_size 1500 burst 1 : 807Mb/sec burst 8 : 984Mb/sec pkt_size 60 burst 1 : 57Mb/sec burst 8 : 236Mb/sec Signed-off-by: michael lee <igvtee@gmail.com> SVN-Revision: 46294
ramips: improve tx clean up and add fe_tx_ring struct if there is any new tx need to clean up. do it in next napi poll. collect tx related members to fe_tx_ring struct. for better cache usage and more readable. Signed-off-by: michael lee <igvtee@gmail.com> SVN-Revision: 45895
ramips: change ethernet napi interrupt sequence when open device. first ready napi software rx. then enable hardware interrupt. final start software tx queue to send data. Signed-off-by: michael lee <igvtee@gmail.com> SVN-Revision: 45894
ramips: make ethernet register map u16 instead of u32 Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44940
ralink: support change tx/rx ring size Signed-off-by: michael lee <igvtee@gmail.com> SVN-Revision: 44741
ralink: use random generate mac address instead of default one. Signed-off-by: michael lee <igvtee@gmail.com> SVN-Revision: 44740
ralink: fix hw status almost full not work on mt7620 and mt7621 the old FE_INT_STATUS register becomes two registers. FE_INT_STATUS and INT_STATUS. so the hw status almost full must change to read from FE_INT_STATUS register. tx/rx done read from INT_STATUS register. mt7620 datasheet define CNT_GDM1_AF at BIT(29). but after test it should be BIT(13). why? Signed-off-by: michael lee <igvtee@gmail.com> SVN-Revision: 44371