Commit Graph

408 Commits

Author SHA1 Message Date
Tom 'spot' Callaway
24dc6ead53 [SPARC]: dump_stack for sparc
Bob Breuer wrote a patch to add dump_stack for sparc. Supposedly, this
was applied, but it doesn't exist in 2.6.11.

This is the same patch, rediffed against 2.6.11.

Signed-off-by: Tom 'spot' Callaway <tcallawa@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24 20:46:49 -07:00
Tom 'spot' Callaway
205a7edad9 [SPARC]: Fix mxcc warning
Peter Jones uncovered this one while we were debugging the framebuffer
issues. There are some references to -1 in the mxcc asm code, which
should be 0xffffffff.

This patch gets rid of the -1s.

Signed-off-by: Tom 'spot' Callaway <tcallawa@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24 20:46:00 -07:00
Tom 'spot' Callaway
962bd5604b [SPARC]: More sparc32 ksyms cleanups
The sparc32 ksyms is missing a few more symbols, these are primarily
related to SMP, and will be needed as SMP gets beaten back into
functionality.

Specifically, add __cpu_data (PER_CPU), cpu_online_map, and
phys_cpu_present_map.

This patch assumes that the earlier "linux-2.6.11-sparc-fixksyms.patch"
is applied, otherwise, it will apply with fuzz.

Signed-off-by: Tom 'spot' Callaway <tcallawa@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24 20:45:06 -07:00
Bob Breuer
f1dee7ea25 [SPARC]: Enable sun logo on sparc32
This enables the sun linux logo to be selected on sparc32.

Signed-off-by: Bob Breuer <breuerr@mc.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24 20:42:45 -07:00
Tom 'spot' Callaway
77a6a22f69 [SPARC]: Missing sparc32 ksyms
This patch adds some missing sparc32 ksyms that are needed.
Specifically, ___rw_read_enter, ___rw_read_exit, ___rw_write_enter, and
sys_close.

Signed-off-by: Tom 'spot' Callaway <tcallawa@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24 20:41:45 -07:00
Tom 'spot' Callaway
6ee7c15294 [SPARC]: TCX Framebuffer fixes
Using the same logic as the other framebuffer fixes committed in 2.6.11,
this is a set of fixes to make TCX functional on the console again. Adds
the tcx_pan_display function, sets the
all->info.var.{red,green,blue}.length values to 8, and runs fb_set_cmap.
Also looks for the correct SUNW,tcx prom value.

This patch just slipped through the cracks.

Originally by: Georg Chini <georg.chini@triaton-webhosting.com>

Signed-off-by: Tom 'spot' Callaway <tcallawa@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24 20:39:15 -07:00
Tom 'spot' Callaway
a271c241a6 [SPARC]: Stop-A printk cleanup
This patch is incredibly trivial, but it does resolve some of the user
confusion as to what "L1-A" actually is.

Clarify printk message to refer to Stop-A (L1-A).

Gentoo has a virtually identical patch in their kernel sources.

Signed-off-by: Tom 'spot' Callaway <tcallawa@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24 20:38:02 -07:00
Tom 'spot' Callaway
10158286e7 [SPARC]: module version cleanups
Minor cleanups for sparc specific drivers (sunbmac, sunqe, sunlance,
sunhme, esp) so that they have a full module version definition that is
consistent with other upstream drivers.

Signed-off-by: Tom 'spot' Callaway <tcallawa@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24 20:35:20 -07:00
Al Viro
8e293ada7d [PATCH] ppc trivial iomem annotations: pmac_smp.c
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 14:58:08 -07:00
Al Viro
e2178f199b [PATCH] ppc trivial iomem annotations: chrp
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 14:58:08 -07:00
Al Viro
28a6815979 [PATCH] ppc trivial iomem annotations: pmac_time.c
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 14:58:08 -07:00
Al Viro
ef0299bf8e [PATCH] mostek bogus sparse annotations fixed
void * __iomem foo is not a pointer to iomem - it's an iomem variable
containing void *.  A pile of such guys in arch/sparc64/kernel/time.c,
drivers/sbus/char/rtc.c and include/asm-sparc64/mostek.h turned into
intended void __iomem *. 

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 12:28:36 -07:00
Al Viro
fdca124a1b [PATCH] missing include in mthca
Missing include - usual portability problems...

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 12:28:36 -07:00
Al Viro
461790f790 [PATCH] broken dependency for floppy on ARM
(!ARCH_S390 && !M68K && !IA64 && !UML) is obviously always true on ARM.

