Staging: Octeon-ethernet driver.
cover Staging: Octeon-ethernet driver.
This patch set introduces the octeon-ethernet driver into the drivers/staging tree. The Octeon is a mips64r2 base multi-core SOC family.
The first five patches are small tweaks to the existing octeon support that are required by the ethernet driver. I would expect them to be merged via Ralf's linux-mips.org tree.
The last two are the driver, and would probably be merged via the drivers/staging tree. However since they depend on the first five, they probably shouldn't be merged until those five are merged.
I will reply with the seven patches.
David Daney (7):
MIPS: Add named alloc functions to OCTEON boot monitor memory
allocator.
MIPS: Export cvmx_sysinfo_get needed by octeon-ethernet driver.
MIPS: Cavium-Octeon: Add more board type constants.
MIPS: Cavium-Octeon: Add more chip specific feature tests.
MIPS: Export erratum function needed by octeon-ethernet driver. [Staging] Add octeon-ethernet driver files.
[Staging] Hookup octeon-ethernet driver.
arch/mips/cavium-octeon/executive/cvmx-bootmem.c | 104 + .../cavium-octeon/executive/cvmx-helper-errata.c | 3 + arch/mips/cavium-octeon/executive/cvmx-sysinfo.c | 2 + arch/mips/include/asm/octeon/cvmx-bootinfo.h | 13 + arch/mips/include/asm/octeon/cvmx-bootmem.h | 85 + arch/mips/include/asm/octeon/octeon-feature.h | 27 + drivers/staging/Kconfig | 2 + drivers/staging/Makefile | 1 + drivers/staging/octeon/Kconfig | 12 + drivers/staging/octeon/Makefile | 30 + drivers/staging/octeon/cvmx-address.h | 274 +++ drivers/staging/octeon/cvmx-asxx-defs.h | 475 ++++ drivers/staging/octeon/cvmx-cmd-queue.c | 306 +++ drivers/staging/octeon/cvmx-cmd-queue.h | 617 +++++ drivers/staging/octeon/cvmx-config.h | 169 ++ drivers/staging/octeon/cvmx-dbg-defs.h | 72 + drivers/staging/octeon/cvmx-fau.h | 597 +++++ drivers/staging/octeon/cvmx-fpa-defs.h | 403 ++++ drivers/staging/octeon/cvmx-fpa.c | 183 ++ drivers/staging/octeon/cvmx-fpa.h | 299 +++ drivers/staging/octeon/cvmx-gmxx-defs.h | 2529 ++++++++++++++++++++ drivers/staging/octeon/cvmx-helper-board.c | 706 ++++++ drivers/staging/octeon/cvmx-helper-board.h | 180 ++ drivers/staging/octeon/cvmx-helper-fpa.c | 243 ++ drivers/staging/octeon/cvmx-helper-fpa.h | 64 + drivers/staging/octeon/cvmx-helper-loop.c | 85 + drivers/staging/octeon/cvmx-helper-loop.h | 59 + drivers/staging/octeon/cvmx-helper-npi.c | 113 + drivers/staging/octeon/cvmx-helper-npi.h | 60 + drivers/staging/octeon/cvmx-helper-rgmii.c | 525 ++++ drivers/staging/octeon/cvmx-helper-rgmii.h | 110 + drivers/staging/octeon/cvmx-helper-sgmii.c | 550 +++++ drivers/staging/octeon/cvmx-helper-sgmii.h | 104 + drivers/staging/octeon/cvmx-helper-spi.c | 195 ++ drivers/staging/octeon/cvmx-helper-spi.h | 84 + drivers/staging/octeon/cvmx-helper-util.c | 433 ++++ drivers/staging/octeon/cvmx-helper-util.h | 215 ++ drivers/staging/octeon/cvmx-helper-xaui.c | 348 +++ drivers/staging/octeon/cvmx-helper-xaui.h | 103 + drivers/staging/octeon/cvmx-helper.c | 1058 ++++++++ drivers/staging/octeon/cvmx-helper.h | 227 ++ drivers/staging/octeon/cvmx-interrupt-decodes.c | 371 +++ drivers/staging/octeon/cvmx-interrupt-rsl.c | 140 ++ drivers/staging/octeon/cvmx-ipd.h | 338 +++ drivers/staging/octeon/cvmx-mdio.h | 506 ++++ drivers/staging/octeon/cvmx-packet.h | 65 + drivers/staging/octeon/cvmx-pcsx-defs.h | 370 +++ drivers/staging/octeon/cvmx-pcsxx-defs.h | 316 +++ drivers/staging/octeon/cvmx-pip-defs.h | 1267 ++++++++++ drivers/staging/octeon/cvmx-pip.h | 524 ++++ drivers/staging/octeon/cvmx-pko-defs.h | 1133 +++++++++ drivers/staging/octeon/cvmx-pko.c | 506 ++++ drivers/staging/octeon/cvmx-pko.h | 610 +++++ drivers/staging/octeon/cvmx-pow.h | 1982 +++++++++++++++ drivers/staging/octeon/cvmx-scratch.h | 139 ++ drivers/staging/octeon/cvmx-smix-defs.h | 178 ++ drivers/staging/octeon/cvmx-spi.c | 667 ++++++ drivers/staging/octeon/cvmx-spi.h | 269 +++ drivers/staging/octeon/cvmx-spxx-defs.h | 347 +++ drivers/staging/octeon/cvmx-srxx-defs.h | 126 + drivers/staging/octeon/cvmx-stxx-defs.h | 292 +++ drivers/staging/octeon/cvmx-wqe.h | 397 +++ drivers/staging/octeon/ethernet-common.c | 328 +++ drivers/staging/octeon/ethernet-common.h | 29 + drivers/staging/octeon/ethernet-defines.h | 134 + drivers/staging/octeon/ethernet-mdio.c | 231 ++ drivers/staging/octeon/ethernet-mdio.h | 46 + drivers/staging/octeon/ethernet-mem.c | 198 ++ drivers/staging/octeon/ethernet-mem.h | 29 + drivers/staging/octeon/ethernet-proc.c | 256 ++ drivers/staging/octeon/ethernet-proc.h | 29 + drivers/staging/octeon/ethernet-rgmii.c | 397 +++ drivers/staging/octeon/ethernet-rx.c | 505 ++++ drivers/staging/octeon/ethernet-rx.h | 33 + drivers/staging/octeon/ethernet-sgmii.c | 129 + drivers/staging/octeon/ethernet-spi.c | 323 +++ drivers/staging/octeon/ethernet-tx.c | 634 +++++ drivers/staging/octeon/ethernet-tx.h | 32 + drivers/staging/octeon/ethernet-util.h | 81 + drivers/staging/octeon/ethernet-xaui.c | 127 + drivers/staging/octeon/ethernet.c | 507 ++++ drivers/staging/octeon/octeon-ethernet.h | 127 + 82 files changed, 26383 insertions(+), 0 deletions(-)
create mode 100644 drivers/staging/octeon/Kconfig create mode 100644 drivers/staging/octeon/Makefile create mode 100644 drivers/staging/octeon/cvmx-address.h create mode 100644 drivers/staging/octeon/cvmx-asxx-defs.h create mode 100644 drivers/staging/octeon/cvmx-cmd-queue.c create mode 100644 drivers/staging/octeon/cvmx-cmd-queue.h create mode 100644 drivers/staging/octeon/cvmx-config.h create mode 100644 drivers/staging/octeon/cvmx-dbg-defs.h create mode 100644 drivers/staging/octeon/cvmx-fau.h create mode 100644 drivers/staging/octeon/cvmx-fpa-defs.h create mode 100644 drivers/staging/octeon/cvmx-fpa.c create mode 100644 drivers/staging/octeon/cvmx-fpa.h create mode 100644 drivers/staging/octeon/cvmx-gmxx-defs.h create mode 100644 drivers/staging/octeon/cvmx-helper-board.c create mode 100644 drivers/staging/octeon/cvmx-helper-board.h create mode 100644 drivers/staging/octeon/cvmx-helper-fpa.c create mode 100644 drivers/staging/octeon/cvmx-helper-fpa.h create mode 100644 drivers/staging/octeon/cvmx-helper-loop.c create mode 100644 drivers/staging/octeon/cvmx-helper-loop.h create mode 100644 drivers/staging/octeon/cvmx-helper-npi.c create mode 100644 drivers/staging/octeon/cvmx-helper-npi.h create mode 100644 drivers/staging/octeon/cvmx-helper-rgmii.c create mode 100644 drivers/staging/octeon/cvmx-helper-rgmii.h create mode 100644 drivers/staging/octeon/cvmx-helper-sgmii.c create mode 100644 drivers/staging/octeon/cvmx-helper-sgmii.h create mode 100644 drivers/staging/octeon/cvmx-helper-spi.c create mode 100644 drivers/staging/octeon/cvmx-helper-spi.h create mode 100644 drivers/staging/octeon/cvmx-helper-util.c create mode 100644 drivers/staging/octeon/cvmx-helper-util.h create mode 100644 drivers/staging/octeon/cvmx-helper-xaui.c create mode 100644 drivers/staging/octeon/cvmx-helper-xaui.h create mode 100644 drivers/staging/octeon/cvmx-helper.c create mode 100644 drivers/staging/octeon/cvmx-helper.h create mode 100644 drivers/staging/octeon/cvmx-interrupt-decodes.c create mode 100644 drivers/staging/octeon/cvmx-interrupt-rsl.c create mode 100644 drivers/staging/octeon/cvmx-ipd.h create mode 100644 drivers/staging/octeon/cvmx-mdio.h create mode 100644 drivers/staging/octeon/cvmx-packet.h create mode 100644 drivers/staging/octeon/cvmx-pcsx-defs.h create mode 100644 drivers/staging/octeon/cvmx-pcsxx-defs.h create mode 100644 drivers/staging/octeon/cvmx-pip-defs.h create mode 100644 drivers/staging/octeon/cvmx-pip.h create mode 100644 drivers/staging/octeon/cvmx-pko-defs.h create mode 100644 drivers/staging/octeon/cvmx-pko.c create mode 100644 drivers/staging/octeon/cvmx-pko.h create mode 100644 drivers/staging/octeon/cvmx-pow.h create mode 100644 drivers/staging/octeon/cvmx-scratch.h create mode 100644 drivers/staging/octeon/cvmx-smix-defs.h create mode 100644 drivers/staging/octeon/cvmx-spi.c create mode 100644 drivers/staging/octeon/cvmx-spi.h create mode 100644 drivers/staging/octeon/cvmx-spxx-defs.h create mode 100644 drivers/staging/octeon/cvmx-srxx-defs.h create mode 100644 drivers/staging/octeon/cvmx-stxx-defs.h create mode 100644 drivers/staging/octeon/cvmx-wqe.h create mode 100644 drivers/staging/octeon/ethernet-common.c create mode 100644 drivers/staging/octeon/ethernet-common.h create mode 100644 drivers/staging/octeon/ethernet-defines.h create mode 100644 drivers/staging/octeon/ethernet-mdio.c create mode 100644 drivers/staging/octeon/ethernet-mdio.h create mode 100644 drivers/staging/octeon/ethernet-mem.c create mode 100644 drivers/staging/octeon/ethernet-mem.h create mode 100644 drivers/staging/octeon/ethernet-proc.c create mode 100644 drivers/staging/octeon/ethernet-proc.h create mode 100644 drivers/staging/octeon/ethernet-rgmii.c create mode 100644 drivers/staging/octeon/ethernet-rx.c create mode 100644 drivers/staging/octeon/ethernet-rx.h create mode 100644 drivers/staging/octeon/ethernet-sgmii.c create mode 100644 drivers/staging/octeon/ethernet-spi.c create mode 100644 drivers/staging/octeon/ethernet-tx.c create mode 100644 drivers/staging/octeon/ethernet-tx.h create mode 100644 drivers/staging/octeon/ethernet-util.h create mode 100644 drivers/staging/octeon/ethernet-xaui.c create mode 100644 drivers/staging/octeon/ethernet.c create mode 100644 drivers/staging/octeon/octeon-ethernet.h
PATCH 1/7 MIPS: Add named alloc functions to OCTEON boot monitor memory allocator.
The various Octeon ethernet drivers use these new functions.
--- arch/mips/cavium-octeon/executive/cvmx-bootmem.c | 104 ++++++++++++++++++++++ arch/mips/include/asm/octeon/cvmx-bootmem.h | 85 ++++++++++++++++++ 2 files changed, 189 insertions(+), 0 deletions(-)
arch/mips/cavium-octeon/executive/cvmx-bootmem.c +104 -0
@@ -31,6 +31,7 @@*/ #include <linux/kernel.h> +#include <linux/module.h> #include <asm/octeon/cvmx.h> #include <asm/octeon/cvmx-spinlock.h>
@@ -97,6 +98,33 @@ void *cvmx_bootmem_alloc(uint64_t size, uint64_t alignment)return cvmx_bootmem_alloc_range (size, alignment,0 ,0 ); } +void *cvmx_bootmem_alloc_named_range (uint64_t size,uint64_t min_addr, +uint64_t max_addr,uint64_t align, +char *name) +{ +int64_t addr; + + addr =cvmx_bootmem_phy_named_block_alloc (size, min_addr, max_addr, + align, name,0 ); +if (addr >=0 ) +return cvmx_phys_to_ptr (addr); +else +return NULL ; +} + +void *cvmx_bootmem_alloc_named_address (uint64_t size,uint64_t address, +char *name) +{ +return cvmx_bootmem_alloc_named_range (size, address, address + size, +0 , name); +} + +void *cvmx_bootmem_alloc_named (uint64_t size,uint64_t alignment,char *name) +{ +return cvmx_bootmem_alloc_named_range (size,0 ,0 , alignment, name); +} +EXPORT_SYMBOL (cvmx_bootmem_alloc_named); +int cvmx_bootmem_free_named (char *name) {return cvmx_bootmem_phy_named_block_free (name,0 );
@@ -106,6 +134,7 @@ struct cvmx_bootmem_named_block_desc *cvmx_bootmem_find_named_block(char *name) {return cvmx_bootmem_phy_named_block_find (name,0 ); } +EXPORT_SYMBOL (cvmx_bootmem_find_named_block);void cvmx_bootmem_lock (void ) {
@@ -584,3 +613,78 @@ int cvmx_bootmem_phy_named_block_free(char *name, uint32_t flags)cvmx_bootmem_unlock ();return named_block_ptr !=NULL ;/* 0 on failure, 1 on success */ } + +int64_t cvmx_bootmem_phy_named_block_alloc (uint64_t size,uint64_t min_addr, +uint64_t max_addr, +uint64_t alignment, +char *name, +uint32_t flags) +{ +int64_t addr_allocated; +struct cvmx_bootmem_named_block_desc *named_block_desc_ptr; + +#ifdef DEBUG +cvmx_dprintf ("cvmx_bootmem_phy_named_block_alloc: size: 0x%llx, min: " +"0x%llx, max: 0x%llx, align: 0x%llx, name: %s\n" , + (unsigned long long )size, + (unsigned long long )min_addr, + (unsigned long long )max_addr, + (unsigned long long )alignment, + name); +#endif +if (cvmx_bootmem_desc->major_version !=3 ) { +cvmx_dprintf ("ERROR: Incompatible bootmem descriptor version: " +"%d.%d at addr: %p\n" , + (int )cvmx_bootmem_desc->major_version, + (int )cvmx_bootmem_desc->minor_version, + cvmx_bootmem_desc); +return -1 ; + } + +/* +* Take lock here, as name lookup/block alloc/name add need to +* be atomic. +*/ +if (!(flags &CVMX_BOOTMEM_FLAG_NO_LOCKING )) +cvmx_spinlock_lock ((cvmx_spinlock_t *)&(cvmx_bootmem_desc->lock)); + +/* Get pointer to first available named block descriptor */ + named_block_desc_ptr = +cvmx_bootmem_phy_named_block_find (NULL , + flags |CVMX_BOOTMEM_FLAG_NO_LOCKING ); + +/* +* Check to see if name already in use, return error if name +* not available or no more room for blocks. +*/ +if (cvmx_bootmem_phy_named_block_find (name, + flags |CVMX_BOOTMEM_FLAG_NO_LOCKING ) || !named_block_desc_ptr) { +if (!(flags &CVMX_BOOTMEM_FLAG_NO_LOCKING )) +cvmx_spinlock_unlock ((cvmx_spinlock_t *)&(cvmx_bootmem_desc->lock)); +return -1 ; + } + + +/* +* Round size up to mult of minimum alignment bytes We need +* the actual size allocated to allow for blocks to be +* coallesced when they are freed. The alloc routine does the +* same rounding up on all allocations. +*/ + size =__ALIGN_MASK (size, (CVMX_BOOTMEM_ALIGNMENT_SIZE -1 )); + + addr_allocated =cvmx_bootmem_phy_alloc (size, min_addr, max_addr, + alignment, + flags |CVMX_BOOTMEM_FLAG_NO_LOCKING ); +if (addr_allocated >=0 ) { + named_block_desc_ptr->base_addr = addr_allocated; + named_block_desc_ptr->size = size; +strncpy (named_block_desc_ptr->name, name, + cvmx_bootmem_desc->named_block_name_len); + named_block_desc_ptr->name[cvmx_bootmem_desc->named_block_name_len -1 ] =0 ; + } + +if (!(flags &CVMX_BOOTMEM_FLAG_NO_LOCKING )) +cvmx_spinlock_unlock ((cvmx_spinlock_t *)&(cvmx_bootmem_desc->lock)); +return addr_allocated; +}
arch/mips/include/asm/octeon/cvmx-bootmem.h +85 -0
97 lines not on this page · raw message
Signature · 1 line
1.6.0.6
PATCH 2/7 MIPS: Export cvmx_sysinfo_get needed by octeon-ethernet driver.
In reply to David Daney--- arch/mips/cavium-octeon/executive/cvmx-sysinfo.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
arch/mips/cavium-octeon/executive/cvmx-sysinfo.c +2 -0
@@ -29,6 +29,7 @@* This module provides system/board/application information obtained * by the bootloader. */ +#include <linux/module.h> #include <asm/octeon/cvmx.h> #include <asm/octeon/cvmx-spinlock.h>
@@ -69,6 +70,7 @@ struct cvmx_sysinfo *cvmx_sysinfo_get(void) {return &(state.sysinfo); } +EXPORT_SYMBOL (cvmx_sysinfo_get);/** * This function is used in non-simple executive environments (such as
Signature · 1 line
1.6.0.6
PATCH 3/7 MIPS: Cavium-Octeon: Add more board type constants.
In reply to David DaneyThe bootloader now uses additional board type constants. The octeon-ethernet driver needs some of the new values.
--- arch/mips/include/asm/octeon/cvmx-bootinfo.h | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
arch/mips/include/asm/octeon/cvmx-bootinfo.h +13 -0
@@ -157,6 +157,13 @@ enum cvmx_board_types_enum {CVMX_BOARD_TYPE_NIC_XLE_4G =21 ,CVMX_BOARD_TYPE_EBT5600 =22 ,CVMX_BOARD_TYPE_EBH5201 =23 , +CVMX_BOARD_TYPE_EBT5200 =24 , +CVMX_BOARD_TYPE_CB5600 =25 , +CVMX_BOARD_TYPE_CB5601 =26 , +CVMX_BOARD_TYPE_CB5200 =27 , +/* Special 'generic' board type, supports many boards */ +CVMX_BOARD_TYPE_GENERIC =28 , +CVMX_BOARD_TYPE_EBH5610 =29 ,CVMX_BOARD_TYPE_MAX ,/*
@@ -228,6 +235,12 @@ static inline const char *cvmx_board_type_to_string(enum ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIC_XLE_4G) ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBT5600) ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH5201) + ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBT5200) + ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CB5600) + ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CB5601) + ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CB5200) + ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_GENERIC) + ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH5610) ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_MAX)/* Customer boards listed here */
Signature · 1 line
1.6.0.6
PATCH 4/7 MIPS: Cavium-Octeon: Add more chip specific feature tests.
In reply to David DaneyThe octeon-ethernet driver needs to check for additional chip specific features, we add them to the octeon_has_feature() framework.
--- arch/mips/include/asm/octeon/octeon-feature.h | 27 +++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-)
arch/mips/include/asm/octeon/octeon-feature.h +27 -0
@@ -57,6 +57,13 @@ enum octeon_feature {OCTEON_FEATURE_RAID ,/* Octeon has a builtin USB */ OCTEON_FEATURE_USB , +/* Octeon IPD can run without using work queue entries */ +OCTEON_FEATURE_NO_WPTR , +/* Octeon has DFA state machines */ +OCTEON_FEATURE_DFA , +/* Octeon MDIO block supports clause 45 transactions for 10 +* Gig support */ + OCTEON_FEATURE_MDIO_CLAUSE_45, };static inline int cvmx_fuse_read (int fuse);
@@ -112,6 +119,26 @@ static inline int octeon_has_feature(enum octeon_feature feature)case OCTEON_FEATURE_USB :return !(OCTEON_IS_MODEL (OCTEON_CN38XX ) ||OCTEON_IS_MODEL (OCTEON_CN58XX )); +case OCTEON_FEATURE_NO_WPTR : +return (OCTEON_IS_MODEL (OCTEON_CN56XX ) + ||OCTEON_IS_MODEL (OCTEON_CN52XX )) + && !OCTEON_IS_MODEL (OCTEON_CN56XX_PASS1_X ) + && !OCTEON_IS_MODEL (OCTEON_CN52XX_PASS1_X ); +case OCTEON_FEATURE_DFA : +if (!OCTEON_IS_MODEL (OCTEON_CN38XX ) + && !OCTEON_IS_MODEL (OCTEON_CN31XX ) + && !OCTEON_IS_MODEL (OCTEON_CN58XX )) +return 0 ; +else if (OCTEON_IS_MODEL (OCTEON_CN3020 )) +return 0 ; +else if (OCTEON_IS_MODEL (OCTEON_CN38XX_PASS1 )) +return 1 ; +else +return !cvmx_fuse_read (120 ); +case OCTEON_FEATURE_MDIO_CLAUSE_45 : +return !(OCTEON_IS_MODEL (OCTEON_CN3XXX ) + ||OCTEON_IS_MODEL (OCTEON_CN58XX ) + ||OCTEON_IS_MODEL (OCTEON_CN50XX )); }return 0 ; }
Signature · 1 line
1.6.0.6
PATCH 5/7 MIPS: Export erratum function needed by octeon-ethernet driver.
In reply to David Daney--- .../cavium-octeon/executive/cvmx-helper-errata.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
arch/mips/cavium-octeon/executive/cvmx-helper-errata.c +3 -0
@@ -33,6 +33,8 @@* these functions directly. * */ +#include <linux/module.h> +#include <asm/octeon/octeon.h> #include <asm/octeon/cvmx-helper-jtag.h>
@@ -68,3 +70,4 @@ void __cvmx_helper_errata_qlm_disable_2nd_order_cdr(int qlm) }cvmx_helper_qlm_jtag_update (qlm); } +EXPORT_SYMBOL (__cvmx_helper_errata_qlm_disable_2nd_order_cdr);
Signature · 1 line
1.6.0.6
PATCH 6/7 Add octeon-ethernet driver files.
In reply to David DaneyThe octeon-ethernet driver supports the sgmii, rgmii, spi, and xaui ports present on the Cavium OCTEON family of SOCs. These SOCs are multi-core mips64 processors with existing support over in arch/mips.
The driver files can be categorized into three basic groups:
1) Register definitions, these are named cvmx-*-defs.h
2) Main driver code, these have names that don't start cvmx-.
3) Interface specific functions and other utility code, names starting with cvmx-
--- drivers/staging/octeon/Kconfig | 12 + drivers/staging/octeon/Makefile | 30 + drivers/staging/octeon/cvmx-address.h | 274 +++ drivers/staging/octeon/cvmx-asxx-defs.h | 475 +++++ drivers/staging/octeon/cvmx-cmd-queue.c | 306 +++ drivers/staging/octeon/cvmx-cmd-queue.h | 617 ++++++ drivers/staging/octeon/cvmx-config.h | 169 ++ drivers/staging/octeon/cvmx-dbg-defs.h | 72 + drivers/staging/octeon/cvmx-fau.h | 597 ++++++ drivers/staging/octeon/cvmx-fpa-defs.h | 403 ++++ drivers/staging/octeon/cvmx-fpa.c | 183 ++ drivers/staging/octeon/cvmx-fpa.h | 299 +++ drivers/staging/octeon/cvmx-gmxx-defs.h | 2529 +++++++++++++++++++++++ drivers/staging/octeon/cvmx-helper-board.c | 706 +++++++ drivers/staging/octeon/cvmx-helper-board.h | 180 ++ drivers/staging/octeon/cvmx-helper-fpa.c | 243 +++ drivers/staging/octeon/cvmx-helper-fpa.h | 64 + drivers/staging/octeon/cvmx-helper-loop.c | 85 + drivers/staging/octeon/cvmx-helper-loop.h | 59 + drivers/staging/octeon/cvmx-helper-npi.c | 113 + drivers/staging/octeon/cvmx-helper-npi.h | 60 + drivers/staging/octeon/cvmx-helper-rgmii.c | 525 +++++ drivers/staging/octeon/cvmx-helper-rgmii.h | 110 + drivers/staging/octeon/cvmx-helper-sgmii.c | 550 +++++ drivers/staging/octeon/cvmx-helper-sgmii.h | 104 + drivers/staging/octeon/cvmx-helper-spi.c | 195 ++ drivers/staging/octeon/cvmx-helper-spi.h | 84 + drivers/staging/octeon/cvmx-helper-util.c | 433 ++++ drivers/staging/octeon/cvmx-helper-util.h | 215 ++ drivers/staging/octeon/cvmx-helper-xaui.c | 348 ++++ drivers/staging/octeon/cvmx-helper-xaui.h | 103 + drivers/staging/octeon/cvmx-helper.c | 1058 ++++++++++ drivers/staging/octeon/cvmx-helper.h | 227 ++ drivers/staging/octeon/cvmx-interrupt-decodes.c | 371 ++++ drivers/staging/octeon/cvmx-interrupt-rsl.c | 140 ++ drivers/staging/octeon/cvmx-ipd.h | 338 +++ drivers/staging/octeon/cvmx-mdio.h | 506 +++++ drivers/staging/octeon/cvmx-packet.h | 65 + drivers/staging/octeon/cvmx-pcsx-defs.h | 370 ++++ drivers/staging/octeon/cvmx-pcsxx-defs.h | 316 +++ drivers/staging/octeon/cvmx-pip-defs.h | 1267 ++++++++++++ drivers/staging/octeon/cvmx-pip.h | 524 +++++ drivers/staging/octeon/cvmx-pko-defs.h | 1133 ++++++++++ drivers/staging/octeon/cvmx-pko.c | 506 +++++ drivers/staging/octeon/cvmx-pko.h | 610 ++++++ drivers/staging/octeon/cvmx-pow.h | 1982 ++++++++++++++++++ drivers/staging/octeon/cvmx-scratch.h | 139 ++ drivers/staging/octeon/cvmx-smix-defs.h | 178 ++ drivers/staging/octeon/cvmx-spi.c | 667 ++++++ drivers/staging/octeon/cvmx-spi.h | 269 +++ drivers/staging/octeon/cvmx-spxx-defs.h | 347 ++++ drivers/staging/octeon/cvmx-srxx-defs.h | 126 ++ drivers/staging/octeon/cvmx-stxx-defs.h | 292 +++ drivers/staging/octeon/cvmx-wqe.h | 397 ++++ drivers/staging/octeon/ethernet-common.c | 328 +++ drivers/staging/octeon/ethernet-common.h | 29 + drivers/staging/octeon/ethernet-defines.h | 134 ++ drivers/staging/octeon/ethernet-mdio.c | 231 +++ drivers/staging/octeon/ethernet-mdio.h | 46 + drivers/staging/octeon/ethernet-mem.c | 198 ++ drivers/staging/octeon/ethernet-mem.h | 29 + drivers/staging/octeon/ethernet-proc.c | 256 +++ drivers/staging/octeon/ethernet-proc.h | 29 + drivers/staging/octeon/ethernet-rgmii.c | 397 ++++ drivers/staging/octeon/ethernet-rx.c | 505 +++++ drivers/staging/octeon/ethernet-rx.h | 33 + drivers/staging/octeon/ethernet-sgmii.c | 129 ++ drivers/staging/octeon/ethernet-spi.c | 323 +++ drivers/staging/octeon/ethernet-tx.c | 634 ++++++ drivers/staging/octeon/ethernet-tx.h | 32 + drivers/staging/octeon/ethernet-util.h | 81 + drivers/staging/octeon/ethernet-xaui.c | 127 ++ drivers/staging/octeon/ethernet.c | 507 +++++ drivers/staging/octeon/octeon-ethernet.h | 127 ++ 74 files changed, 26146 insertions(+), 0 deletions(-) create mode 100644 drivers/staging/octeon/Kconfig create mode 100644 drivers/staging/octeon/Makefile create mode 100644 drivers/staging/octeon/cvmx-address.h create mode 100644 drivers/staging/octeon/cvmx-asxx-defs.h create mode 100644 drivers/staging/octeon/cvmx-cmd-queue.c create mode 100644 drivers/staging/octeon/cvmx-cmd-queue.h create mode 100644 drivers/staging/octeon/cvmx-config.h create mode 100644 drivers/staging/octeon/cvmx-dbg-defs.h create mode 100644 drivers/staging/octeon/cvmx-fau.h create mode 100644 drivers/staging/octeon/cvmx-fpa-defs.h create mode 100644 drivers/staging/octeon/cvmx-fpa.c create mode 100644 drivers/staging/octeon/cvmx-fpa.h create mode 100644 drivers/staging/octeon/cvmx-gmxx-defs.h create mode 100644 drivers/staging/octeon/cvmx-helper-board.c create mode 100644 drivers/staging/octeon/cvmx-helper-board.h create mode 100644 drivers/staging/octeon/cvmx-helper-fpa.c create mode 100644 drivers/staging/octeon/cvmx-helper-fpa.h create mode 100644 drivers/staging/octeon/cvmx-helper-loop.c create mode 100644 drivers/staging/octeon/cvmx-helper-loop.h create mode 100644 drivers/staging/octeon/cvmx-helper-npi.c create mode 100644 drivers/staging/octeon/cvmx-helper-npi.h create mode 100644 drivers/staging/octeon/cvmx-helper-rgmii.c create mode 100644 drivers/staging/octeon/cvmx-helper-rgmii.h create mode 100644 drivers/staging/octeon/cvmx-helper-sgmii.c create mode 100644 drivers/staging/octeon/cvmx-helper-sgmii.h create mode 100644 drivers/staging/octeon/cvmx-helper-spi.c create mode 100644 drivers/staging/octeon/cvmx-helper-spi.h create mode 100644 drivers/staging/octeon/cvmx-helper-util.c create mode 100644 drivers/staging/octeon/cvmx-helper-util.h create mode 100644 drivers/staging/octeon/cvmx-helper-xaui.c create mode 100644 drivers/staging/octeon/cvmx-helper-xaui.h create mode 100644 drivers/staging/octeon/cvmx-helper.c create mode 100644 drivers/staging/octeon/cvmx-helper.h create mode 100644 drivers/staging/octeon/cvmx-interrupt-decodes.c create mode 100644 drivers/staging/octeon/cvmx-interrupt-rsl.c create mode 100644 drivers/staging/octeon/cvmx-ipd.h create mode 100644 drivers/staging/octeon/cvmx-mdio.h create mode 100644 drivers/staging/octeon/cvmx-packet.h create mode 100644 drivers/staging/octeon/cvmx-pcsx-defs.h create mode 100644 drivers/staging/octeon/cvmx-pcsxx-defs.h create mode 100644 drivers/staging/octeon/cvmx-pip-defs.h create mode 100644 drivers/staging/octeon/cvmx-pip.h create mode 100644 drivers/staging/octeon/cvmx-pko-defs.h create mode 100644 drivers/staging/octeon/cvmx-pko.c create mode 100644 drivers/staging/octeon/cvmx-pko.h create mode 100644 drivers/staging/octeon/cvmx-pow.h create mode 100644 drivers/staging/octeon/cvmx-scratch.h create mode 100644 drivers/staging/octeon/cvmx-smix-defs.h create mode 100644 drivers/staging/octeon/cvmx-spi.c create mode 100644 drivers/staging/octeon/cvmx-spi.h create mode 100644 drivers/staging/octeon/cvmx-spxx-defs.h create mode 100644 drivers/staging/octeon/cvmx-srxx-defs.h create mode 100644 drivers/staging/octeon/cvmx-stxx-defs.h create mode 100644 drivers/staging/octeon/cvmx-wqe.h create mode 100644 drivers/staging/octeon/ethernet-common.c create mode 100644 drivers/staging/octeon/ethernet-common.h create mode 100644 drivers/staging/octeon/ethernet-defines.h create mode 100644 drivers/staging/octeon/ethernet-mdio.c create mode 100644 drivers/staging/octeon/ethernet-mdio.h create mode 100644 drivers/staging/octeon/ethernet-mem.c create mode 100644 drivers/staging/octeon/ethernet-mem.h create mode 100644 drivers/staging/octeon/ethernet-proc.c create mode 100644 drivers/staging/octeon/ethernet-proc.h create mode 100644 drivers/staging/octeon/ethernet-rgmii.c create mode 100644 drivers/staging/octeon/ethernet-rx.c create mode 100644 drivers/staging/octeon/ethernet-rx.h create mode 100644 drivers/staging/octeon/ethernet-sgmii.c create mode 100644 drivers/staging/octeon/ethernet-spi.c create mode 100644 drivers/staging/octeon/ethernet-tx.c create mode 100644 drivers/staging/octeon/ethernet-tx.h create mode 100644 drivers/staging/octeon/ethernet-util.h create mode 100644 drivers/staging/octeon/ethernet-xaui.c create mode 100644 drivers/staging/octeon/ethernet.c create mode 100644 drivers/staging/octeon/octeon-ethernet.h
drivers/staging/octeon/Kconfig new file +12 -0
@@ -0,0 +1,12 @@ +config OCTEON_ETHERNET + tristate "Cavium Networks Octeon Ethernet support" + depends on CPU_CAVIUM_OCTEON + select MII + help + This driver supports the builtin ethernet ports on Cavium + Networks' products in the Octeon family. This driver supports the + CN3XXX and CN5XXX Octeon processors. + + To compile this driver as a module, choose M here. The module + will be called octeon-ethernet. +
drivers/staging/octeon/Makefile new file +30 -0
@@ -0,0 +1,30 @@ +# This file is subject to the terms and conditions of the GNU General Public +# License. See the file "COPYING" in the main directory of this archive +# for more details. +# +# Copyright (C) 2005-2009 Cavium Networks +# + +# +# Makefile for Cavium OCTEON on-board ethernet driver +# + +obj-${CONFIG_OCTEON_ETHERNET} := octeon-ethernet.o + +octeon-ethernet-objs := ethernet.o +octeon-ethernet-objs += ethernet-common.o +octeon-ethernet-objs += ethernet-mdio.o +octeon-ethernet-objs += ethernet-mem.o +octeon-ethernet-objs += ethernet-proc.o +octeon-ethernet-objs += ethernet-rgmii.o +octeon-ethernet-objs += ethernet-rx.o +octeon-ethernet-objs += ethernet-sgmii.o +octeon-ethernet-objs += ethernet-spi.o +octeon-ethernet-objs += ethernet-tx.o +octeon-ethernet-objs += ethernet-xaui.o +octeon-ethernet-objs += cvmx-pko.o cvmx-spi.o cvmx-cmd-queue.o \ + cvmx-helper-board.o cvmx-helper.o cvmx-helper-xaui.o \ + cvmx-helper-rgmii.o cvmx-helper-sgmii.o cvmx-helper-npi.o \ + cvmx-helper-loop.o cvmx-helper-spi.o cvmx-helper-util.o \ + cvmx-interrupt-decodes.o cvmx-interrupt-rsl.o +
drivers/staging/octeon/cvmx-address.h new file +274 -0
274 lines not on this page · raw message
drivers/staging/octeon/cvmx-asxx-defs.h new file +475 -0
475 lines not on this page · raw message
drivers/staging/octeon/cvmx-cmd-queue.c new file +306 -0
306 lines not on this page · raw message
drivers/staging/octeon/cvmx-cmd-queue.h new file +617 -0
617 lines not on this page · raw message
drivers/staging/octeon/cvmx-config.h new file +169 -0
169 lines not on this page · raw message
drivers/staging/octeon/cvmx-dbg-defs.h new file +72 -0
72 lines not on this page · raw message
drivers/staging/octeon/cvmx-fau.h new file +597 -0
597 lines not on this page · raw message
drivers/staging/octeon/cvmx-fpa-defs.h new file +403 -0
403 lines not on this page · raw message
drivers/staging/octeon/cvmx-fpa.c new file +183 -0
45 lines not on this page · raw message
drivers/staging/octeon/cvmx-fpa.h new file +299 -0
299 lines not on this page · raw message
drivers/staging/octeon/cvmx-gmxx-defs.h new file +2529 -0
2,529 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-board.c new file +706 -0
706 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-board.h new file +180 -0
180 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-fpa.c new file +243 -0
243 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-fpa.h new file +64 -0
64 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-loop.c new file +85 -0
85 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-loop.h new file +59 -0
59 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-npi.c new file +113 -0
113 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-npi.h new file +60 -0
60 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-rgmii.c new file +525 -0
525 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-rgmii.h new file +110 -0
110 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-sgmii.c new file +550 -0
550 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-sgmii.h new file +104 -0
104 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-spi.c new file +195 -0
195 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-spi.h new file +84 -0
84 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-util.c new file +433 -0
433 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-util.h new file +215 -0
215 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-xaui.c new file +348 -0
348 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper-xaui.h new file +103 -0
103 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper.c new file +1058 -0
1,058 lines not on this page · raw message
drivers/staging/octeon/cvmx-helper.h new file +227 -0
227 lines not on this page · raw message
drivers/staging/octeon/cvmx-interrupt-decodes.c new file +371 -0
371 lines not on this page · raw message
drivers/staging/octeon/cvmx-interrupt-rsl.c new file +140 -0
140 lines not on this page · raw message
drivers/staging/octeon/cvmx-ipd.h new file +338 -0
338 lines not on this page · raw message
drivers/staging/octeon/cvmx-mdio.h new file +506 -0
506 lines not on this page · raw message
drivers/staging/octeon/cvmx-packet.h new file +65 -0
65 lines not on this page · raw message
drivers/staging/octeon/cvmx-pcsx-defs.h new file +370 -0
370 lines not on this page · raw message
drivers/staging/octeon/cvmx-pcsxx-defs.h new file +316 -0
316 lines not on this page · raw message
drivers/staging/octeon/cvmx-pip-defs.h new file +1267 -0
1,267 lines not on this page · raw message
drivers/staging/octeon/cvmx-pip.h new file +524 -0
524 lines not on this page · raw message
drivers/staging/octeon/cvmx-pko-defs.h new file +1133 -0
1,133 lines not on this page · raw message
drivers/staging/octeon/cvmx-pko.c new file +506 -0
506 lines not on this page · raw message
drivers/staging/octeon/cvmx-pko.h new file +610 -0
610 lines not on this page · raw message
drivers/staging/octeon/cvmx-pow.h new file +1982 -0
1,982 lines not on this page · raw message
drivers/staging/octeon/cvmx-scratch.h new file +139 -0
139 lines not on this page · raw message
drivers/staging/octeon/cvmx-smix-defs.h new file +178 -0
178 lines not on this page · raw message
drivers/staging/octeon/cvmx-spi.c new file +667 -0
667 lines not on this page · raw message
drivers/staging/octeon/cvmx-spi.h new file +269 -0
269 lines not on this page · raw message
drivers/staging/octeon/cvmx-spxx-defs.h new file +347 -0
347 lines not on this page · raw message
drivers/staging/octeon/cvmx-srxx-defs.h new file +126 -0
126 lines not on this page · raw message
drivers/staging/octeon/cvmx-stxx-defs.h new file +292 -0
292 lines not on this page · raw message
drivers/staging/octeon/cvmx-wqe.h new file +397 -0
397 lines not on this page · raw message
drivers/staging/octeon/ethernet-common.c new file +328 -0
328 lines not on this page · raw message
drivers/staging/octeon/ethernet-common.h new file +29 -0
Lines of this file are not shown. View the raw message.
drivers/staging/octeon/ethernet-defines.h new file +134 -0
134 lines not on this page · raw message
drivers/staging/octeon/ethernet-mdio.c new file +231 -0
231 lines not on this page · raw message
drivers/staging/octeon/ethernet-mdio.h new file +46 -0
46 lines not on this page · raw message
drivers/staging/octeon/ethernet-mem.c new file +198 -0
198 lines not on this page · raw message
drivers/staging/octeon/ethernet-mem.h new file +29 -0
Lines of this file are not shown. View the raw message.
drivers/staging/octeon/ethernet-proc.c new file +256 -0
256 lines not on this page · raw message
drivers/staging/octeon/ethernet-proc.h new file +29 -0
Lines of this file are not shown. View the raw message.
drivers/staging/octeon/ethernet-rgmii.c new file +397 -0
397 lines not on this page · raw message
drivers/staging/octeon/ethernet-rx.c new file +505 -0
505 lines not on this page · raw message
drivers/staging/octeon/ethernet-rx.h new file +33 -0
Lines of this file are not shown. View the raw message.
drivers/staging/octeon/ethernet-sgmii.c new file +129 -0
129 lines not on this page · raw message
drivers/staging/octeon/ethernet-spi.c new file +323 -0
323 lines not on this page · raw message
drivers/staging/octeon/ethernet-tx.c new file +634 -0
634 lines not on this page · raw message
drivers/staging/octeon/ethernet-tx.h new file +32 -0
Lines of this file are not shown. View the raw message.
drivers/staging/octeon/ethernet-util.h new file +81 -0
81 lines not on this page · raw message
drivers/staging/octeon/ethernet-xaui.c new file +127 -0
127 lines not on this page · raw message
drivers/staging/octeon/ethernet.c new file +507 -0
507 lines not on this page · raw message
drivers/staging/octeon/octeon-ethernet.h new file +127 -0
127 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Signature · 1 line
1.6.0.6
Part of the diff is not shown here. View the raw message.
PATCH 7/7 Hookup octeon-ethernet driver.
In reply to David DaneyThe previous patch adds the driver files for octeon-ethernet. Here we hook them up into the main kernel build system.
--- drivers/staging/Kconfig | 2 ++ drivers/staging/Makefile | 1 + 2 files changed, 3 insertions(+), 0 deletions(-)
drivers/staging/Kconfig +2 -0
@@ -115,5 +115,7 @@ source "drivers/staging/line6/Kconfig" source "drivers/staging/serqt_usb/Kconfig" +source "drivers/staging/octeon/Kconfig" + endif # !STAGING_EXCLUDE_BUILD endif # STAGING
drivers/staging/Makefile +1 -0
@@ -40,3 +40,4 @@ obj-$(CONFIG_PLAN9AUTH) += p9auth/ obj-$(CONFIG_HECI) += heci/ obj-$(CONFIG_LINE6_USB) += line6/ obj-$(CONFIG_USB_SERIAL_QUATECH_ESU100) += serqt_usb/ +obj-$(CONFIG_OCTEON_ETHERNET) += octeon/
Signature · 1 line
1.6.0.6
Quoted 11 lines · David Daney
This patch set introduces the octeon-ethernet driver into the
drivers/stagingtree. The Octeon is a mips64r2 base multi-core SOC family.The first five patches are small tweaks to the existing octeon support that are required by the ethernet driver. I would expect them to be merged via Ralf's linux-mips.org tree.
The last two are the driver, and would probably be merged via the
drivers/stagingtree. However since they depend on the first five, they probably shouldn't be merged until those five are merged.
Ralf, if you want to take the 2 staging driver patches, that's fine with me to make it easier. Or if you want me to merge it, on the next merge window, with the mips patches through my tree, I can do that as well.
Which ever is easier for you.
thanks,
greg k-h
Quoted 13 lines · Greg KH
Quoted 11 lines · David Daney
This patch set introduces the octeon-ethernet driver into the
drivers/stagingtree. The Octeon is a mips64r2 base multi-core SOC family.The first five patches are small tweaks to the existing octeon support that are required by the ethernet driver. I would expect them to be merged via Ralf's linux-mips.org tree.
The last two are the driver, and would probably be merged via the
drivers/stagingtree. However since they depend on the first five, they probably shouldn't be merged until those five are merged.
Quoted 5 lines
Ralf, if you want to take the 2 staging driver patches, that's fine with me to make it easier. Or if you want me to merge it, on the next merge window, with the mips patches through my tree, I can do that as well.
Which ever is easier for you.
As per recent discussions I've queued the driver. Will go to Linus as part of the next pull.
Ralf
Quoted 15 lines · Ralf Baechle
Quoted 13 lines · Greg KH
Quoted 11 lines · David Daney
This patch set introduces the octeon-ethernet driver into the
drivers/stagingtree. The Octeon is a mips64r2 base multi-core SOC family.The first five patches are small tweaks to the existing octeon support that are required by the ethernet driver. I would expect them to be merged via Ralf's linux-mips.org tree.
The last two are the driver, and would probably be merged via the
drivers/stagingtree. However since they depend on the first five, they probably shouldn't be merged until those five are merged.
Quoted 8 lines
Quoted 5 lines
Ralf, if you want to take the 2 staging driver patches, that's fine with me to make it easier. Or if you want me to merge it, on the next merge window, with the mips patches through my tree, I can do that as well.
Which ever is easier for you.
As per recent discussions I've queued the driver. Will go to Linus as part of the next pull.
Great, thanks for doing this.
greg k-h
Quoted 11 lines · David Daney
This patch set introduces the octeon-ethernet driver into the
drivers/stagingtree. The Octeon is a mips64r2 base multi-core SOC family.The first five patches are small tweaks to the existing octeon support that are required by the ethernet driver. I would expect them to be merged via Ralf's linux-mips.org tree.
The last two are the driver, and would probably be merged via the
drivers/stagingtree. However since they depend on the first five, they probably shouldn't be merged until those five are merged.
Ok, as Ralf doesn't seem to have responded to my previous query, I'll just merge the last driver, and mark it CONFIG_BROKEN which you can turn off when the infrastructure portions go in.
Sound reasonable?
thanks,
greg k-h
Le Thursday 04 June 2009 01:54:28 Greg KH, vous avez écrit :
Quoted 13 lines · David Daney
Quoted 11 lines
This patch set introduces the octeon-ethernet driver into the
drivers/stagingtree. The Octeon is a mips64r2 base multi-core SOC family.The first five patches are small tweaks to the existing octeon support that are required by the ethernet driver. I would expect them to be merged via Ralf's linux-mips.org tree.
The last two are the driver, and would probably be merged via the
drivers/stagingtree. However since they depend on the first five, they probably shouldn't be merged until those five are merged.
Quoted 5 lines
Ok, as Ralf doesn't seem to have responded to my previous query, I'll just merge the last driver, and mark it
CONFIG_BROKENwhich you can turn off when the infrastructure portions go in.Sound reasonable?
Cannot we get this driver merged via David Miller's tree instead ? It has been rock solid here and does not seem too ugly for a net-next-2.6 inclusion imho.
Signature · 4 lines
Best regards, Florian Fainelli Email : [email protected] http://openwrt.org -------------------------------
Quoted 13 lines · Florian Fainelli
Le Thursday 04 June 2009 01:54:28 Greg KH, vous avez écrit :
Quoted 12 lines · David Daney
Quoted 11 lines
This patch set introduces the octeon-ethernet driver into the
drivers/stagingtree. The Octeon is a mips64r2 base multi-core SOC family.The first five patches are small tweaks to the existing octeon support that are required by the ethernet driver. I would expect them to be merged via Ralf's linux-mips.org tree.
The last two are the driver, and would probably be merged via the
drivers/stagingtree. However since they depend on the first five, they probably shouldn't be merged until those five are merged.
Quoted 7 lines
Quoted 5 lines
Ok, as Ralf doesn't seem to have responded to my previous query, I'll just merge the last driver, and mark it
CONFIG_BROKENwhich you can turn off when the infrastructure portions go in.Sound reasonable?
Cannot we get this driver merged via David Miller's tree instead ? It has been rock solid here and does not seem too ugly for a net-next-2.6 inclusion imho.
The driver is not suitable for drivers/net at this time. I would not want to subject David Miller to the ugliness contained within.
Although it does process network packets reliably, it really is only suitable for the staging tree at this time.
David Daney.
Quoted 14 lines · Florian Fainelli
Le Thursday 04 June 2009 01:54:28 Greg KH, vous avez écrit :
Quoted 13 lines · David Daney
Quoted 11 lines
This patch set introduces the octeon-ethernet driver into the
drivers/stagingtree. The Octeon is a mips64r2 base multi-core SOC family.The first five patches are small tweaks to the existing octeon support that are required by the ethernet driver. I would expect them to be merged via Ralf's linux-mips.org tree.
The last two are the driver, and would probably be merged via the
drivers/stagingtree. However since they depend on the first five, they probably shouldn't be merged until those five are merged.
Quoted 8 lines
Quoted 5 lines
Ok, as Ralf doesn't seem to have responded to my previous query, I'll just merge the last driver, and mark it
CONFIG_BROKENwhich you can turn off when the infrastructure portions go in.Sound reasonable?
Cannot we get this driver merged via David Miller's tree instead ? It has been rock solid here and does not seem too ugly for a net-next-2.6 inclusion imho.
That's up to the submitter, it seemed that they wanted it in staging first for some reason.
thanks,
greg k-h