Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 46052
b: refs/heads/master
c: e47fddf
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Feb 2, 2007
1 parent 6557c50 commit d7a3fff
Show file tree
Hide file tree
Showing 17 changed files with 231 additions and 226 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 49c8042996c84f0df6c49ea2e28a7ef38cd7d773
refs/heads/master: e47fddf2470feb228e1d3ff41fc78dad4cfbbcc6
6 changes: 6 additions & 0 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -3593,6 +3593,12 @@ M: ysato@users.sourceforge.jp
W: http://uclinux-h8.sourceforge.jp/
S: Supported

UFS FILESYSTEM
P: Evgeniy Dushistov
M: dushistov@mail.ru
L: linux-kernel@vger.kernel.org
S: Maintained

USB DIAMOND RIO500 DRIVER
P: Cesar Miquel
M: miquel@df.uba.ar
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/i386/kernel/cpu/cyrix.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ static void __cpuinit geode_configure(void)
ccr4 = getCx86(CX86_CCR4);
ccr4 |= 0x38; /* FPU fast, DTE cache, Mem bypass */

setCx86(CX86_CCR4, ccr4);
setCx86(CX86_CCR3, ccr3);

set_cx86_memwb();
set_cx86_reorder();
Expand Down
14 changes: 12 additions & 2 deletions trunk/drivers/net/bnx2.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@

#define DRV_MODULE_NAME "bnx2"
#define PFX DRV_MODULE_NAME ": "
#define DRV_MODULE_VERSION "1.5.4"
#define DRV_MODULE_RELDATE "January 24, 2007"
#define DRV_MODULE_VERSION "1.5.5"
#define DRV_MODULE_RELDATE "February 1, 2007"

#define RUN_AT(x) (jiffies + (x))

Expand Down Expand Up @@ -1356,6 +1356,14 @@ bnx2_init_copper_phy(struct bnx2 *bp)
bnx2_write_phy(bp, 0x18, 0x0400);
}

if (bp->phy_flags & PHY_DIS_EARLY_DAC_FLAG) {
bnx2_write_phy(bp, MII_BNX2_DSP_ADDRESS,
MII_BNX2_DSP_EXPAND_REG | 0x8);
bnx2_read_phy(bp, MII_BNX2_DSP_RW_PORT, &val);
val &= ~(1 << 8);
bnx2_write_phy(bp, MII_BNX2_DSP_RW_PORT, val);
}

if (bp->dev->mtu > 1500) {
/* Set extended packet length bit */
bnx2_write_phy(bp, 0x18, 0x7);
Expand Down Expand Up @@ -5918,6 +5926,8 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev)
} else if (CHIP_NUM(bp) == CHIP_NUM_5706 ||
CHIP_NUM(bp) == CHIP_NUM_5708)
bp->phy_flags |= PHY_CRC_FIX_FLAG;
else if (CHIP_ID(bp) == CHIP_ID_5709_A0)
bp->phy_flags |= PHY_DIS_EARLY_DAC_FLAG;

