]> pilppa.com Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Mon, 9 Jul 2007 22:26:43 +0000 (15:26 -0700)]
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (75 commits)
  Ethernet driver for EISA only SNI RM200/RM400 machines
  Extract chip specific code out of lasi_82596.c
  ehea: Whitespace cleanup
  pasemi_mac: Fix TX interrupt threshold
  spidernet: Replace literal with const
  r8169: perform RX config change after mac filtering
  r8169: mac address change support
  r8169: display some extra debug information during startup
  r8169: add endianess annotations to [RT]xDesc
  r8169: align the IP header when there is no DMA constraint
  r8169: add bit description for the TxPoll register
  r8169: cleanup
  r8169: remove the media option
  r8169: small 8101 comment
  r8169: confusion between hardware and IP header alignment
  r8169: merge with version 8.001.00 of Realtek's r8168 driver
  r8169: merge with version 6.001.00 of Realtek's r8169 driver
  r8169: prettify mac_version
  r8169: populate the hw_start handler for the 8110
  r8169: populate the hw_start handler for the 8168
  ...

17 years agodrivers/ide/ide-dma.c: unexport ide_set_dma
Adrian Bunk [Mon, 9 Jul 2007 21:17:59 +0000 (23:17 +0200)]
drivers/ide/ide-dma.c: unexport ide_set_dma

ide_set_dma no longer has any modular user.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agovia82cxxx: backport short cables support from pata_via.c
Bartlomiej Zolnierkiewicz [Mon, 9 Jul 2007 21:17:58 +0000 (23:17 +0200)]
via82cxxx: backport short cables support from pata_via.c

Backport short cables support from pata_via.c.

This patch should allow UDMA > 2 modes on Acer Ferrari 3400.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
17 years agosis5513: backport short cables support from pata_sis.c
Bartlomiej Zolnierkiewicz [Mon, 9 Jul 2007 21:17:58 +0000 (23:17 +0200)]
sis5513: backport short cables support from pata_sis.c

Backport short cables support from pata_sis.c.

This patch allows UDMA > 2 modes on ASUS A6K.

Thanks to testing this patch goes out to Jiri Stavinoha.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
17 years agoalim15x3: backport short cables support from pata_ali.c
Bartlomiej Zolnierkiewicz [Mon, 9 Jul 2007 21:17:58 +0000 (23:17 +0200)]
alim15x3: backport short cables support from pata_ali.c

Backport short cables support from pata_ali.c and while at it cleanup
existing cable detection code.

This patch should allow UDMA > 2 modes on HP Pavilion N5430 and Fujitsu P2000.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
17 years agopiix: backport short cables support from ata_piix.c
Bartlomiej Zolnierkiewicz [Mon, 9 Jul 2007 21:17:58 +0000 (23:17 +0200)]
piix: backport short cables support from ata_piix.c

Backport short cables support from ata_piix.c.

This patch should allow UDMA > 2 modes on:
- Acer 5602WLMi
- Acer 3682WLMi
- Asus W5F
- Acer Aspire 2023WLMi

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
17 years agoide: add short cables support
Bartlomiej Zolnierkiewicz [Mon, 9 Jul 2007 21:17:58 +0000 (23:17 +0200)]
ide: add short cables support

This patch allows users to override both host and device side cable detection
with "ideX=ata66" kernel parameter.  Thanks to this it should be now possible
to use UDMA > 2 modes on systems (laptops mainly) which use short 40-pin cable
instead of 80-pin one.

Next patches add automatic detection of some systems using short cables.

Changes:

* Rename hwif->udma_four to hwif->cbl and make it u8.

* Convert all existing users accordingly (use ATA_CBL_* defines while at it).

* Add ATA_CBL_PATA40_SHORT support to ide-iops.c:eighty_ninty_three().

* Use ATA_CBL_PATA40_SHORT for "ideX=ata66" kernel parameter.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Reviewed-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
17 years agoide: convert ide_find_best_mode() users to use ide_max_dma_mode()
Bartlomiej Zolnierkiewicz [Mon, 9 Jul 2007 21:17:57 +0000 (23:17 +0200)]
ide: convert ide_find_best_mode() users to use ide_max_dma_mode()

ide-timing.h:

* remove handling of DMA modes from ide_find_best_mode() and rename it to
  ide_find_best_pio_mode()

* drop no longer needed "map" argument from ide_find_best_pio_mode()
  and delete needless ->id check

* remove no longer needed XFER_SWDMA and XFER_UDMA* defines

au1xxx-ide.c:

* use ide_max_dma_mode() instead of ide_find_best_mode()

* remove needless CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA #ifdef