Intended behaviour for ARM is "absent unless we are on RiscPC or
EBSA285".  So what we want is added && !ARM in the first term - without
it the last part (|| ARCH_RPC || ARCH_EBSA285, that is) doesn't do
anything. 

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 12:28:35 -07:00
Al Viro
a62e7cef1a [PATCH] missing include in hisax
Missing include, breaks at least on arm.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 12:28:35 -07:00
Al Viro
3106dbcd91 [PATCH] __get_unaligned() turned into macro
Turns __get_unaligned() and __put_unaligned into macros.  That is
definitely safe; leaving them as inlines breaks on e.g.  alpha [try to
build ncpfs there and you'll get unresolved symbols since we end up
getting __get_unaligned() not inlined]. 

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 12:28:35 -07:00
Al Viro
b5a48daddc [PATCH] broken dependency for I2C_MPC
All boards dealt with by I2C_MPC are 32bit.  Moreover, driver simply
won't build on ppc64 - it uses ppc32-only types all over the place. 
Dependency fixed - it's PPC32, not PPC. 

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 12:28:35 -07:00
Al Viro
e3b9ab1a6d [PATCH] missing dependency on sparc64
CONFIG_HW_CONSOLE selects vt.c; without the stuff pulled by CONFIG_VT it
will not build.  Normally we get both in drivers/char/Kconfig and there
HW_CONSOLE depends on VT.  sparc64 does not pull drivers/char/Kconfig
and has that sutff in arch/sparc64/Kconfig instead.  However, it forgets
to add the same dependency.  As the result, turning VT off [which is
possible] will end up with broken build.  For no good reason... 

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 12:28:35 -07:00
Al Viro
fa732f5568 [PATCH] msnd_pinnacle GFP fix
Dumb typo - __get_free_page() takes gfp mask (in this case -
GFP_KERNEL), not the page size... 

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 12:28:34 -07:00
Al Viro
01424961e6 [PATCH] mempolicy.c GFP fix
zonelist_policy() forgot to mask non-zone bits from gfp when comparing
zone number with policy_zone. 

ACKed-by: Andi Kleen <ak@suse.de>
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 12:28:34 -07:00
Al Viro
bc86120a85 [PATCH] SCSI GFP fixes
Somebody forgot that | has higher priority than ?:.  As the result,
allocation is done with bogus flags - instead of GFP_ATOMIC + possibly
GFP_DMA we always get GFP_DMA and no GFP_ATOMIC. 

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 12:28:34 -07:00
Ashok Raj
df6c6804ce [IA64] Fix build errors for !HOTPLUG case.
Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-04-22 14:46:24 -07:00
Ashok Raj
b8d8b883e6 [IA64] cpu hotplug: return offlined cpus to SAL
This patch is required to support cpu removal for IPF systems. Existing code
just fakes the real offline by keeping it run the idle thread, and polling
for the bit to re-appear in the cpu_state to get out of the idle loop.

For the cpu-offline to work correctly, we need to pass control of this CPU 
back to SAL so it can continue in the boot-rendez mode. This gives the
SAL control to not pick this cpu as the monarch processor for global MCA
events, and addition does not wait for this cpu to checkin with SAL
for global MCA events as well. The handoff is implemented as documented in 
SAL specification section 3.2.5.1 "OS_BOOT_RENDEZ to SAL return State"

Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-04-22 14:44:40 -07:00
Arun Sharma
7130667107 [IA64] ia32_signal.c: erroneous use of memset/memcpy
Found by Alexander Nyberg, improved by Bjorn Helgaas.

- Fix the incorrect argument to sizeof()
- looks like memcpy() code pass was dervived from code that used
  copy_from_user().  But in this case we are doing to kernel space
  to kernel space copy, so memcpy is the right routine, but it
  doesn't return an error code.
 
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-04-22 13:06:47 -07:00
Alexander Nyberg
efab7739d9 [PATCH] x86_64: fix new out of line put_user()
The labels after the last put_user patch were misplaced so
exceptions on the real mov instructions would not be handled.

Noted by Brian Gerst <bgerst@didntduck.org>
2005-04-22 10:22:07 -07:00
Linus Torvalds
21b7ef0c6c Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git 2005-04-22 10:18:06 -07:00
David S. Miller
b179fb8ca5 [SPARC64]: In sunsab driver, make sure to set the uart timeout.
This breaks serial consoles badly.  Thanks to Eric Brower
for tracking down the problem.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 22:18:03 -07:00
David S. Miller
623f41eb92 [SPARC64]: In sunsu driver, make sure to fully init chip for kbd/ms
We were forgetting to call sunsu_change_speed().  The reason
that replugging in the mouse cable "fixes things" is that
causes a BREAK interrupt which in turn caused a call to
sunsu_change_speed() which would get the chip setup properly.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 22:06:13 -07:00
David S. Miller
b4bca26c01 [SPARC]: Provide generic ioctls in Sparc RTC driver.
Provide support for drivers/char/rtc.c ioctls in the
Mostek rtc driver as well as the Sparc specific RTCGET
and RTCSET.

This allows userspace to be much less messy.  Currently
util-linux and other spots jump through hoops trying
various ioctl variants until it hits the right one whatever
driver actually being used supports.

Eventually all of this should move over to the genrtc.c
driver, but not today...

While we are here, fix up the register types for sparse.

Thanks to Frans Pop for helping point out this issue.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 21:42:34 -07:00
David S. Miller
d7be828e03 [SPARC64]: Provide a pgprot_noncached() implementation.
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 21:41:33 -07:00
Patrick McHardy
5c5d281a93 [XFRM]: Fix existence lookup in xfrm_state_find
Use 'daddr' instead of &tmpl->id.daddr, since the latter
might be zero.  Also, only perform the lookup when
tmpl->id.spi is non-zero.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 20:12:32 -07:00
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