- 08 Nov, 2004 11 commits
-
-
Raghavendra Koushik authored
Attached is the patch to implement module loadable parameters as per new API. Following is the list of changes. 1. Used new module_param() API. 2. List of variables for tx_fifo_len and rx_ring_sz replaced with array. 3. Some of the module parameters which can be set thru setpci command have been removed, such as latency_timer, max_read_byte_cnt, max_split_transactions. 4. Other parameters which were felt to be not required, such as rx_prio, tx_prio have been removed. 5. Interrupt moderation parameters(such as tx_urange_*) are no longer module loadable parameters since they can be configured thru' a separate patch available to customers. 6. Changed default max_read_byte_count to 1024. 7. If scatter-gather is enabled, checksum is enabled too. 8. Not verifying if module loadable parameters are within valid range (verify_load_param() removed). Signed-off-by: Raghavendra Koushik <raghavendra.koushik@s2io.com> Signed-off-by: Ravinandan Arakali <ravinandan.arakali@s2io.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-
Raghavendra Koushik authored
This patch addresses the comments by Chris Leech about skb->mac.ethernet resulting in NULL dereference with the old method of implementing 2 buffer mode. The new method performs a copy of the MAC header to the head of the payload. This is a stop-gap measure till the fragmented skb receive feature in the kernel is made functional. Also, using GFP_KERNEL flag for buffer0, buffer1 memory allocation instead of GFP_ATOMIC. Signed-off-by: Raghavendra Koushik <raghavendra.koushik@s2io.com> Signed-off-by: Ravinandan Arakali <ravinandan.arakali@s2io.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-
Raghavendra Koushik authored
The attached patch incorporates Jeff's comments related to creating separate functions for restarting the NIC(without using close and open entry points) and few other comments. Complete list of changes are as follows: 1. Two new functions s2io_card_down() and s2io_card_up() are defined and are called during reset procedure instead of close and open routines. 2. tasklet_status field is now made as unsigned long. 3. On getting serious error, queue is stopped before resetting the card. 4. Removed the check for "queue stopped" in xmit routine. Signed-off-by: Raghavendra Koushik <raghavendra.koushik@s2io.com> Signed-off-by: Ravinandan Arakali <ravinandan.arakali@s2io.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-
Raghavendra Koushik authored
Attached is the patch for implementing 2-buffer mode on Rx path. On certain systems when a DMA has to happen on an un-aligned memory location performance will take a significant hit. It's standard practice to offset the Rx buffer address by 2 (as Mac header is 14 bytes) so the IP header starts from an aligned location. Obviously using a single Rx buffer both cannot be achieved. Thus XFrame supports something called 2 buffer Rx mode, where in the Rx'ed frame is split into 2 parts, one is the Ethernet header and the other is the Ethernet payload. So now we can allocate proper aligned memory for both buffers, hence the DMA is not slowed down. Also, the Ethernet payload(starting from L3 header) is on an aligned location so OS need not have to do un-aligned accesses to process IP header. To achieve this, the kernel function eth_type_trans functionality has to be partially implemented in the driver itself. Signed-off-by: Raghavendra Koushik <raghavendra.koushik@s2io.com> Signed-off-by: Ravinandan Arakali <ravinandan.arakali@s2io.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-
Raghavendra Koushik authored
1. When processing Rx packets, making sure that get offset of ring does not cross the put offset. 2. when NAPI is not in use a new spinlock(put_lock) is used to make sure accessing put offset of ring is atomic. 3. Also introduced a new vaiable put_pos in nic_t to keep track of absolute position of the put pointer of Rx ring. 4. When NAPI is used, fill_rx_buffer is not called from the interrupt handler(s2io_isr) . 5. In s2io_poll, decrementing packets processed is done inside the while loop unlike out side it as was being done last time. Signed-off-by: Raghavendra Koushik <raghavendra.koushik@s2io.com> Signed-off-by: Ravinandan Arakali <ravinandan.arakali@s2io.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-
Raghavendra Koushik authored
The attached patch contains a modified scheme for allocating Tx descriptor blocks. More description follows. In the old scheme, the entire Tx descriptor space was allocated in one go. This could cause driver load to fail on systems with low(or scattered) memory. The Tx descriptor blocks are now allocated on per-page basis. A new structure (list_info) has been introduced in nic_t structure to keep track of the physical and virtual addresses of every TxD allocated this way. Signed-off-by: Raghavendra Koushik <raghavendra.koushik@s2io.com> Signed-off-by: Ravinandan Arakali <ravinandan.arakali@s2io.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-
Raghavendra Koushik authored
1. Max Txds per List. 2. statistics refresh time 3. pause frame control parameters including gap between two successive frames, threshold watermarks 4. RTI and TTI configuration parameters including ranges, packet counts and timeout periods. For further information please read the section 3.5 of XFrame H/W spec. 5. PCI/PCI-X configuration variables latency_timer, MMRBC and OST. 6. OS offload features TSO (If support available) and checksum offload. 7. If NAPI is not in use, a variable indicate_max_pkts can be used to limit number of Rx side packets processed for one call to Rx Intr handler. Signed-off-by: Raghavendra Koushik <raghavendra.koushik@s2io.com> Signed-off-by: Ravinandan Arakali <ravinandan.arakali@s2io.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-
Raghavendra Koushik authored
1. Xena3's with a set of subsystem IDs had Link LED problems, fixed that specifically for them. 2. To write into the Keyed Mac_Cfg register to enable broadcast, writing two 32 bit writes into it along with a write to the key register rather than a single write to key and a 64 bit write to mac_cfg. This is necessary on 32 bit systems where a writeq(64 bit write) is actually two writel (32 bit writes). 3. Writes to some special registers mentioned in UG is being done by a special macro which defines which 32 bits of the 64 bit register is to be written first. Again this applies only on 32 bit systems. 4. Configured pause frame related water marks and a shared_split value which describes the Max TXDMA related split transaction that can be used without giving room for the Rx transactions. 5. The mac_rmac_err_reg R1 register will be cleared in the interrupt handler itself rather than in the scheduled task as was being done previously. 6. Even on PCC_FB_ECC error the card will be reset by disabling adapter enable bit. Signed-off-by: Raghavendra Koushik <raghavendra.koushik@s2io.com> Signed-off-by: Ravinandan Arakali <ravinandan.arakali@s2io.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-
Raghavendra Koushik authored
1. Definitions of LOW and PANIC levels of the Rx buffers have changed. 2. In wait_for_cmd_complete there is no longer a writeq but just a read and wait for strobe bit to reset. 3. In s2io_isr, the isr_lock has been done away with also the NICs interrupt are no longer disabled explicitly on entering the interrupt handler and re-enabled again before leaving it. 4. Also clearing the semaphore "tasklet_status" when exiting erroneously from s2io_isr after failing fill_rx_buffer call. 5. The set/reset Tx Csum function through ethtool was added to the ethtool_ops structure. 6. Added a Rx side error code in the rx_osm_handler function. 7. No longer stopping and waking Tx queue when link state changes in s2io_link function. 8. removed the isr_lock spinlock from the s2io_nic structure. 9. changed parameters which determine thresholds(LOW and PANIC) to replenish Rx buffers. This has been found to result in better performance. Signed-off-by: Raghavendra Koushik <raghavendra.koushik@s2io.com> Signed-off-by: Ravinandan Arakali <ravinandan.arakali@s2io.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-
Raghavendra Koushik authored
1. In free_rx_buffers clearing out RxDs not owned by Xena. 2. In alarm_intr_handler, when a serr error occurs, schedule a task to reset the card rather than stopping Tx queue. 3. In s2io_close freeing IRQ before calling s2io_reset also added a new call to flush queued tasks. This is not done if the s2io_close itself is called from a queued task like s2io_restart_nic. 4. read_eeprom function has been changed such that data to be returned is sent as an input argument and the return value represents a pass/fail. The previous implementation as Randy had pointed out was error prone as on failure it returned -1 which can be interpreted as all ff's, so any data area which contained ff's in the eeprom was likely to be treated as an error. 5. Added a flag "task_flag" to track if the call to s2io_close is coming from the s2io_restart_nic function or from the ifconfig <I/F> down called by user. 6. Moved register_netdev call from just after setting entry points to the end of the s2io_init_nic function. 7. In s2io.h field added a new member into the s2io_nic structure called "task_flag". Signed-off-by: Raghavendra Koushik <raghavendra.koushik@s2io.com> Signed-off-by: Ravinandan Arakali <ravinandan.arakali@s2io.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-
Raghavendra Koushik authored
1. Indentation, change in comment styles, variable name changes etc. 2. Changed the value written to dtx_control register to force XGXS reset. 3. weight parameter(NAPI) changed to 90 for better performance. Signed-off-by: Raghavendra Koushik <raghavendra.koushik@s2io.com> Signed-off-by: Ravinandan Arakali <ravinandan.arakali@s2io.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-
- 12 Sep, 2004 26 commits
-
-
Linus Torvalds authored
-
Benjamin Herrenschmidt authored
This patch kills the bogus radeonfb_read/write routines. In order to do so, it adds a new member to fb_info, along with screen_base, which is screen_size, indicating the mapped area. The default fb_read/write will now use that instead of fix->smem_len if it is non-0, and radeonfb now sets it to the mapped size of the framebuffer. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
This is a resend of a patch sent in July and that got lost somewhat, the "VSCR" register wasn't restored properly from the context on load_up_altivec (typo), please apply the fix: Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
bk://kernel.bkbits.net/davem/sparc-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/net-2.6
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/sparc-2.6
-
David S. Miller authored
-
David S. Miller authored
Signed-off-by: David S. Miller <davem@davemloft.net>
-
Thomas Graf authored
Only send NETDEV_CHANGEADDR notifies for address and broadcast changes. Notify is also sent out if only one of the 2 changes is successful. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Rusty Russell authored
Am travelling, but this passed simple tests here. If this isn't going in, the current seqfile stuff should be ripped out; it's a mess. /proc/net/ip_conntrack was changed over to seq_file. However, seq_file isn't a great fit (a linked list which is changing is not a good candidate for seq file), and the conversion was done badly. 1) Don't do allocation: simply hand the pointer head of the correct chain. 2) Actually output the original tuple. 3) Lock only when actually traversing hash chain. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Andi Kleen authored
With improvements by Francois Romieu and David S. Miller. Signed-off-by: David S. Miller <davem@davemloft.net>
-
Jamal Hadi Salim authored
Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
Noticed by Eric Lemoine. Signed-off-by: David S. Miller <davem@davemloft.net>
-
Julian Anastasov authored
Appended is a 2nd version that uses nf_reset_debug. - do not use skb_checksum_help in input path as ipvs can handle incoming CHECKSUM_HW packets - do not use skb_checksum_help in forwarding path - claim that checksum is valid (CHECKSUM_NONE) when entering output path for out->in packets - do not reset/destroy the nfct in IP_VS_XMIT, the intention is to reset the debugging field just to avoid log floods from nf_debug_ip_* functions, it is known that the ipvs packets traverse other hooks, eg. LOCAL_IN->LOCAL_OUT. Use nf_reset_debug instead of nf_reset. Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Old debugging code we no longer need. Signed-off-by: David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Noticed by Herbert Xu. Signed-off-by: David S. Miller <davem@davemloft.net>
-
Hideaki Yoshifuji authored
This fixes panic in rt6_device_match(). Well, rt->rt6i_idev is always set if it is dynamically allocated. However, when we hit ip6_null_entry here, its rt6i_idev is NULL. This patch is minimum fix to avoid the oops for now. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Linus Torvalds authored
-
Bartlomiej Zolnierkiewicz authored
From: Thomas Gleixner <tglx@linutronix.de> 1. If the fake 5513 id bit is not set by the BIOS we must have the 5518 id in the device table. 2. If the register remapping is not set by the BIOS then the enable bit check in ide_pci_setup_ports will fail. It's safe to switch to the remapping mode here. Keeping the not remapped mode would need quite big changes AFAICS. Forward ported to 2.6 by me. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Linus Torvalds authored
This driver caused a _lot_ of warnings due to tons of explicit casts to "uclong". Making all the types sane not only removed the warnings, but got rid of a lot of silly casting, since the types are now much more natural to what the driver wanted to do in the first place.
-
Linus Torvalds authored
-
Linus Torvalds authored
Forgot to add in the mmio base..
-
- 11 Sep, 2004 3 commits
-
-
Linus Torvalds authored
It disappeared somewhere in Al's cleanup patch..
-
David S. Miller authored
into nuts.davemloft.net:/disk1/BK/sparc-2.6
-
Alexander Viro authored
le16_to_cpu() on 32bit field. Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-