amd74xx.c:

* store UDMA masks in amd_ide_chip[] and while at it make "base" field
  to be u8 instead of unsigned long

* convert the driver to use UDMA masks from amd_ide_chip[]

* use ide_max_dma_mode() and ide_find_best_pio_mode() instead
  of ide_find_best_mode()

* delete stale comment from amd74xx_ide_dma_check()

* remove no longer needed AMD_UDMA* defines

via82cxxx.c:

* remove unused DISPLAY_VIA_TIMINGS define

* store UDMA masks in via_isa_bridges[] and while at it make "flags" field
  to be u8 instead of u16

* convert the driver to use UDMA masks from via_isa_bridges[]

* use ide_max_dma_mode() and ide_find_best_pio_mode() instead
  of ide_find_best_mode()

* remove no longer needed VIA_UDMA* defines

pmac.c:

* use ide_max_dma_mode() instead of ide_find_best_mode()

There should be no functionality changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Reviewed-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
17 years agoide: fix pre-EIDE SWDMA support
Bartlomiej Zolnierkiewicz [Mon, 9 Jul 2007 21:17:57 +0000 (23:17 +0200)]
ide: fix pre-EIDE SWDMA support

If the word 62 is not defined use the word 52 to get SWDMA mask
in ide_get_mode_mask().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agodrivers/ide/legacy/hd.c: Array size calculation using sizeof replaced with ARRAY_SIZE
Andi Drebes [Mon, 9 Jul 2007 21:17:57 +0000 (23:17 +0200)]
drivers/ide/legacy/hd.c: Array size calculation using sizeof replaced with ARRAY_SIZE

This patch replaces an array size calculation in drivers/ide/legacy/hd.c
that was done using sizeof with the ARRAY_SIZE macro.

Tested by compilation on an i386 box using "allyesconfig".
Diffed against Linus' git-tree.

Signed-off-by: Andi Drebes <lists-receive@programmierforen.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: remove content related to dead CONFIG_BLK_DEV_MAC_MEDIABAY config variable
Robert P. J. Day [Mon, 9 Jul 2007 21:17:57 +0000 (23:17 +0200)]
ide: remove content related to dead CONFIG_BLK_DEV_MAC_MEDIABAY config variable

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: remove references to the non-existent CONFIG_SCSI_EATA_DMA
Robert P. J. Day [Mon, 9 Jul 2007 21:17:57 +0000 (23:17 +0200)]
ide: remove references to the non-existent CONFIG_SCSI_EATA_DMA

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide-cd: replace C code with call to ARRAY_SIZE() macro
Robert P. J. Day [Mon, 9 Jul 2007 21:17:57 +0000 (23:17 +0200)]
ide-cd: replace C code with call to ARRAY_SIZE() macro

Delete the unnecessary macro ARY_LEN and use ARRAY_SIZE directly.

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide_in_drive_list(): "ALL" is not a wildcard anymore
Junio C Hamano [Mon, 9 Jul 2007 21:17:57 +0000 (23:17 +0200)]
ide_in_drive_list(): "ALL" is not a wildcard anymore

This removes the support to treat "ALL" as a wildcard for
firmware revision.  This is made a separate patch, as it will
break out-of-tree ide drivers that feed its own table that uses
"ALL" as the wildcard to ide_in_drive_list().

Signed-off-by: Junio C Hamano <junkio@cox.net>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agomips au1xxx_ide.h: use NULL as firmware-revision wildcard
Junio C Hamano [Mon, 9 Jul 2007 21:17:56 +0000 (23:17 +0200)]
mips au1xxx_ide.h: use NULL as firmware-revision wildcard

This updates the DMA whitelist in MIPS specific au1xxx ide
driver to use NULL instead of "ALL" as the wildcard.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide_in_drive_list(): accept NULL as the wildcard for firmware revision
Junio C Hamano [Mon, 9 Jul 2007 21:17:56 +0000 (23:17 +0200)]
ide_in_drive_list(): accept NULL as the wildcard for firmware revision

Earlier, the matching of (model,rev) in ide-dma black/white list
handling was to consider "ALL" in the table to match any
revision.  This makes NULL to be also an accepted wildcard, and
changes the entries of tables in ide-dma.c to use NULL.

The code still accepts "ALL" as the wildcard, in order to keep
any out-of-tree ide driver that feeds its own table that uses
"ALL" as the wildcard to ide_in_drive_list() function from
breaking.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoaec62xx: kill speedproc() method wrapper (take 2)
Sergei Shtylyov [Mon, 9 Jul 2007 21:17:56 +0000 (23:17 +0200)]
aec62xx: kill speedproc() method wrapper (take 2)

