Commit Graph

178 Commits

Author SHA1 Message Date
Michael Chan
7938109fff [TG3]: Add msi test
Add MSI test for chips that support MSI. If MSI test fails, it will
switch back to INTx mode and will print a message asking the user to
report the failure.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:13:59 -07:00
Michael Chan
88b06bc26b [TG3]: Add msi support
Add MSI support for 5751 C0 and 5752.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:13:25 -07:00
Michael Chan
1c8594b48b [TG3]: Fix bug in tg3_set_eeprom()
Fix a bug in tg3_set_eeprom() when the length is less than 4 and the
offset is not 4-byte aligned.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:12:46 -07:00
Michael Chan
e6af301be3 [TG3]: Add nvram lock-out support for 5752 TPM
Add support for the NVRAM lock-out feature for TPM in 5752. If lock-out
is enabled, certain NVRAM registers cannot be written to.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:12:05 -07:00
Michael Chan
361b4ac29b [TG3]: Add nvram detection for 5752
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:11:21 -07:00
Michael Chan
3e7d83bc96 [TG3]: Add GPIO3 for 5752
Add bit definitions for the new GPIO3 in 5752. GPIO3 must be driven as
output when it is unused.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:10:36 -07:00
Michael Chan
ff645bec52 [TG3]: Workaround 5752 A0 chip ID
The 5752 A0 chip ID is wrong in hardware. The simplest way to workaround
it is to change it to the correct value in tp->pci_chip_rev_id. This
way, it is easier to check for the ASIC_REV_5752 in the rest of the
driver.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:09:53 -07:00
Michael Chan
8c6bda1a89 [TG3]: Fix tg3_set_power_state()
Fix tg3_set_power_state to drive GPIOs properly based on the
TG3_FLAG_EEPROM_WRITE_PROTECT flag. Some delays are also added after D0
and D3 power state changes.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:09:08 -07:00
Michael Chan
314fba348e [TG3]: Setup proper GPIO settings
Setup proper GPIO settings in tp->grc_local_ctrl before calling
tg3_set_power() state in tg3_get_invariants() and after chip reset.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:07:04 -07:00
Michael Chan
7d0c41ef89 [TG3]: Split tg3_phy_probe into 2 functions
Split the 1st half of tg3_phy_probe() into tg3_get_eeprom_hw_cfg() so
that the TG3_FLAG_EEPROM_WRITE_PROT can be determined before calling
tg3_set_power_state() in tg3_get_invariants(). This will allow
tg3_set_power_state() to drive the GPIOs correctly based on the config.
information in eeprom.

On the 5752, there are no pull-up resistors on the GPIO pins and it is
necessary to drive the unused GPIOs as output.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:06:20 -07:00
Michael Chan
85e94cedc4 [TG3]: Minor 5752 fixes
Some minor 5752 fixes mostly for correctness and add 5752 PHY ID.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:05:28 -07:00
John W. Linville
053d78000b [TG3]: add support for bcm5752 rev a1
Replace existing ASIC_REV_5752 definition with ASIC_REV_5752_A0,
and add definition for ASIC_REV_5752_A1. Then, add ASIC_REV_5752_A1
to check for setting TG3_FLG2_5750_PLUS in tg3_get_invariants.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:03:52 -07:00
John W. Linville
1b440c568e [TG3]: check TG3_FLG2_5750_PLUS flag to set TG3_FLG2_5705_PLUS flag
Use check of TG3_FLG2_5750_PLUS in tg3_get_invariants to set
TG3_FLG2_5705_PLUS flag.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:03:18 -07:00
John W. Linville
bb7064dc09 [TG3]: use TG3_FLG2_57{05,50}_PLUS flags in tg3_get_invariants
Rewrite checks in tg3_get_invariants to use TG3_FLG2_5705_PLUS and
TG3_FLG2_5750_PLUS flags.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:02:41 -07:00
John W. Linville
863925f59e [TG3]: more use of TG3_FLG2_5705_PLUS flag
Rewrite of a couple of troublesome multi-way if statements to use
TG3_FLG2_5705_PLUS flag.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:02:04 -07:00
John W. Linville
cbf46853c8 [TG3]: use new TG3_FLG2_5750_PLUS flag
Replace a number of two-way if statements checking for 5750, and/or
5752 to reference the newly-defined TG3_FLG2_5750_PLUS flag instead.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:01:29 -07:00
John W. Linville
6708e5cc10 [TG3]: define TG3_FLG2_5750_PLUS flag
Define TG3_FLG2_5750_PLUS flag and set it in tg3_get_invariants for
ASIC_REV_5750 or ASIC_REV_5752.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:00:52 -07:00
John W. Linville
fcf026936c [TG3]: use TG3_FLG2_5705_PLUS instead of multi-way if's
Replace a number of three-way if statements checking for 5705, 5750,
and 5752 to reference the equivalent TG3_FLG2_5705_PLUS flag instead.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 17:00:02 -07:00
John W. Linville
6e9017a7d9 [TG3]: add bcm5752 entry to pci_ids.h
Add proper entry for bcm5752 PCI ID to pci_ids.h, and use it in tg3.
I did this separately in case patches like this (i.e. new PCI IDs)
need to come from more "official" sources.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 16:58:56 -07:00
John W. Linville
af2bcd97b5 [TG3]: add bcm5752 to tg3_pci_tbl
Add hard-coded definition of bcm5752 PCI ID to tg3_pci_tbl.
Next patch will change entry to use pci_ids.h-based definition.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 16:57:50 -07:00
John W. Linville
2052da9460 [TG3]: add basic bcm5752 support
Add ASIC_REV_5752 definition.

