summaryrefslogtreecommitdiff
path: root/drivers/net
AgeCommit message (Collapse)Author
2020-06-18net: eepro100: Fix EE_*_CMD macrosMarek Vasut
Those macros depended on specific variable names to be declared at their usage sites, fix this by adding an argument to those macros and also protect the argument with braces. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Factor out MII registrationMarek Vasut
Pull the MII registration code into a separate function. Moreover, properly free memory in case any of the registration or allocation functions fail, so this fixes an existing memleak. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Switch from malloc()+memset() to calloc()Marek Vasut
Replace malloc()+memset() combination with calloc(), no functional change. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Use PCI_DEVICE() to define PCI device compat listMarek Vasut
Use this macro to fully fill the PCI device ID table. This is mandatory for the DM PCI support, which checks all the fields. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Reorder functions in the driverMarek Vasut
Move the functions around in the driver to prepare it for DM conversion. Drop forward declarations which are not necessary anymore. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Remove volatile misuseMarek Vasut
Remove all the remaining use of the 'volatile' keyword, as this is no longer required. All the accesses which might have needed this use of 'volatile' have been repaired properly. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Add cache managementMarek Vasut
Add cache invalidation and flushes wherever the DMA descriptors are written or read, otherwise this driver cannot work reliably on any systems where caches are enabled. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Factor out tx_ring command issuingMarek Vasut
This code is replicated in the driver thrice almost verbatim, factor it out into a separate function and clean it up. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Replace purge_tx_ring() with memset()Marek Vasut
This function zeroes-out all the descriptors in the TX ring, use memset() instead. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Use standard I/O accessorsMarek Vasut
The current eepro100 driver accesses its memory mapped registers directly instead of using the standard I/O accessors. This can cause problems on some systems as the accesses can get out of order. So convert the direct volatile dereferences to use the normal in/out macros. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Fix camelcaseMarek Vasut
This is automated cleanup via checkpatch, no functional change. ./scripts/checkpatch.pl --show-types -f drivers/net/eepro100.c ./scripts/checkpatch.pl --types INDENTED_LABEL -f --fix --fix-inplace drivers/net/eepro100.c Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Fix remaining checkpatch issuesMarek Vasut
This is automated cleanup via checkpatch, no functional change. ./scripts/checkpatch.pl --show-types -f drivers/net/eepro100.c ./scripts/checkpatch.pl -f --fix --fix-inplace drivers/net/eepro100.c This fixes all the remaining errors except a couple of comments which are longer than 80 characters, all the volatile misuse and all the camelcase, that needs a separate patch. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Fix indented labelMarek Vasut
This is automated cleanup via checkpatch, no functional change. ./scripts/checkpatch.pl --show-types -f drivers/net/eepro100.c ./scripts/checkpatch.pl --types INDENTED_LABEL -f --fix --fix-inplace drivers/net/eepro100.c Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Fix pointer locationMarek Vasut
This is automated cleanup via checkpatch, no functional change. ./scripts/checkpatch.pl --show-types -f drivers/net/eepro100.c ./scripts/checkpatch.pl --types POINTER_LOCATION -f --fix --fix-inplace drivers/net/eepro100.c Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Fix parenthesis alignmentMarek Vasut
This is automated cleanup via checkpatch, no functional change. ./scripts/checkpatch.pl --show-types -f drivers/net/eepro100.c ./scripts/checkpatch.pl --types PARENTHESIS_ALIGNMENT -f --fix --fix-inplace drivers/net/eepro100.c Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Fix bracesMarek Vasut
This is automated cleanup via checkpatch, no functional change. ./scripts/checkpatch.pl --show-types -f drivers/net/eepro100.c ./scripts/checkpatch.pl --types BRACES -f --fix --fix-inplace drivers/net/eepro100.c Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Fix spacingMarek Vasut
This is automated cleanup via checkpatch, no functional change. ./scripts/checkpatch.pl --show-types -f drivers/net/eepro100.c ./scripts/checkpatch.pl --types SPACING -f --fix --fix-inplace drivers/net/eepro100.c Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Use plain debug()Marek Vasut
Convert all the ifdef DEBUG to plain debug(), no functional change. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Clean up commentsMarek Vasut
Clean the comments up to they trigger fewer checkpatch warnings, no functional change. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18net: eepro100: Remove EEPRO100_SROM_WRITEMarek Vasut
This code is never enabled, last board that used it was ELPPC which was removed some 5 years ago, so just remove this code altogether. Signed-off-by: Marek Vasut <[email protected]>
2020-06-18Merge tag 'ti-v2020.10-next' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-ti into next - DM conversion for OMAP4, OMAP5 platforms. - Other minor fixes for Nokia RX51, am33, am57, am654.
2020-06-16net: cpsw: Add __maybe_unused to generated inlinesTom Rini
We generate a number of helper inline functions to make accesses easier. However not all permutations of each function will be used and clang will warn about unused ones. Decorate all of them with __maybe_unused because of this. Cc: Lokesh Vutla <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Grygorii Strashko <[email protected]>
2020-06-12net: rtl8139: Add DM supportMarek Vasut
Add support for driver model to the driver. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-06-12net: rtl8139: Read HW address from EEPROM only on probeMarek Vasut
Do not re-read the HW address from the EEPROM on every start of transfer, otherwise the user will not be able to adjust ethaddr as needed. Read the address only once, when the card is detected. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-06-12net: rtl8139: Use PCI_DEVICE() to define PCI device compat listMarek Vasut
Use this macro to fully fill the PCI device ID table. This is mandatory for the DM PCI support, which checks all the fields. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-06-12net: rtl8139: Split out common and non-DM functionsMarek Vasut
Split the driver into common and non-DM functionality, so that the DM support can later re-use the common code, while we retain the non-DM code until all the platforms are converted. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-06-12net: rtl8139: Pass private data into rtl8139_eeprom_delay()Marek Vasut
Instead of always calling rtl8139_eeprom_delay() with priv->ioaddr, call it with priv and let the function access priv->ioaddr. This reduces code duplication and has no impact, since the compiler will inline this as needed anyway. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-06-12net: rtl8139: Introduce device private dataMarek Vasut
Introduce rtl8139_pdata, which is a super-structure around eth_device and tracks per-device state, here the device IO address, PCI BDF, RX and TX ring position. Pass this structure around instead of the old non-DM eth_device in preparation for DM conversion. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-06-12net: rtl8139: Clean up bus_to_phys()/phys_to_bus() macrosMarek Vasut
These macros depended on the dev variable being declared wherever they were used. This is wrong and will not work with DM anyway, so pass only the PCI BFD into these macros, which fixes the dependency and prepares them for DM support as well. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-06-12net: rtl8139: Use dev->iobase instead of custom ioaddrMarek Vasut
Replace the use of custom static ioaddr variable with common dev->iobase, no functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-06-12net: rtl8139: Switch from malloc()+memset() to calloc()Marek Vasut
Replace malloc()+memset() combination with calloc(), no functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-06-12net: rtl8139: Factor out device name assignmentMarek Vasut
Pull the device name setting into a separate function, as this will be shared between DM/non-DM variants. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-06-12net: phy: Add DP8382x phy registration to TI PHY initDan Murphy
Add the DP8382X generic PHY registration to the TI PHY init file. Acked-by: Michal Simek <[email protected]> Signed-off-by: Dan Murphy <[email protected]>
2020-06-12net: phy: Add support for TI PHY initDan Murphy
ti_phy_init function was allocated to the DP83867 PHY. This function name is to generic for a specific PHY. The function can be moved to a TI specific file that can register all TI PHYs that are defined in the defconfig. The ti_phy_init file will contain all TI PHYs initialization so that only phy_ti_init can be called from the framework. In addition to the above the config flag for the DP83867 needs to be changed in the Kconfig and dependent defconfig files. The config flag that was used for the DP83867 was also generic in nature so a more specific config flag for the DP83867 was created. Acked-by: Michal Simek <[email protected]> Signed-off-by: Dan Murphy <[email protected]>
2020-06-12net: phy: add phyid search in vendor specific spaceFlorin Chiculita
There are devices accesible through mdio clause-45, such as retimers, that do not have PMA or PCS blocks. This patch adds MDIO_MMD_VEND1 on the list of device addresses where phyid is searched. Previous order of devices was kept. Signed-off-by: Florin Chiculita <[email protected]> Reviewed-by: Madalin Bucur <[email protected]>
2020-06-12net: rt8169: WAR for DHCP not getting IP after kernel boot/rebootTom Warren
This is a WAR for DHCP failure after rebooting from the L4T kernel. The r8169.c kernel driver is setting bit 19 of the rt816x HW register 0xF0, which goes by FuncEvent and MISC in various driver source/datasheets. That bit is called RxDv_Gated_En in the r8169.c kernel driver. Clear it here at the end of probe to ensure that U-Boot can get an IP assigned via DHCP. Signed-off-by: Tom Warren <[email protected]>
2020-06-12net: phy: micrel: ksz8061 implement errata 80000688A fixBryan O'Donoghue
Linux commit 232ba3a51cc2 ('net: phy: Micrel KSZ8061: link failure after cable connect') implements a fix for the above errata. This patch replicates that errata fix in an ksz8061 specific init routine. Signed-off-by: Bryan O'Donoghue <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2020-06-08Merge https://gitlab.denx.de/u-boot/custodians/u-boot-mpc85xxTom Rini
- DM_ETH support for P2041RDB, T1024RDB, P5040DS, P3041DS, P4080DS, bug fixes - Add TBI PHY access through MII - DDR: Rework errata workaround for A008109, A008378, 009942
2020-06-04net: tsec: Access TBI PHY through the corresponding MIIHou Zhiqiang
When an eTSEC is configured to use TBI, configuration of the TBI is done through the MIIM registers for that eTSEC. For example, if a TBI interface is required on eTSEC2, then the MIIM registers starting at offset 0x2_5520 are used to configure it. Fixes: 9a1d6af55ecd ("net: tsec: Add driver model ethernet support") Signed-off-by: Hou Zhiqiang <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Tested-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2020-06-04net: tsec: Access eTSEC registers using virtual addressHou Zhiqiang
The current code accesses eTSEC registers using physical address directly, it's not correct, though no problem on current platforms. It won't work on platforms, which does not support 1:1 virtual-physical address map. Signed-off-by: Hou Zhiqiang <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Tested-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2020-06-04net: tsec: fsl_mdio: add DM MDIO supportMadalin Bucur
Allow the MDIO devices to be probed based on the device tree. Signed-off-by: Madalin Bucur <[email protected]> Signed-off-by: Priyanka Jain <[email protected]>
2020-06-03drivers: net: e1000: with DM_ETH needs DM_PCI tooMadalin Bucur
Compilation error occur when DM_ETH is enabled without DM_PCI. Signed-off-by: Madalin Bucur <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2020-06-01net: sun8i_emac: Add support for the H6 variantSamuel Holland
The H6 EMAC is very similar to the H3 variant, except that it uses the same pinmux as R40. Add support for it. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2020-06-01net: sun8i_emac: Use consistent clock bitfield definitionsSamuel Holland
While the R40 uses a different register for EMAC clock configuration than other chips, the register has a very similar layout. Reuse the existing bitfield definitions in this file, since they match. This allows the driver to compile on the H6 platform, where the CCM_GMAC_CTRL definitions are not present. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2020-05-22net: ks8851: Add Kconfig entriesMarek Vasut
Convert CONFIG_KS8851_MLL and CONFIG_KS8851_MLL_BASEADDR to Kconfig Signed-off-by: Marek Vasut <[email protected]> Cc: Eugen Hristev <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-22net: ks8851: Add DM supportMarek Vasut
Add support for U-Boot DM and DT probing. Signed-off-by: Marek Vasut <[email protected]> Cc: Eugen Hristev <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-22net: ks8851: Receive one packet per recv callMarek Vasut
Instead of reading out the entire FIFO and possibly overwriting U-Boot memory, read out one packet per recv call, pass it to U-Boot network stack, and repeat. It is however necessary to cache RXFC value, because reading that one out clears it. Signed-off-by: Marek Vasut <[email protected]> Cc: Eugen Hristev <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-22net: ks8851: Split non-DM specific bits from common codeMarek Vasut
Split network handling functions into non-DM specific parts and common code in preparation for conversion to DM. Signed-off-by: Marek Vasut <[email protected]> Cc: Eugen Hristev <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-22net: ks8851: Pass around driver private dataMarek Vasut
Introduce a private data structure for this driver with embedded struct eth_device and pass it around. This prepares the driver to work with both DM and non-DM systems. Signed-off-by: Marek Vasut <[email protected]> Cc: Eugen Hristev <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-22net: ks8851: Checkpatch cleanupMarek Vasut
Fix various checkpatch complaints. Signed-off-by: Marek Vasut <[email protected]> Cc: Eugen Hristev <[email protected]> Cc: Joe Hershberger <[email protected]>