if ((CHIP_ID(bp) == CHIP_ID_5708_A0) ||
(CHIP_ID(bp) == CHIP_ID_5708_B0) ||
Expand Down
6 changes: 6 additions & 0 deletions trunk/drivers/net/bnx2.h
Original file line number Diff line number Diff line change
Expand Up @@ -6288,6 +6288,10 @@ struct l2_fhdr {

#define BCM5708S_TX_ACTL3 0x17

#define MII_BNX2_DSP_RW_PORT 0x15
#define MII_BNX2_DSP_ADDRESS 0x17
#define MII_BNX2_DSP_EXPAND_REG 0x0f00

#define MIN_ETHERNET_PACKET_SIZE 60
#define MAX_ETHERNET_PACKET_SIZE 1514
#define MAX_ETHERNET_JUMBO_PACKET_SIZE 9014
Expand Down Expand Up @@ -6489,6 +6493,7 @@ struct bnx2 {
#define PHY_INT_MODE_MASK_FLAG 0x300
#define PHY_INT_MODE_AUTO_POLLING_FLAG 0x100
#define PHY_INT_MODE_LINK_READY_FLAG 0x200
#define PHY_DIS_EARLY_DAC_FLAG 0x400

u32 chip_id;
/* chip num:16-31, rev:12-15, metal:4-11, bond_id:0-3 */
Expand All @@ -6512,6 +6517,7 @@ struct bnx2 {
#define CHIP_ID_5708_A0 0x57080000
#define CHIP_ID_5708_B0 0x57081000
#define CHIP_ID_5708_B1 0x57081010
#define CHIP_ID_5709_A0 0x57090000

#define CHIP_BOND_ID(bp) (((bp)->chip_id) & 0xf)

Expand Down
7 changes: 1 addition & 6 deletions trunk/drivers/net/e100.c
Original file line number Diff line number Diff line change
Expand Up @@ -2718,14 +2718,12 @@ static int e100_suspend(struct pci_dev *pdev, pm_message_t state)
struct net_device *netdev = pci_get_drvdata(pdev);
struct nic *nic = netdev_priv(netdev);

#ifdef CONFIG_E100_NAPI
if (netif_running(netdev))
netif_poll_disable(nic->netdev);
#endif
del_timer_sync(&nic->watchdog);
netif_carrier_off(nic->netdev);

netif_device_detach(netdev);

pci_save_state(pdev);

if ((nic->flags & wol_magic) | e100_asf(nic)) {
Expand Down Expand Up @@ -2761,16 +2759,13 @@ static int e100_resume(struct pci_dev *pdev)
}
#endif /* CONFIG_PM */


static void e100_shutdown(struct pci_dev *pdev)
{
struct net_device *netdev = pci_get_drvdata(pdev);
struct nic *nic = netdev_priv(netdev);

#ifdef CONFIG_E100_NAPI
if (netif_running(netdev))
netif_poll_disable(nic->netdev);
#endif
del_timer_sync(&nic->watchdog);
netif_carrier_off(nic->netdev);

Expand Down
136 changes: 65 additions & 71 deletions trunk/drivers/net/netxen/netxen_nic.h
Original file line number Diff line number Diff line change
Expand Up @@ -239,49 +239,39 @@ extern unsigned long long netxen_dma_mask;

typedef u32 netxen_ctx_msg;

#define _netxen_set_bits(config_word, start, bits, val) {\
unsigned long long mask = (((1ULL << (bits)) - 1) << (start)); \
unsigned long long value = (val); \
(config_word) &= ~mask; \
(config_word) |= (((value) << (start)) & mask); \
}

#define netxen_set_msg_peg_id(config_word, val) \
_netxen_set_bits(config_word, 0, 2, val)
((config_word) &= ~3, (config_word) |= val & 3)
#define netxen_set_msg_privid(config_word) \
set_bit(2, (unsigned long*)&config_word)
((config_word) |= 1 << 2)
#define netxen_set_msg_count(config_word, val) \
_netxen_set_bits(config_word, 3, 15, val)
((config_word) &= ~(0x7fff<<3), (config_word) |= (val & 0x7fff) << 3)
#define netxen_set_msg_ctxid(config_word, val) \
_netxen_set_bits(config_word, 18, 10, val)
((config_word) &= ~(0x3ff<<18), (config_word) |= (val & 0x3ff) << 18)
#define netxen_set_msg_opcode(config_word, val) \
_netxen_set_bits(config_word, 28, 4, val)
((config_word) &= ~(0xf<<24), (config_word) |= (val & 0xf) << 24)

struct netxen_rcv_context {
u32 rcv_ring_addr_lo;
u32 rcv_ring_addr_hi;
u32 rcv_ring_size;
u32 rsrvd;
__le64 rcv_ring_addr;
__le32 rcv_ring_size;
__le32 rsrvd;
};

struct netxen_ring_ctx {

/* one command ring */
u64 cmd_consumer_offset;
u32 cmd_ring_addr_lo;
u32 cmd_ring_addr_hi;
u32 cmd_ring_size;
u32 rsrvd;
__le64 cmd_consumer_offset;
__le64 cmd_ring_addr;
__le32 cmd_ring_size;
__le32 rsrvd;

/* three receive rings */
struct netxen_rcv_context rcv_ctx[3];

/* one status ring */
u32 sts_ring_addr_lo;
u32 sts_ring_addr_hi;
u32 sts_ring_size;
__le64 sts_ring_addr;
__le32 sts_ring_size;

u32 ctx_id;
__le32 ctx_id;
} __attribute__ ((aligned(64)));

/*
Expand All @@ -305,81 +295,85 @@ struct netxen_ring_ctx {
((cmd_desc)->port_ctxid |= ((var) & 0x0F))

#define netxen_set_cmd_desc_flags(cmd_desc, val) \
_netxen_set_bits((cmd_desc)->flags_opcode, 0, 7, val)
((cmd_desc)->flags_opcode &= ~cpu_to_le16(0x7f), \
(cmd_desc)->flags_opcode |= cpu_to_le16((val) & 0x7f))
#define netxen_set_cmd_desc_opcode(cmd_desc, val) \
_netxen_set_bits((cmd_desc)->flags_opcode, 7, 6, val)
((cmd_desc)->flags_opcode &= ~cpu_to_le16(0x3f<<7), \
(cmd_desc)->flags_opcode |= cpu_to_le16((val) & (0x3f<<7)))

#define netxen_set_cmd_desc_num_of_buff(cmd_desc, val) \
_netxen_set_bits((cmd_desc)->num_of_buffers_total_length, 0, 8, val);
((cmd_desc)->num_of_buffers_total_length &= ~cpu_to_le32(0xff), \
(cmd_desc)->num_of_buffers_total_length |= cpu_to_le32((val) & 0xff))
#define netxen_set_cmd_desc_totallength(cmd_desc, val) \
_netxen_set_bits((cmd_desc)->num_of_buffers_total_length, 8, 24, val);
((cmd_desc)->num_of_buffers_total_length &= cpu_to_le32(0xff), \
(cmd_desc)->num_of_buffers_total_length |= cpu_to_le32(val << 24))

#define netxen_get_cmd_desc_opcode(cmd_desc) \
(((cmd_desc)->flags_opcode >> 7) & 0x003F)
((le16_to_cpu((cmd_desc)->flags_opcode) >> 7) & 0x003F)
#define netxen_get_cmd_desc_totallength(cmd_desc) \
(((cmd_desc)->num_of_buffers_total_length >> 8) & 0x0FFFFFF)
(le32_to_cpu((cmd_desc)->num_of_buffers_total_length) >> 8)

struct cmd_desc_type0 {
u8 tcp_hdr_offset; /* For LSO only */
u8 ip_hdr_offset; /* For LSO only */
/* Bit pattern: 0-6 flags, 7-12 opcode, 13-15 unused */
u16 flags_opcode;
__le16 flags_opcode;
/* Bit pattern: 0-7 total number of segments,
8-31 Total size of the packet */
u32 num_of_buffers_total_length;
__le32 num_of_buffers_total_length;
union {
struct {
u32 addr_low_part2;
u32 addr_high_part2;
__le32 addr_low_part2;
__le32 addr_high_part2;
};
u64 addr_buffer2;
__le64 addr_buffer2;
};

u16 reference_handle; /* changed to u16 to add mss */
u16 mss; /* passed by NDIS_PACKET for LSO */
__le16 reference_handle; /* changed to u16 to add mss */
__le16 mss; /* passed by NDIS_PACKET for LSO */
/* Bit pattern 0-3 port, 0-3 ctx id */
u8 port_ctxid;
u8 total_hdr_length; /* LSO only : MAC+IP+TCP Hdr size */
u16 conn_id; /* IPSec offoad only */
__le16 conn_id; /* IPSec offoad only */

union {
struct {
u32 addr_low_part3;
u32 addr_high_part3;
__le32 addr_low_part3;
__le32 addr_high_part3;
};
u64 addr_buffer3;
__le64 addr_buffer3;
};
union {
struct {
u32 addr_low_part1;
u32 addr_high_part1;
__le32 addr_low_part1;
__le32 addr_high_part1;
};
u64 addr_buffer1;
__le64 addr_buffer1;
};

u16 buffer1_length;
u16 buffer2_length;
u16 buffer3_length;
u16 buffer4_length;
__le16 buffer1_length;
__le16 buffer2_length;
__le16 buffer3_length;
__le16 buffer4_length;

union {
struct {
u32 addr_low_part4;
u32 addr_high_part4;
__le32 addr_low_part4;
__le32 addr_high_part4;
};
u64 addr_buffer4;
__le64 addr_buffer4;
};

u64 unused;
__le64 unused;

} __attribute__ ((aligned(64)));

/* Note: sizeof(rcv_desc) should always be a mutliple of 2 */
struct rcv_desc {
u16 reference_handle;
u16 reserved;
u32 buffer_length; /* allocated buffer length (usually 2K) */
u64 addr_buffer;
__le16 reference_handle;
__le16 reserved;
__le32 buffer_length; /* allocated buffer length (usually 2K) */
__le64 addr_buffer;
};

/* opcode field in status_desc */
Expand All @@ -405,36 +399,36 @@ struct rcv_desc {
(((status_desc)->lro & 0x80) >> 7)

#define netxen_get_sts_port(status_desc) \
((status_desc)->status_desc_data & 0x0F)
(le64_to_cpu((status_desc)->status_desc_data) & 0x0F)
#define netxen_get_sts_status(status_desc) \
(((status_desc)->status_desc_data >> 4) & 0x0F)
((le64_to_cpu((status_desc)->status_desc_data) >> 4) & 0x0F)
#define netxen_get_sts_type(status_desc) \
(((status_desc)->status_desc_data >> 8) & 0x0F)
((le64_to_cpu((status_desc)->status_desc_data) >> 8) & 0x0F)
#define netxen_get_sts_totallength(status_desc) \
(((status_desc)->status_desc_data >> 12) & 0xFFFF)
((le64_to_cpu((status_desc)->status_desc_data) >> 12) & 0xFFFF)
#define netxen_get_sts_refhandle(status_desc) \
(((status_desc)->status_desc_data >> 28) & 0xFFFF)
((le64_to_cpu((status_desc)->status_desc_data) >> 28) & 0xFFFF)
#define netxen_get_sts_prot(status_desc) \
(((status_desc)->status_desc_data >> 44) & 0x0F)
((le64_to_cpu((status_desc)->status_desc_data) >> 44) & 0x0F)
#define netxen_get_sts_owner(status_desc) \
(((status_desc)->status_desc_data >> 56) & 0x03)
((le64_to_cpu((status_desc)->status_desc_data) >> 56) & 0x03)
#define netxen_get_sts_opcode(status_desc) \
(((status_desc)->status_desc_data >> 58) & 0x03F)
((le64_to_cpu((status_desc)->status_desc_data) >> 58) & 0x03F)

#define netxen_clear_sts_owner(status_desc) \
((status_desc)->status_desc_data &= \
~(((unsigned long long)3) << 56 ))
~cpu_to_le64(((unsigned long long)3) << 56 ))
#define netxen_set_sts_owner(status_desc, val) \
((status_desc)->status_desc_data |= \
(((unsigned long long)((val) & 0x3)) << 56 ))
cpu_to_le64(((unsigned long long)((val) & 0x3)) << 56 ))

struct status_desc {
/* Bit pattern: 0-3 port, 4-7 status, 8-11 type, 12-27 total_length
28-43 reference_handle, 44-47 protocol, 48-52 unused
53-55 desc_cnt, 56-57 owner, 58-63 opcode
*/
u64 status_desc_data;
u32 hash_value;
__le64 status_desc_data;
__le32 hash_value;
u8 hash_type;
u8 msg_type;
u8 unused;
Expand Down Expand Up @@ -1005,9 +999,9 @@ void netxen_niu_gbe_set_mii_mode(struct netxen_adapter *adapter, int port,
void netxen_niu_gbe_set_gmii_mode(struct netxen_adapter *adapter, int port,
long enable);
int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long phy, long reg,
__le32 * readval);
__u32 * readval);
int netxen_niu_gbe_phy_write(struct netxen_adapter *adapter, long phy,
long reg, __le32 val);
long reg, __u32 val);

/* Functions available from netxen_nic_hw.c */
int netxen_nic_set_mtu_xgb(struct netxen_port *port, int new_mtu);
Expand Down
Loading

0 comments on commit d7a3fff

Please sign in to comment.