- 08 Nov, 2004 19 commits
-
-
Jeff Garzik authored
-
Raghavendra Koushik authored
Attached is the patch to implement comments about styling and few other changes. Following is list of changes. 1. Incorporated Randy's comment about C99 format for s2io_driver structure initialization. 2. Driver version displayed at load time. 3. If initialization failed in s2io_init_nic(), appropriate error codes are returned. 4. #ifdef SET_ETHTOOL_OPS removed in couple of places. 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 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>
-
Nigel Cunningham authored
If you call drivers/md/dm-io.c:resize_pool on an empty pool and mempool_create is unable to make the pool, the condition is not handled correctly, resulting in an oops in mempool_destroy. Trivial fix.
-
Prasanna S. Panchamukhi authored
Minor changes required to port kprobes for sparc64. - arch_prepare_kprobe() returns an integer. - added arch_remove_kprobe(). - changes to access copy of original instruction, since kprobe_opcode_t insn[MAX_INSN_SIZE] is moved from struct kprobe to a struct arch_specific_insn. Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
bk://ppc.bkbits.net/for-linus-ppcLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Linus Torvalds authored
released the tasklist_lock. Since it released the lock, the process lists may not be valid any more, and we must repeat the loop rather than continue with the next parent. Use -EAGAIN to show this condition (separate from the normal -EFAULT that may happen if rusage information could not be copied to user space).
-
bk://linux-sam.bkbits.net/kbuildLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Antonino Daplas authored
In big endian machines, the read*/write* accessors do a byteswap for an inherently little endian PCI bus. However, rivafb puts the hardwire in big endian register access, thus the byteswap is not needed. So for 16- and 32-bit access, instead of read*/write*, use __raw_read*/__raw_write* for all archs. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 07 Nov, 2004 21 commits
-
-
Linus Torvalds authored
Typo introduced by latest cleanups by Antonino
-
Dmitry Torokhov authored
At unload i8042 sets panic_blink to 0. This will cause problems if kernel panics later as it will just use it assuming that the pointer is correct. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andries E. Brouwer authored
The patch below fixes two flaws in minix_clear_inode. The first is that it tests bh which is never initialized. (&bh is a parameter of minix_V1_raw_inode, but that routine can fail and return before it has set bh) The second is that generic_delete_inode() goes BUG() in case inode->i_state != I_CLEAR. Clearly, it is expected that inode->i_sb->s_op->delete_inode does a clear_inode() at some point. But minix_delete_inode() calls minix_free_inode() and that routine can print an error and return early, before calling clear_inode(). Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Peter Osterlund authored
Signed-off-by: Peter Osterlund <petero2@telia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Petr Vandrovec authored
ppdev's ioctls are not available for 32bit apps on 64bit systems. There are four ioctls which take no argument at all (so they are compatible between 32bit and 64bit), these numbers do not clash with any other ioctl code, and so I see no reason why not applying patch below. It solves problem VMware users are faced on 64bit systems if they want to use direct access to the parallel port. Signed-off-by: Petr Vandrovec <vandrove@vc.cvut.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mackerras authored
Although it was checking the per-character error flags supplied by the driver for ordinary characters, the ppp_async line discipline code wasn't checking the flags for special characters, such as the flag and escape characters (~ and }). This patch adds that check. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Olaf Hering authored
ia64 and ppc64 have function descriptors. Booting with initcall_debug will print the descriptor address, not the address and name of the actual function. Another indirection is required. Tested on ppc, ppc64 and ia64. Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andy Whitcroft authored
When your plug-n-play BIOS is truly broken and generates a fault during use, we report this and suggest disabling it. The message produced suggests using "nobiospnp" to achive this, the correct option is "pnpbios=off". This patch upates the message. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Rini authored
The following adds a __KERNEL__ check to <linux/crc-ccitt.h>. The problem is that the ppp package includes <linux/ppp_defs.h> via <net/ppp_defs.h>, which in turn gets <linux/crc-ccitt.h>. Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Marcel Holtmann authored
The add_hotplug_env_var() function is available and so use it in the firmware class code. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Rini authored
After 2.6.8.1, samba userland would no longer build with current kernel headers, as it needs some of the samba kernel headers to work, yet they included <linux/fs.h> outside of __KERNEL__. Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Nelson authored
Remove deleted module option in Documentation/kernel-parameters.txt Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Nelson authored
Minor cleanup of Documentation/tipar.txt. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Nelson authored
Remove unneeded file in drivers/char. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Nelson authored
Remove unneeded file from drivers/char. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Nelson authored
Remove obsolete file from drivers/char. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Nelson authored
Remove deprecated file in drivers/char. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jan Kasprzak authored
The attached patch fixes an incorrect example in Documentation/RCU/listRCU.txt - the "original" lock-based code should not call RCU functions, of course. Signed-Off-By: Jan "Yenya" Kasprzak <kas@fi.muni.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Christoph Hellwig authored
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Christoph Hellwig authored
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Christoph Hellwig authored
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-