Track-down all references to ASIC_REV_5750 and mirror them with
references to the newly defined ASIC_REV_5752.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 16:56:08 -07:00
Adrian Bunk
62b56faa43 [PATCH] Fix tgafb.c compile failure
The untested patch below should fix this compile error.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-21 14:09:42 -07:00
Jody McIntyre
e4ec0f23c8 [PATCH] Fix non-legacy ISO receive regression
Fix non-legacy multichannel ISO receive, broken by Parag Wardukar's
allocation fix.  Multichannel ISO receive still sucks; it should be possible
to use both legacy and non-legacy modes at the same time, but with this
patch, things are no worse than they were in 2.6.11 and allocation is
still done at the correct time.

Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-21 14:09:42 -07:00
Jody McIntyre
dfe547ab87 [PATCH] ohci1394: tlabels misprinted in DBGMSG
- Print the correct value in the DBGMSG in dma_rcv_tasklet().
  See OHCI 1.1 section 8.7, page 103 ff.
- Print tlabels as %d everywhere.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-21 14:09:42 -07:00
Karsten Keil
d8470b7c13 [PATCH] fix for ISDN ippp filtering
We do not longer use DLT_LINUX_SLL for activ/pass filters but
DLT_PPP_WITHDIRECTION witch need 1 as outbound flag. 

Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-21 08:30:30 -07:00
James Bottomley
858eaca169 [PATCH] Fix aic7xxx_osm.c compile with older gcc's
My version of gcc doesn't warn about this error (declaration in the
middle of a set of statements).

The fix is simple (this also corrects return code; for init functions it
should be zero or error).
2005-04-21 07:35:45 -07:00
Linus Torvalds
9f6c6fc505 Merge with kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6.git/
for 13 driver core, sysfs, and debugfs fixes.
2005-04-19 13:14:28 -07:00
Linus Torvalds
c3c661932c Merge with kernel.org:/pub/scm/linux/kernel/git/gregkh/aoe-2.6.git/
for 11 aoe bugfix patches.
2005-04-19 13:12:03 -07:00
Linus Torvalds
c79bea07ec Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6.git/ 2005-04-19 07:31:40 -07:00
Linus Torvalds
a9e4820c4c Merge with Greg's USB tree at kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6.git/
Yah, it does work to merge. Knock wood.
2005-04-19 07:28:57 -07:00
ecashin@coraid.com
a4b3836409 [PATCH] aoe 12/12: send outgoing packets in order
I can't use list.h, since sk_buff doesn't have a list_head but instead
has two struct sk_buff pointers, and I want to avoid any extra memory
allocation.

send outgoing packets in order

Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 22:00:22 -07:00
ecashin@coraid.com
0c6f0e7920 [PATCH] aoe 11/12: add support for disk statistics
add support for disk statistics

Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 22:00:22 -07:00
ecashin@coraid.com
63e9cc5d6f [PATCH] aoe 6/12: Alexey Dobriyan sparse cleanup
Alexey Dobriyan sparse cleanup

Signed-off-by: Alexey Dobriyan <adobriyan@mail.ru>
Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 22:00:20 -07:00
ecashin@coraid.com
03347936af [PATCH] aoe 5/12: don't try to free null bufpool
don't try to free null bufpool

Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 22:00:19 -07:00
ecashin@coraid.com
b68650fd3f [PATCH] aoe 3/12: update driver version to 6
update driver version to 6

Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 22:00:18 -07:00
ecashin@coraid.com
32465c6506 [PATCH] aoe 2/12: allow multiple aoe devices with same MAC
allow multiple aoe devices with same MAC addr

Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 22:00:18 -07:00
ecashin@coraid.com
fc458dcda2 [PATCH] aoe 1/12: remove too-low cap on minor number
remove too-low cap on minor number

Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 22:00:17 -07:00
kay.sievers@vrfy.org
089d42b013 [PATCH] kobject/hotplug split - usb cris
kobject_add() and kobject_del() don't emit hotplug events anymore.
We need to do it ourselves now.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 21:57:37 -07:00
kay.sievers@vrfy.org
e57cd73e2e [PATCH] kobject/hotplug split - devices core
kobject_add() and kobject_del() don't emit hotplug events anymore. Do it
ourselves if we are finished populating the device directory.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 21:57:36 -07:00
kay.sievers@vrfy.org
0700f56bbc [PATCH] kobject/hotplug split - class core
kobject_add() and kobject_del() don't emit hotplug events anymore. Do it
ourselves if we are finished populating the device directory.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 21:57:35 -07:00
Robert Schwebel
46ea0d6c26 [PATCH] export platform_add_devices
platform_add_devices can be used from within modules, so it should be
exported.  This can for example happen if you have hotpluggable firmware in
an FPGA on a system on chip processor; in our case the FPGA is probed for
devices and the FPGA base code registers the devices it has found with the
kernel.  