There's no reason to have the speedproc() method wrapper for the two quite
different chip families, so just get rid of it.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: use mutex instead of ide_setting_sem semaphore in IDE driver
Matthias Kaehlcke [Mon, 9 Jul 2007 21:17:56 +0000 (23:17 +0200)]
ide: use mutex instead of ide_setting_sem semaphore in IDE driver

The IDE driver uses a semaphore as mutex.
Use the mutex API instead of the (binary) semaphore.

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
--

17 years agoaec62xx: remove init_dma() method (take 2)
Sergei Shtylyov [Mon, 9 Jul 2007 21:17:56 +0000 (23:17 +0200)]
aec62xx: remove init_dma() method (take 2)

Get rid of the init_dma() method (which had no particular reason to exist) by
folding it into the init_hwif() method. While at it, also perform some cleanup
in the latter method:

- get rid of the useless clearing of hwif->autodma;

- fold the serialization code into one 'if' statement;

- fold setting the drives' 'autotune' and 'autodma' fields into the single
  statements...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoaec62xx: rework init_setup_aec6x80()
Sergei Shtylyov [Mon, 9 Jul 2007 21:17:56 +0000 (23:17 +0200)]
aec62xx: rework init_setup_aec6x80()

Rework init_setup_aec6x80() so that it won't rewrite the constant name strings
anymore -- in order to do this:

- in aec62xx_init_one(), pass a local copy of 'struct pci_device_id' down the
  call chain;

- change the names for in aec62xx_chipsets[] to default to AEC-6280[R];

- override the 'name' field in init_setup_aec6x80() only if bit 4 of the DMA
  status register is set.

While at it, also change the 'udma_mask' field for AEC-6x80R chips in this
function and remove the code doing the same from the init_hwif() method...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agocmd64x: init. code cleanup
Sergei Shtylyov [Mon, 9 Jul 2007 21:17:55 +0000 (23:17 +0200)]
cmd64x: init. code cleanup

Fix two minor issues with PCI0646 chip reporting in the init_chipset() method:
"IRQ workaround enabled" message printed out not only for revision 0x01 and
"CMD646: chipset revision" printed twice (by IDE core and the driver itself).
Also, remove empty/pointless switch cases for the chips other than PCI0646,
duplicate write to the MRDMODE register when enabling interrupts and MEMORY
READ LINE cycles, and needless/misplaced initialization of the timing registers
in this method.
Switch to reading only the PCI revision ID register itself, not the whole 32
bits at its address in init_chipset() and init_hwif() methods; in addition,
get rid of the useless clearing of hwif->autodma and perform some cosmetic
style changes in the latter method.
Refactor ata66_cmd64x() by moving all the code into the 'switch' statement,
renaming/adding variables, and fixing the coding style.
While at it, finally get rid of the meaningless aliasing register #define's...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agohpt366: simplify UltraDMA filtering (take 4)
Sergei Shtylyov [Mon, 9 Jul 2007 21:17:55 +0000 (23:17 +0200)]
hpt366: simplify UltraDMA filtering (take 4)

Simplify UltraDMA mode filtering in the driver:

- make use of the newly introduced 'udma_mask' field of 'ide_pci_device_t' to
  set the correct hwif->ultra_mask, modifying init_setup_hpt366() to select
  the correct mask based on the chip revision;

- replace 'max_mode' field of the 'struct hpt_info' with 'max_ultra' specifying
  the maximum UltraDMA mode allowed;

- rewrite hpt3xx_udma_filter() to differ the filters based on the 'chip_type'
  field, and only use it for HPT366 and HPT370[A] where it's really necessary.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: use mutex instead of ide_cfg_sem semaphore in IDE driver
Matthias Kaehlcke [Mon, 9 Jul 2007 21:17:55 +0000 (23:17 +0200)]
ide: use mutex instead of ide_cfg_sem semaphore in IDE driver

The IDE driver uses a semaphore as mutex.
Use the mutex API instead of the (binary) semaphore.

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: make void and rename ide_dma_timeout() method
Sergei Shtylyov [Mon, 9 Jul 2007 21:17:54 +0000 (23:17 +0200)]
ide: make void and rename ide_dma_timeout() method

Since ide_dma_timeout() method's result is discarded, make it return 'void'.
While at it, drop 'ide_' from the method's name, drop the '__' prefix from
the default method's name, and do some cleanups in this method driver-wise:

- in ide-dma.c, au1xxx-ide.c, and pdc202xx_old.c, define/use 'hwif' variable;

- in au1xxx-ide.c, get rid of commented out printk();

