diff options
author | Amit S. Kale <amitkale@netxen.com> | 2006-11-29 12:00:10 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-02 00:16:36 -0500 |
commit | cb8011ad53e0855ef088e0e5a4bcb98fa90c70b6 (patch) | |
tree | 2ea32fc89dab2257b359a0577ae06c6565cc99d1 /drivers/net/netxen/netxen_nic_hdr.h | |
parent | edf901638144525a140c68be01be1b22e6041a6d (diff) |
[PATCH] NetXen: temp monitoring, newer firmware support, mm footprint reduction
NetXen: 1G/10G Ethernet Driver updates
- Temparature monitoring and device control
- Memory footprint reduction
- Driver changes to support newer version of firmware
Signed-off-by: Amit S. Kale <amitkale@netxen.com>
netxen_nic.h | 165 ++++++++++++++++++++++++++++++++--
netxen_nic_ethtool.c | 89 ++++++++++++------
netxen_nic_hdr.h | 71 +++++++++++++-
netxen_nic_hw.c | 206 +++++++++++++++++++++++++++++--------------
netxen_nic_hw.h | 8 +
netxen_nic_init.c | 239 +++++++++++++++++++++++++++++++++++++++++---------
netxen_nic_ioctl.h | 12 +-
netxen_nic_isr.c | 54 +++++------
netxen_nic_main.c | 121 +++++++++++++++++--------
netxen_nic_niu.c | 172 +++++++++++++++++++++++++++--------
netxen_nic_phan_reg.h | 24 ++++-
11 files changed, 891 insertions(+), 270 deletions(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/netxen/netxen_nic_hdr.h')
-rw-r--r-- | drivers/net/netxen/netxen_nic_hdr.h | 71 |
1 files changed, 66 insertions, 5 deletions
diff --git a/drivers/net/netxen/netxen_nic_hdr.h b/drivers/net/netxen/netxen_nic_hdr.h index 83bf28b372a4..72c6ec4ee2a0 100644 --- a/drivers/net/netxen/netxen_nic_hdr.h +++ b/drivers/net/netxen/netxen_nic_hdr.h | |||
@@ -6,12 +6,12 @@ | |||
6 | * modify it under the terms of the GNU General Public License | 6 | * modify it under the terms of the GNU General Public License |
7 | * as published by the Free Software Foundation; either version 2 | 7 | * as published by the Free Software Foundation; either version 2 |
8 | * of the License, or (at your option) any later version. | 8 | * of the License, or (at your option) any later version. |
9 | * | 9 | * |
10 | * This program is distributed in the hope that it will be useful, but | 10 | * This program is distributed in the hope that it will be useful, but |
11 | * WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | * GNU General Public License for more details. | 13 | * GNU General Public License for more details. |
14 | * | 14 | * |
15 | * You should have received a copy of the GNU General Public License | 15 | * You should have received a copy of the GNU General Public License |
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, |
@@ -397,6 +397,7 @@ enum { | |||
397 | 397 | ||
398 | #define NETXEN_ROMUSB_ROM_INSTR_OPCODE (ROMUSB_ROM + 0x0004) | 398 | #define NETXEN_ROMUSB_ROM_INSTR_OPCODE (ROMUSB_ROM + 0x0004) |
399 | #define NETXEN_ROMUSB_ROM_ADDRESS (ROMUSB_ROM + 0x0008) | 399 | #define NETXEN_ROMUSB_ROM_ADDRESS (ROMUSB_ROM + 0x0008) |
400 | #define NETXEN_ROMUSB_ROM_WDATA (ROMUSB_ROM + 0x000c) | ||
400 | #define NETXEN_ROMUSB_ROM_ABYTE_CNT (ROMUSB_ROM + 0x0010) | 401 | #define NETXEN_ROMUSB_ROM_ABYTE_CNT (ROMUSB_ROM + 0x0010) |
401 | #define NETXEN_ROMUSB_ROM_DUMMY_BYTE_CNT (ROMUSB_ROM + 0x0014) | 402 | #define NETXEN_ROMUSB_ROM_DUMMY_BYTE_CNT (ROMUSB_ROM + 0x0014) |
402 | #define NETXEN_ROMUSB_ROM_RDATA (ROMUSB_ROM + 0x0018) | 403 | #define NETXEN_ROMUSB_ROM_RDATA (ROMUSB_ROM + 0x0018) |
@@ -404,7 +405,29 @@ enum { | |||
404 | /* Lock IDs for ROM lock */ | 405 | /* Lock IDs for ROM lock */ |
405 | #define ROM_LOCK_DRIVER 0x0d417340 | 406 | #define ROM_LOCK_DRIVER 0x0d417340 |
406 | 407 | ||
407 | #define NETXEN_PCI_CRB_WINDOWSIZE 0x00100000 /* all are 1MB windows */ | 408 | /****************************************************************************** |
409 | * | ||
410 | * Definitions specific to M25P flash | ||
411 | * | ||
412 | ******************************************************************************* | ||
413 | * Instructions | ||
414 | */ | ||
415 | #define M25P_INSTR_WREN 0x06 | ||
416 | #define M25P_INSTR_WRDI 0x04 | ||
417 | #define M25P_INSTR_RDID 0x9f | ||
418 | #define M25P_INSTR_RDSR 0x05 | ||
419 | #define M25P_INSTR_WRSR 0x01 | ||
420 | #define M25P_INSTR_READ 0x03 | ||
421 | #define M25P_INSTR_FAST_READ 0x0b | ||
422 | #define M25P_INSTR_PP 0x02 | ||
423 | #define M25P_INSTR_SE 0xd8 | ||
424 | #define M25P_INSTR_BE 0xc7 | ||
425 | #define M25P_INSTR_DP 0xb9 | ||
426 | #define M25P_INSTR_RES 0xab | ||
427 | |||
428 | /* all are 1MB windows */ | ||
429 | |||
430 | #define NETXEN_PCI_CRB_WINDOWSIZE 0x00100000 | ||
408 | #define NETXEN_PCI_CRB_WINDOW(A) \ | 431 | #define NETXEN_PCI_CRB_WINDOW(A) \ |
409 | (NETXEN_PCI_CRBSPACE + (A)*NETXEN_PCI_CRB_WINDOWSIZE) | 432 | (NETXEN_PCI_CRBSPACE + (A)*NETXEN_PCI_CRB_WINDOWSIZE) |
410 | 433 | ||
@@ -505,6 +528,12 @@ enum { | |||
505 | #define NETXEN_NIU_XG_PAUSE_LEVEL (NETXEN_CRB_NIU + 0x000dc) | 528 | #define NETXEN_NIU_XG_PAUSE_LEVEL (NETXEN_CRB_NIU + 0x000dc) |
506 | #define NETXEN_NIU_XG_SEL (NETXEN_CRB_NIU + 0x00128) | 529 | #define NETXEN_NIU_XG_SEL (NETXEN_CRB_NIU + 0x00128) |
507 | 530 | ||
531 | #define NETXEN_NIU_FULL_LEVEL_XG (NETXEN_CRB_NIU + 0x00450) | ||
532 | |||
533 | #define NETXEN_NIU_XG1_RESET (NETXEN_CRB_NIU + 0x0011c) | ||
534 | #define NETXEN_NIU_XG1_POWER_DOWN (NETXEN_CRB_NIU + 0x00120) | ||
535 | #define NETXEN_NIU_XG1_RESET_PLL (NETXEN_CRB_NIU + 0x00124) | ||
536 | |||
508 | #define NETXEN_MAC_ADDR_CNTL_REG (NETXEN_CRB_NIU + 0x1000) | 537 | #define NETXEN_MAC_ADDR_CNTL_REG (NETXEN_CRB_NIU + 0x1000) |
509 | 538 | ||
510 | #define NETXEN_MULTICAST_ADDR_HI_0 (NETXEN_CRB_NIU + 0x1010) | 539 | #define NETXEN_MULTICAST_ADDR_HI_0 (NETXEN_CRB_NIU + 0x1010) |
@@ -568,6 +597,29 @@ enum { | |||
568 | #define NETXEN_NIU_XGE_REMOTE_ERROR_CNT (NETXEN_CRB_NIU + 0x70050) | 597 | #define NETXEN_NIU_XGE_REMOTE_ERROR_CNT (NETXEN_CRB_NIU + 0x70050) |
569 | #define NETXEN_NIU_XGE_CONTROL_CHAR_CNT (NETXEN_CRB_NIU + 0x70054) | 598 | #define NETXEN_NIU_XGE_CONTROL_CHAR_CNT (NETXEN_CRB_NIU + 0x70054) |
570 | #define NETXEN_NIU_XGE_PAUSE_FRAME_CNT (NETXEN_CRB_NIU + 0x70058) | 599 | #define NETXEN_NIU_XGE_PAUSE_FRAME_CNT (NETXEN_CRB_NIU + 0x70058) |
600 | #define NETXEN_NIU_XG1_CONFIG_0 (NETXEN_CRB_NIU + 0x80000) | ||
601 | #define NETXEN_NIU_XG1_CONFIG_1 (NETXEN_CRB_NIU + 0x80004) | ||
602 | #define NETXEN_NIU_XG1_IPG (NETXEN_CRB_NIU + 0x80008) | ||
603 | #define NETXEN_NIU_XG1_STATION_ADDR_0_HI (NETXEN_CRB_NIU + 0x8000c) | ||
604 | #define NETXEN_NIU_XG1_STATION_ADDR_0_1 (NETXEN_CRB_NIU + 0x80010) | ||
605 | #define NETXEN_NIU_XG1_STATION_ADDR_1_LO (NETXEN_CRB_NIU + 0x80014) | ||
606 | #define NETXEN_NIU_XG1_STATUS (NETXEN_CRB_NIU + 0x80018) | ||
607 | #define NETXEN_NIU_XG1_MAX_FRAME_SIZE (NETXEN_CRB_NIU + 0x8001c) | ||
608 | #define NETXEN_NIU_XG1_PAUSE_FRAME_VALUE (NETXEN_CRB_NIU + 0x80020) | ||
609 | #define NETXEN_NIU_XG1_TX_BYTE_CNT (NETXEN_CRB_NIU + 0x80024) | ||
610 | #define NETXEN_NIU_XG1_TX_FRAME_CNT (NETXEN_CRB_NIU + 0x80028) | ||
611 | #define NETXEN_NIU_XG1_RX_BYTE_CNT (NETXEN_CRB_NIU + 0x8002c) | ||
612 | #define NETXEN_NIU_XG1_RX_FRAME_CNT (NETXEN_CRB_NIU + 0x80030) | ||
613 | #define NETXEN_NIU_XG1_AGGR_ERROR_CNT (NETXEN_CRB_NIU + 0x80034) | ||
614 | #define NETXEN_NIU_XG1_MULTICAST_FRAME_CNT (NETXEN_CRB_NIU + 0x80038) | ||
615 | #define NETXEN_NIU_XG1_UNICAST_FRAME_CNT (NETXEN_CRB_NIU + 0x8003c) | ||
616 | #define NETXEN_NIU_XG1_CRC_ERROR_CNT (NETXEN_CRB_NIU + 0x80040) | ||
617 | #define NETXEN_NIU_XG1_OVERSIZE_FRAME_ERR (NETXEN_CRB_NIU + 0x80044) | ||
618 | #define NETXEN_NIU_XG1_UNDERSIZE_FRAME_ERR (NETXEN_CRB_NIU + 0x80048) | ||
619 | #define NETXEN_NIU_XG1_LOCAL_ERROR_CNT (NETXEN_CRB_NIU + 0x8004c) | ||
620 | #define NETXEN_NIU_XG1_REMOTE_ERROR_CNT (NETXEN_CRB_NIU + 0x80050) | ||
621 | #define NETXEN_NIU_XG1_CONTROL_CHAR_CNT (NETXEN_CRB_NIU + 0x80054) | ||
622 | #define NETXEN_NIU_XG1_PAUSE_FRAME_CNT (NETXEN_CRB_NIU + 0x80058) | ||
571 | 623 | ||
572 | /* XG Link status */ | 624 | /* XG Link status */ |
573 | #define XG_LINK_UP 0x10 | 625 | #define XG_LINK_UP 0x10 |
@@ -580,8 +632,15 @@ enum { | |||
580 | #define NETXEN_FW_VERSION_SUB (NETXEN_CAM_RAM(0x158)) | 632 | #define NETXEN_FW_VERSION_SUB (NETXEN_CAM_RAM(0x158)) |
581 | #define NETXEN_ROM_LOCK_ID (NETXEN_CAM_RAM(0x100)) | 633 | #define NETXEN_ROM_LOCK_ID (NETXEN_CAM_RAM(0x100)) |
582 | 634 | ||
583 | #define PCIX_PS_OP_ADDR_LO (0x10000) /* Used for PS PCI Memory access */ | 635 | #define NETXEN_PHY_LOCK_ID (NETXEN_CAM_RAM(0x120)) |
584 | #define PCIX_PS_OP_ADDR_HI (0x10004) /* via CRB (PS side only) */ | 636 | |
637 | /* Lock IDs for PHY lock */ | ||
638 | #define PHY_LOCK_DRIVER 0x44524956 | ||
639 | |||
640 | /* Used for PS PCI Memory access */ | ||
641 | #define PCIX_PS_OP_ADDR_LO (0x10000) | ||
642 | /* via CRB (PS side only) */ | ||
643 | #define PCIX_PS_OP_ADDR_HI (0x10004) | ||
585 | 644 | ||
586 | #define PCIX_INT_VECTOR (0x10100) | 645 | #define PCIX_INT_VECTOR (0x10100) |
587 | #define PCIX_INT_MASK (0x10104) | 646 | #define PCIX_INT_MASK (0x10104) |
@@ -609,6 +668,8 @@ enum { | |||
609 | 668 | ||
610 | #define PCIE_SEM2_LOCK (0x1c010) /* Flash lock */ | 669 | #define PCIE_SEM2_LOCK (0x1c010) /* Flash lock */ |
611 | #define PCIE_SEM2_UNLOCK (0x1c014) /* Flash unlock */ | 670 | #define PCIE_SEM2_UNLOCK (0x1c014) /* Flash unlock */ |
671 | #define PCIE_SEM3_LOCK (0x1c018) /* Phy lock */ | ||
672 | #define PCIE_SEM3_UNLOCK (0x1c01c) /* Phy unlock */ | ||
612 | 673 | ||
613 | #define PCIE_TGT_SPLIT_CHICKEN (0x12080) | 674 | #define PCIE_TGT_SPLIT_CHICKEN (0x12080) |
614 | 675 | ||