Skip to content

Commit

Permalink
Merge branch 'fsl-fmain'
Browse files Browse the repository at this point in the history
Igal Liberman says:

====================
Freescale DPAA FMan

The Freescale Data Path Acceleration Architecture (DPAA) is a set
of hardware components on specific QorIQ multicore processors.
This architecture provides the infrastructure to support
simplified sharing of networking interfaces and accelerators
by multiple CPU cores and the accelerators.

One of the DPAA accelerators is the Frame Manager (FMan)
which contains a series of hardware blocks: ports, Ethernet MACs,
a multi user RAM (MURAM) and Storage Profile (SP).

This patch set introduce the FMan drivers.
Each driver configures and initializes the corresponding
FMan hardware module (described above).
The MAC driver offers support for three different
types of MACs (eTSEC, TGEC, MEMAC).

v9 --> v10:
	- Addressed feedback from David Miller
		Remove private CRC implementation
	- Addressed feedback from Kenneth Klette Jonassen:
		- Use Kernel PHY API to configure dTSEC TBI
		- Use Kernel PHY API to configure mEMAC PCS
		  This patchset requires device tree update:
		  https://patchwork.ozlabs.org/patch/559501/
	- Addressed feedback from Andy Fleming

v8 --> v9:
	No changes

v7 --> v8:
	- Addressed feedback from David Miller
	- Support for ARM:
		- Device tree parsing
		- IO Accessors
		- Addressed compilation issue on non-PPC targets

v6 --> v7:
	- Addressed compilation issue on non-PPC targets
	- Removed B4860 rev 1 support

v5 --> v6:
	- Addressed feedback from Scott:
		- Moved kernel doc to source files
		- Removed a series of configurable settings
		- Miscellaneous code updates

v4 --> v5:
	- Addressed feedback from David Miller:
		- Removed driver layering
		- Reduce namespace pollution
		- Reduce code complexity and size

v3 --> v4:
	- Remove device_initcall call in driver registration (redundant)
	- Remove hot/cold labels
	- Minor update in FMan Clock read from device-tree
	- Update fixed-link support
	- Addressed feedback from Stephen Hemminger
		- Remove bogus blank line

v2 --> v3:
	- Addressed feedback from Scott:
		- Remove typedefs
		- Remove unnecessary memory barriers
		- Remove unnecessary casting
		- Remove KConfig options
		- Remove early_params
		- Remove Hungarian notation
		- Remove __packed__  attribute and padding from structures
		- Remove unlikely attribute (where it's not needed)
		- Use proper error codes and remove unnecessary prints
		- Use proper values for sleep routines
		- Replace complex Macros with functions
		- Improve device tree processing code
		- Use symbolic defines
		- Add time-out in busy-wait loops
		- Removed exit code (loadable module support will be added later)
	- Fixed "fixed-link" issue raised by Joakim Tjernlund

v1 --> v2:
	- Addressed feedback from Paul Bolle:
		- General feedback of FMan Driver layer
		- Remove Errata defines
		- Aligned comments to Kernel Doc
		- Remove Loadable Module support (not yet supported)
		- Removed not needed KConfig dependencies
	- Addressed feedback from Scott Wood
		- Use Kernel ioread/iowrite services
		- Squash FLIB source and header patches together

This submission is based on the prior Freescale DPAA FMan V3,RFC submission.
Several issues addresses in this submission:
	- Reduced MAC layering and complexity
	- Reduced code base
	- T1024/T2080 10G best effort support
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Dec 28, 2015
2 parents 039f506 + 3933961 commit 7b752fd
Show file tree
Hide file tree
Showing 21 changed files with 10,557 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/net/ethernet/freescale/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ config FEC_MPC52xx_MDIO
If compiled as module, it will be called fec_mpc52xx_phy.

source "drivers/net/ethernet/freescale/fs_enet/Kconfig"
source "drivers/net/ethernet/freescale/fman/Kconfig"

config FSL_PQ_MDIO
tristate "Freescale PQ MDIO"
Expand Down
2 changes: 2 additions & 0 deletions drivers/net/ethernet/freescale/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,5 @@ gianfar_driver-objs := gianfar.o \
gianfar_ethtool.o
obj-$(CONFIG_UCC_GETH) += ucc_geth_driver.o
ucc_geth_driver-objs := ucc_geth.o ucc_geth_ethtool.o

obj-$(CONFIG_FSL_FMAN) += fman/
8 changes: 8 additions & 0 deletions drivers/net/ethernet/freescale/fman/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
config FSL_FMAN
bool "FMan support"
depends on FSL_SOC || COMPILE_TEST
select GENERIC_ALLOCATOR
default n
help
Freescale Data-Path Acceleration Architecture Frame Manager
(FMan) support
7 changes: 7 additions & 0 deletions drivers/net/ethernet/freescale/fman/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
subdir-ccflags-y += -I$(srctree)/drivers/net/ethernet/freescale/fman

obj-y += fsl_fman.o fsl_fman_mac.o fsl_mac.o

fsl_fman-objs := fman_muram.o fman.o fman_sp.o fman_port.o
fsl_fman_mac-objs := fman_dtsec.o fman_memac.o fman_tgec.o
fsl_mac-objs += mac.o
Loading

0 comments on commit 7b752fd

Please sign in to comment.