Hi,
Improvements after v4 review applied. Details can be found in the changelog.
The patches are also available in the public github tree: https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/opp-...
I'm looking forward to your comments.
Best regards, Marcin
Changelog: v4 -> v5 * General - Rebase onto newest master
* Library - Sort includes - Add comment in Mvpp2PrsTcamDataCmp - Remove space after '~' and '!' - Use unary '-' for inverting negative values - Replace '( (' with '((' - Break lines with '&&' in a consistent way with '||' - Remove stall from MvGop110PortIsLinkUp() for RXAUI links - Replace MVPP2_NULL with NULL
* Pp2Dxe.inf - Update BASE name and version number
v3 -> v4
* General - Rebase on top of linaro and tianocore master branches - Add commit with VOID* PCD declarations fixup - Squash library with driver
* Library: - Add capital letters for the rest of variables - Improve line breaks - Remove MVPP2_V1 sections - trick with PCD didn't work - Add 'IN OUT', where necessary in entire file
* Driver: - Sort all includes and PCD's - Improve PCD naming, add comments in docs - Update GUID's to use consistent values - Create Snp and SnpMode template, copymem and update only chosen fields - Remove MAC configuration via PCD - Copymem MAC address during init - Improve style, line breaks, brackets, add extra comments - In all routines, when checking interface state, separate success from error resolution (according to review hint) - Transmit - improve code, add comments, remove asm(), rename timeout and confusing 'Protocol' reference - Receive - move asserts to beginning of the function, rename 'Protocol', remove asm(), add comments - Initialize - add comments, improve casting and style - Remove redundant stall when opening interface
* Header - Replace custom ALIGN macros with ones from MdePkg/Include/Base.h - Sorting - Remove unused - Refactorize inline helpers - Additional comments
v2 -> v3
* Library - fully adjust to EDK2 coding style: - fix indentation, more efficient line breaking, blank line before comments, etc. - add spaces before '(' - align indentation and cleanup Mvpp2LibHw.h - adjust function declaration/definition to multiline format - set all functions' fields and local variables to begin with capital letters - unify same arguments to be used with consistent naming among functions - add comments for parser magic values (mostly TCAM/SRAM byte count here and there) - use local variables in order to simplify Mvpp2PrsSramOffsetSet()
* Driver - set all functions' fields and local variables to begin with capital letters
v1->v2
* Separate HW part of library header - Mvpp2LibHw.h - contains all HW-related defines and structures' definitions - Mvpp2Lib.h - library function prototypes and inline functions - Pp2Dxe.h - OS glue, macros, structures, driver constants
* Remove all Marvell-specific typedefs - MV_U8, MV_32 and so on
* Adjust code to UEFI coding style - Use typedefs for structures - Replace tabs with spaces - Replace "static" prefixes with "STATIC" - Change under_score style to CamelCase - Adjust namings accordingly - Commits currently passed PatchCheck test
* Improvements/fixes - Remove Linux-related leftovers in Pp2Dxe.h - Change library headers to BSD - only - Remove duplicated AXI configuration - Enable setting MAC address with PCD's - Implement Snp->StationAddress callback for resetting/updating MAC address
Bartosz Szczepanek (2): Drivers/Net: Create Pp2Dxe driver Platforms/Marvell: Enable Pp2Dxe driver on Armada70x0 platform
Documentation/Marvell/PortingGuide/Pp2.txt | 59 + Drivers/Net/Pp2Dxe/Mvpp2Lib.c | 4843 ++++++++++++++++++++++++++++ Drivers/Net/Pp2Dxe/Mvpp2Lib.h | 726 +++++ Drivers/Net/Pp2Dxe/Mvpp2LibHw.h | 1968 +++++++++++ Drivers/Net/Pp2Dxe/Pp2Dxe.c | 1271 ++++++++ Drivers/Net/Pp2Dxe/Pp2Dxe.h | 614 ++++ Drivers/Net/Pp2Dxe/Pp2Dxe.inf | 91 + Platforms/Marvell/Armada/Armada.dsc.inc | 1 + Platforms/Marvell/Armada/Armada70x0.dsc | 18 +- Platforms/Marvell/Armada/Armada70x0.fdf | 1 + Platforms/Marvell/Marvell.dec | 16 + 11 files changed, 9607 insertions(+), 1 deletion(-) create mode 100644 Documentation/Marvell/PortingGuide/Pp2.txt create mode 100644 Drivers/Net/Pp2Dxe/Mvpp2Lib.c create mode 100644 Drivers/Net/Pp2Dxe/Mvpp2Lib.h create mode 100644 Drivers/Net/Pp2Dxe/Mvpp2LibHw.h create mode 100644 Drivers/Net/Pp2Dxe/Pp2Dxe.c create mode 100644 Drivers/Net/Pp2Dxe/Pp2Dxe.h create mode 100644 Drivers/Net/Pp2Dxe/Pp2Dxe.inf