- in sl82c105.c, get rid of unnecessary variables.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: make void and rename ide_dma_lostirq() method
Sergei Shtylyov [Mon, 9 Jul 2007 21:17:54 +0000 (23:17 +0200)]
ide: make void and rename ide_dma_lostirq() method

Since ide_dma_lostirq() method's result is discarded, make it return 'void'.
While at it, rename the method to dma_lost_irq(), drop the '__' prefix from the
default method's name, and do some cleanups in this method driver-wise:

- in aec62xx.c, rename the method in accordance with other drivers, and get rid
  of unnecessary variables there;

- in pdc202xx_old.c, define/use 'hwif' variable;

- in sgiioc4.c, rearrange the code to call the resetproc() method directly.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoserverworks: always tune CSB6
Bartlomiej Zolnierkiewicz [Mon, 9 Jul 2007 21:17:53 +0000 (23:17 +0200)]
serverworks: always tune CSB6

Switch the driver to always program DMA/PIO timings and set device transfer
mode instead of trusting BIOS on CSB6 controllers (libata pata_serverworks.c
driver is also doing things this way and there were no problems reported so
far).  While doing conversion I noticed that the old code had many issues:

* the code was assuming that hwif->dma_status is always valid
  (which obviously isn't true if hwif->dma_base == NULL)

* value of "(ultra_timing >> (4*unit)) & ~(0xF0)" expression wasn't checked
  to fit into udma_modes[5]

* code validating DMA timings didn't validate corresponding PIO timings

* extra CSB5 PIO register wasn't validated et all

* hwif->ide_dma_off_quietly() is always called before ide_set_dma() (which in
  turn calls hwif->speedproc() method - svwks_tune_chipset() in this case)
  so the code depending on DMA capable bit of DMA status to be set was never
  executed (=> the code was never validating DMA timings despite actually
  enabling DMA if the PIO timings were OK!)

* on resume driver dependend entirely on BIOS to restore timings and set
  transfer mode on the device

While at it:

There is no need to read PIO/MWDMA timings now so don't do it.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
Linus Torvalds [Mon, 9 Jul 2007 20:09:16 +0000 (13:09 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
  JFS: Update print_hex_dump() syntax
  JFS: use print_hex_dump() rather than private dump_mem() function
  JFS: Whitespace cleanup and remove some dead code

17 years agosched: add CFS credits
Ingo Molnar [Mon, 9 Jul 2007 16:52:01 +0000 (18:52 +0200)]
sched: add CFS credits

add credits for recent major scheduler contributions:

  Con Kolivas, for pioneering the fair-scheduling approach
  Peter Williams, for smpnice
  Mike Galbraith, for interactivity tuning of CFS
  Srivatsa Vaddagiri, for group scheduling enhancements

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: micro-optimize mmdrop()
Ingo Molnar [Mon, 9 Jul 2007 16:52:01 +0000 (18:52 +0200)]
sched: micro-optimize mmdrop()

micro-optimize mmdrop(). Improves schedule()'s assembly a bit.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: more agressive idle balancing
Ingo Molnar [Mon, 9 Jul 2007 16:52:01 +0000 (18:52 +0200)]
sched: more agressive idle balancing

the Linux scheduler is starving a number of workloads. So default
to more agressive idle-balancing. This hurts lmbench context-switching
numbers (which was the main reason we sucked at idle-balancing for
such a long time) but the lmbench numbers are fine once the system is
minimally utilized.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: clean up sleep_on() APIs
Ingo Molnar [Mon, 9 Jul 2007 16:52:01 +0000 (18:52 +0200)]
sched: clean up sleep_on() APIs

clean up the sleep_on() APIs:

 - do not use fastcall
 - replace fragile macro magic with proper inline functions

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: style cleanups
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: style cleanups

4 small style cleanups to sched.c: checkpatch.pl is now happy about
the totality of sched.c [ignoring false positives] - yay! ;-)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: do not set softirqs to nice +19
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: do not set softirqs to nice +19

do not set softirqs to nice +19. _If_ for whatever reason
we missed to process some high-prio softirq and woke up
ksoftirqd, we should give it a fair chance to actually
get some work done, even if the system is under load.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: simplify sched_find_first_bit()
Mike Galbraith [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: simplify sched_find_first_bit()

simplify sched_rt.c's sched_find_first_bit() function: there are
only 100 RT priority levels left.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: add CFS documentation
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: add CFS documentation

add Documentation/sched-design-CFS.txt

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: scheduler debugging, enable in Kconfig
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: scheduler debugging, enable in Kconfig

enable CONFIG_SCHED_DEBUG in lib/Kconfig.debug.

the runtime overhead of this option is very small.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: scheduler debugging, core
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: scheduler debugging, core

scheduler debugging core: implement /proc/sched_debug and
/proc/<PID>/sched files for scheduler debugging.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: add CFS debug sysctls
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: add CFS debug sysctls

add CFS debug sysctls: only tweakable if SCHED_DEBUG is enabled.
This allows for faster debugging of scheduler problems.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: remove old cpu accounting field
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: remove old cpu accounting field

remove the old cpu-accounting field from signal_struct, now
that the code is using CFS's stats.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: remove unused rq types from sched.c
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: remove unused rq types from sched.c

remove unused rq types from sched.c, now that we switched
over to CFS.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: remove batch_task()
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: remove batch_task()

batch_task() in sched.h is now unused - remove it.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: remove interactivity types from sched.h
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: remove interactivity types from sched.h

remove now-unused types/fields used by the old scheduler.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: remove interactivity types
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: remove interactivity types

remove now unused interactivity-heuristics related defined and
types of the old scheduler.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: clean up include files in sched.c
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: clean up include files in sched.c

clean up include files in sched.c, they were still old-style <asm/>.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: clean up fastcall uses of sched_fork()/sched_exit()
Ingo Molnar [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: clean up fastcall uses of sched_fork()/sched_exit()

sched_fork()/sched_exit() does not need to specify fastcall anymore,
as the x86 kernel defaults to regparm3, and no assembly code calls
these functions.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: update delay-accounting to use CFS's precise stats
Balbir Singh [Mon, 9 Jul 2007 16:52:00 +0000 (18:52 +0200)]
sched: update delay-accounting to use CFS's precise stats

update delay-accounting to use CFS's precise stats.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: make use of precise accounting for /proc task stats
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: make use of precise accounting for /proc task stats

make use of CFS's precise accounting to drive /proc/<pid>/stat statistics.

this code was co-authored by:

 Balbir Singh <balbir@linux.vnet.ibm.com>
 Dmitry Adamushko <dmitry.adamushko@gmail.com>
 Ingo Molnar <mingo@elte.hu>

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Dmitry Adamushko <dmitry.adamushko@gmail.com>
17 years agosched: turn on the use of unstable events
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: turn on the use of unstable events

make use of sched-clock-unstable events.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: x86, track TSC-unstable events
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: x86, track TSC-unstable events

track TSC-unstable events and propagate it to the scheduler code.
Also allow sched_clock() to be used when the TSC is unstable,
the rq_clock() wrapper creates a reliable clock out of it.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: cfs core code
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: cfs core code

apply the CFS core code.

this change switches over the scheduler core to CFS's modular
design and makes use of kernel/sched_fair/rt/idletask.c to implement
Linux's scheduling policies.

thanks to Andrew Morton and Thomas Gleixner for lots of detailed review
feedback and for fixlets.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Dmitry Adamushko <dmitry.adamushko@gmail.com>
Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
17 years agosched: remove the sleep-bonus interactivity code
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: remove the sleep-bonus interactivity code

remove the sleep-bonus interactivity code from the core scheduler.

scheduling policy is implemented in the policy modules, and CFS does
not need such type of heuristics.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: remove expired_starving()
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: remove expired_starving()

remove the expired_starving() heuristics from the core scheduler.

CFS does not need it, and this did not really work well in practice
anyway, due to the rq->nr_running multiplier to STARVATION_LIMIT.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: remove sleep_type
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: remove sleep_type

remove the sleep_type heuristics from the core scheduler - scheduling
policy is implemented in the scheduling-policy modules. (and CFS does
not use this type of sleep-type heuristics)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: cfs, add load-calculation methods
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: cfs, add load-calculation methods

add the new load-calculation methods of CFS.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: clean up __normal_prio() position
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: clean up __normal_prio() position

clean up: move __normal_prio() in head of normal_prio().

no code changed.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: cleanup: move dequeue/enqueue_task()
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: cleanup: move dequeue/enqueue_task()

cleanup: move dequeue/enqueue_task() to a more logical place, to
not split up __normal_prio()/normal_prio().

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: move around resched_task()
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: move around resched_task()

move resched_task()/resched_cpu() into the 'public interfaces'
section of sched.c, for use by kernel/sched_fair/rt/idletask.c

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: remove the SleepAVG field
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: remove the SleepAVG field

remove the SleepAVG field from /proc/<pid>/status, as
with the removal of the sleep-average code this value
no longer makes sense.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: clean up the rt priority macros
Ingo Molnar [Mon, 9 Jul 2007 16:51:59 +0000 (18:51 +0200)]
sched: clean up the rt priority macros

clean up the rt priority macros, pointed out by Andrew Morton.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: add cfs_rq ops
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: add cfs_rq ops

add the set_task_cfs_rq() abstraction needed by CONFIG_FAIR_GROUP_SCHED.

(not activated yet)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: make posix-cpu-timers use CFS's accounting information
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: make posix-cpu-timers use CFS's accounting information

update the posix-cpu-timers code to use CFS's CPU accounting information.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: add rq_clock()/__rq_clock()
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: add rq_clock()/__rq_clock()

add rq_clock()/__rq_clock(), a robust wrapper around sched_clock(),
used by CFS. It protects against common type of sched_clock() problems
(caused by hardware): time warps forwards and backwards.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: cfs rq data types
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: cfs rq data types

add the CFS rq data types to sched.c.

(the old scheduler fields are still intact, they are removed
 by a later patch)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: cfs, core data types
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: cfs, core data types

add the CFS data types to sched.h.

(the old scheduler is still fully intact.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: cfs core, kernel/sched_idletask.c
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: cfs core, kernel/sched_idletask.c

add kernel/sched_idletask.c - which implements the idle thread
scheduling class. This further simplifies sched.c (under CFS),
for example a number of 'if (p == rq->idle)' type of special-cases
can be removed from sched.c, and schedule() gets simpler too.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: cfs core, kernel/sched_rt.c
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: cfs core, kernel/sched_rt.c

add kernel/sched_rt.c: SCHED_FIFO/SCHED_RR support. The behavior
and semantics of SCHED_FIFO/SCHED_RR tasks is unchanged.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: cfs core, kernel/sched_fair.c
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: cfs core, kernel/sched_fair.c

add kernel/sched_fair.c - which implements the bulk of CFS's
behavioral changes for SCHED_OTHER tasks.

see Documentation/sched-design-CFS.txt about details.

Authors:

 Ingo Molnar <mingo@elte.hu>
 Dmitry Adamushko <dmitry.adamushko@gmail.com>
 Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
 Mike Galbraith <efault@gmx.de>

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Dmitry Adamushko <dmitry.adamushko@gmail.com>
Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
17 years agosched: increase the resolution of smpnice
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: increase the resolution of smpnice

increase SMP-nice's resolution. This is needed by CFS to
implement SCHED_IDLE and cleaned up nice level support.

no behavioral changes.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: move code into kernel/sched_stats.h
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: move code into kernel/sched_stats.h

create sched_stats.h and move sched.c schedstats code into it.
This cleans up sched.c a bit.

no code changes are caused by this patch.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: add init_idle_bootup_task()
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: add init_idle_bootup_task()

add the init_idle_bootup_task() callback to the bootup thread,
unused at the moment. (CFS will use it to switch the scheduling
class of the boot thread to the idle class)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: add in_atomic_preempt_off()
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: add in_atomic_preempt_off()

add in_atomic_preempt_off() - debugging helper that will
simplify schedule().

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: remove sched_exit()
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: remove sched_exit()

remove sched_exit(): the elaborate dance of us trying to recover
timeslices given to child tasks never really worked.

CFS does not need it either.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: uninline set_task_cpu()
Ingo Molnar [Mon, 9 Jul 2007 16:51:58 +0000 (18:51 +0200)]
sched: uninline set_task_cpu()

uninline set_task_cpu(): CFS will add more code to it.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: zap the migration init / cache-hot balancing code
Ingo Molnar [Mon, 9 Jul 2007 16:51:57 +0000 (18:51 +0200)]
sched: zap the migration init / cache-hot balancing code

the SMP load-balancer uses the boot-time migration-cost estimation
code to attempt to improve the quality of balancing. The reason for
this code is that the discrete priority queues do not preserve
the order of scheduling accurately, so the load-balancer skips
tasks that were running on a CPU 'recently'.

this code is fundamental fragile: the boot-time migration cost detector
doesnt really work on systems that had large L3 caches, it caused boot
delays on large systems and the whole cache-hot concept made the
balancing code pretty undeterministic as well.

(and hey, i wrote most of it, so i can say it out loud that it sucks ;-)

under CFS the same purpose of cache affinity can be achieved without
any special cache-hot special-case: tasks are sorted in the 'timeline'
tree and the SMP balancer picks tasks from the left side of the
tree, thus the most cache-cold task is balanced automatically.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: add SCHED_IDLE policy
Ingo Molnar [Mon, 9 Jul 2007 16:51:57 +0000 (18:51 +0200)]
sched: add SCHED_IDLE policy

this patch adds the SCHED_IDLE policy to sched.h.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: rename idle_type/SCHED_IDLE
Ingo Molnar [Mon, 9 Jul 2007 16:51:57 +0000 (18:51 +0200)]
sched: rename idle_type/SCHED_IDLE

enum idle_type (used by the load-balancer) clashes with the
SCHED_IDLE name that we want to introduce. 'CPU_IDLE' instead
of 'SCHED_IDLE' is more descriptive as well.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoEthernet driver for EISA only SNI RM200/RM400 machines
Thomas Bogendoerfer [Wed, 27 Jun 2007 22:49:06 +0000 (00:49 +0200)]
Ethernet driver for EISA only SNI RM200/RM400 machines

Changes to last version:
- spelling fix
- cleaned up probe code

Thomas.

Ethernet driver for EISA only SNI RM200/RM400 machines

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoExtract chip specific code out of lasi_82596.c
Thomas Bogendoerfer [Wed, 27 Jun 2007 22:46:22 +0000 (00:46 +0200)]
Extract chip specific code out of lasi_82596.c

Changes to last version:
- use netdev_alloc_skb
- make init_rx_bufs just fail and not panic, if skb alloc fails
- don/t free_irq, if request_irq failed

Thomas.

Extracted chip specific code out of lasi_82596.c and placed into a lib82596.c
to make it usable for other 82596 drivers

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoehea: Whitespace cleanup
Jan-Bernd Themann [Mon, 2 Jul 2007 11:00:46 +0000 (13:00 +0200)]
ehea: Whitespace cleanup

This patch fixes several whitespace issues.

Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopasemi_mac: Fix TX interrupt threshold
Olof Johansson [Fri, 22 Jun 2007 20:04:54 +0000 (15:04 -0500)]
pasemi_mac: Fix TX interrupt threshold

It was mistakenly set to interrupt on the second packet instead of first, causing
some interesting latency behaviour.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agospidernet: Replace literal with const
Linas Vepstas [Thu, 14 Jun 2007 23:12:23 +0000 (18:12 -0500)]
spidernet: Replace literal with const

Replace literal with const; add bit definitions.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agor8169: perform RX config change after mac filtering
Francois Romieu [Mon, 4 Jun 2007 20:10:15 +0000 (22:10 +0200)]
r8169: perform RX config change after mac filtering

It does not really make sense to update the RX config register
before the mac filtering registers.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: mac address change support
Francois Romieu [Wed, 31 Jan 2007 22:47:43 +0000 (23:47 +0100)]
r8169: mac address change support

Merged from Realtek's r8169-6.001 driver.

I have added some locking to protect against the arp monitoring
timer in the bonding driver. Accessing the configuration registers
is otherwise performed under RTNL locking.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: display some extra debug information during startup
Francois Romieu [Tue, 29 May 2007 22:32:05 +0000 (00:32 +0200)]
r8169: display some extra debug information during startup

It does not cost much and it will ease the identification of (so far)
unknown devices.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: add endianess annotations to [RT]xDesc
Rolf Eike Beer [Mon, 21 May 2007 20:11:04 +0000 (22:11 +0200)]
r8169: add endianess annotations to [RT]xDesc

Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: align the IP header when there is no DMA constraint
Francois Romieu [Wed, 28 Feb 2007 22:16:57 +0000 (23:16 +0100)]
r8169: align the IP header when there is no DMA constraint

Align the IP header when the chipset can DMA at any location (plain 0x8169).
Otherwise (0x8136/0x8168) obey the constraint imposed by the hardware.

This patch complements the previous alignment rework done for copybreak.

Original idea from Philip Craig <philipc@snapgear.com>

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Philip Craig <philipc@snapgear.com>
Cc: Mike Isely <isely@pobox.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: add bit description for the TxPoll register
Francois Romieu [Fri, 23 Feb 2007 22:50:28 +0000 (23:50 +0100)]
r8169: add bit description for the TxPoll register

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: cleanup
Francois Romieu [Wed, 21 Feb 2007 21:40:46 +0000 (22:40 +0100)]
r8169: cleanup

No functionnal change:
- trim the old history log
- whitespace/indent/case police
- unsigned int where signedness does not matter
- removal of obsolete assert
- needless cast from void * (dev_instance)
- remove dead code once related to power management
- use netdev_alloc_skb.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: remove the media option
Francois Romieu [Tue, 20 Feb 2007 23:10:20 +0000 (00:10 +0100)]
r8169: remove the media option

It has been documented as deprecated:
- in MODULE_PARM_DESC since may 2005 ;
- at the top of the source file and in printk since june 2004.

Good bye.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: small 8101 comment
Francois Romieu [Tue, 20 Feb 2007 21:58:51 +0000 (22:58 +0100)]
r8169: small 8101 comment

Extracted from version 1.001.00 of Realtek's r8101.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: confusion between hardware and IP header alignment
Francois Romieu [Tue, 20 Feb 2007 21:20:51 +0000 (22:20 +0100)]
r8169: confusion between hardware and IP header alignment

The rx copybreak part is straightforward.

The align field in struct rtl_cfg_info is related to the alignment
requirements of the DMA operation. Its value is set at 2 to limit the
scale of possible regression but my old v1.21 8169 datasheet claims a
8 bytes requirements (which never appeared in the driver, of course)
and the 8101/8168 go with a plain 8 bytes alignment.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: merge with version 8.001.00 of Realtek's r8168 driver
Francois Romieu [Mon, 19 Feb 2007 23:00:26 +0000 (00:00 +0100)]
r8169: merge with version 8.001.00 of Realtek's r8168 driver

This one includes:

- more tweaks to rtl_hw_start_8168

- a work around for a Rx FiFO overflow issue on the 8168Bb
  - rtl8169_{intr_mask/napi_event} are replaced with per-device fields,
    namely tp->{intr/napi}_event
  - rtl_cfg_info is converted to C99 for readability but the values are
    not changed for the 8169/8110 and the 8101

Includes ChipCmd fix from Bernhard Walle <bwalle@suse.de> (2007/02/24).

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: merge with version 6.001.00 of Realtek's r8169 driver
Francois Romieu [Tue, 13 Feb 2007 22:38:05 +0000 (23:38 +0100)]
r8169: merge with version 6.001.00 of Realtek's r8169 driver

- new identifier for the 8110SCe

- the PCI latency timer is set unconditionally. This part is identical
  in Realtek's r8168 (8.001.00) and r8101 (1.001.00)

- initialization of the cache line size register is for the 8169s only

- more magic in rtl_hw_start_8169

- it is not possible to factor out the setting of the the irq event mask
  with the 8168 and the 8101 any more. Pushed it into the hw_start handler.

- rtl_set_rx_tx_config_registers() and write to the ChipCmd register are
  issued identically for the whole 8169/8110 family: the 8110SCd/8110SCe
  are handled the same way

- work around for AMD platform.

Some registers definitions in Realtek's driver are let aside for later.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: prettify mac_version
Francois Romieu [Mon, 11 Jun 2007 21:35:18 +0000 (23:35 +0200)]
r8169: prettify mac_version

...still a bit yucky though.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: populate the hw_start handler for the 8110
Francois Romieu [Mon, 11 Jun 2007 21:29:50 +0000 (23:29 +0200)]
r8169: populate the hw_start handler for the 8110

Same thing as the previous change for rtl_hw_start_8168.

The 8101 related code in rtl_hw_start_8169 (see RTL_GIGA_MAC_VER_13)
goes away.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: populate the hw_start handler for the 8168
Francois Romieu [Mon, 11 Jun 2007 21:22:52 +0000 (23:22 +0200)]
r8169: populate the hw_start handler for the 8168

rtl_hw_start_8168 inherits the content of rtl_hw_start_8169 minus
the code which depends on RTL_GIGA_MAC_VER_XY (XY != {11/12}).

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: add helpers for per-device hw_start handler
Francois Romieu [Mon, 11 Jun 2007 21:04:41 +0000 (23:04 +0200)]
r8169: add helpers for per-device hw_start handler

They aim to limit the amount of moved code when the hw_start
handler gets more specialized.

No functional change.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: add hooks for per-device hw_start handler
Francois Romieu [Fri, 23 Feb 2007 22:36:39 +0000 (23:36 +0100)]
r8169: add hooks for per-device hw_start handler

Rationale: rtl8169_hw_start will not help maintaining an unified
driver for different chipsets but people at Realtek are probably
too polite to say it distinctly.

Let's add the hook and keep hw_start handler unchanged.

As can be seen from the content of rtl8169_pci_tbl, the RTL_CFG_1
entry in rtl_cfg_info was unused. I recycled it for the 0x8168.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: Rx path update
Stephen Hemminger [Sat, 16 Jun 2007 23:06:49 +0000 (01:06 +0200)]
r8169: Rx path update

- pci_dma_sync_single_for_cpu is not needed for a single large packet
- remove the function pointer to help gcc optimizing the inline
  pci_dma functions.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: kill eth_copy_and_sum()
David S. Miller [Mon, 11 Jun 2007 00:55:04 +0000 (17:55 -0700)]
r8169: kill eth_copy_and_sum()

It hasn't "summed" anything in over 7 years, and it's
just a straight mempcy ala skb_copy_to_linear_data()
so just get rid of it.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>