(akpm: I think this is reasonable from a licensing POV: it's unlikely that
anyone would be interested in merging such specialised modules into mainline,
and it's a GPL export).

Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 21:57:32 -07:00
kay.sievers@vrfy.org
6897089c5f [PATCH] add TIMEOUT to firmware_class hotplug event
On Tue, 2005-03-15 at 09:25 +0100, Hannes Reinecke wrote:
> The current implementation of the firmware class breaks a fundamental
> assumption in udevd: that the physical device can be initialised fully
> prior to executing the next event for that device.

Here we add a TIMEOUT value to the hotplug environment of the firmware
requesting event. I will adapt udevd not to wait for anything else, if
it finds a TIMEOUT key.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 21:57:31 -07:00
Jean Delvare
1d66c64c3c [PATCH] I2C: Fix incorrect sysfs file permissions in it87 and via686a drivers
The it87 and via686a hardware monitoring drivers each create a sysfs
file named "alarms" in R/W mode, while they should really create it in
read-only mode. Since we don't provide a store function for these files,
write attempts to these files will do something undefined (I guess) and
bad (I am sure). My own try resulted in a locked terminal (where I
attempted the write) and a 100% CPU load until next reboot.

As a side note, wouldn't it make sense to check, when creating sysfs
files, that readable files have a non-NULL show method, and writable
files have a non-NULL store method? I know drivers are not supposed to
do stupid things, but there is already a BUG_ON for several conditions
in sysfs_create_file, so maybe we could add two more?

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 21:16:59 -07:00
Jean Delvare
86b5ac878d [PATCH] I2C: via686a cleanups
Here comes a small cleanup patch for the via686a driver. I noticed the
following two non-fatal problems:

1* The device parent is explicitely set, but it's not needed because the
i2c core will do as the client is registered.

2* snprintf is used where strlcpy would suffice.

Fixing them brings the via686a driver in line with what other similar
drivers do.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 21:16:58 -07:00
johnpol@2ka.mipt.ru
0598571575 [PATCH] w1_smem: w1 ID is only 8 bytes long.
w1 ID is only 8 bytes long.

Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 21:16:57 -07:00
johnpol@2ka.mipt.ru
8523ff4567 [PATCH] w1: real fix for big endian machines.
Real fix for big endian machines - crc must be calculated
using little endian byte order.

Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 21:16:57 -07:00
Viktor A. Danilov
e838a0d4d5 [PATCH] USB: fix AIPTEK input doesnt register device & driver` section in sysfs (/sys/class/input/event#)
PROBLEM: aiptek input doesn`t register `device` & `driver` section in sysfs (/sys/class/input/event#)
REASON: `dev` - field not filled...
SOLUTION: in linux/drivers/usb/input/aiptek.c write
	aiptek->inputdev.dev = &intf->dev;
before calling
	input_register_device(&aiptek->inputdev);

From: "Viktor A. Danilov" <__die@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

Index: gregkh-2.6/drivers/usb/input/aiptek.c
===================================================================
2005-04-18 17:39:35 -07:00
David Brownell
6cdee106e7 [PATCH] usb gadget: ethernet/rndis updates
Updates to the Ethernet/RNDIS gadget driver (mostly for RNDIS):

  - Fix brown-paper bag goof with RNDIS packet TX ... the wrong length
    field got set, so Windows would ignore data packets it received.

  - More consistent handling of CDC output filters (but not yet hooking
    things up so RNDIS uses the mechanism).

  - Zerocopy RX for RNDIS packets too (saving CPU cycles).

  - Use the pre-allocated interrupt/status request and buffer, rather
    than allocating and freeing one of each every few seconds (which
    could fail).

  - Some more "sparse" tweaks, making both dual-speed and single-speed
    configurations happier.

  - RNDIS speeds are reported in units of 100bps, not bps.

Plus two minor cleanups (whitespace, messaging).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 17:39:34 -07:00
Jesper Juhl
1bc3c9e1e4 [PATCH] USB: kfree cleanup for drivers/usb/* - no need to check for NULL
Get rid of a bunch of redundant NULL pointer checks in drivers/usb/*,
there's no need to check a pointer for NULL before calling kfree() on it.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


Index: gregkh-2.6/drivers/usb/class/audio.c
===================================================================
2005-04-18 17:39:34 -07:00
Jesper Juhl
6fd19f4b55 [PATCH] usb: kfree() cleanups in drivers/usb/core/devio.c
Checking for NULL before calling kfree() is redundant. This patch removes
these redundant checks and also makes a few tiny whitespace changes.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-18 17:39:33 -07:00