GitHub/LineageOS/G12/android_kernel_amlogic_linux-4.9.git
19 years ago[IA64] vector sharing (Large I/O system support)
Kenji Kaneshige [Mon, 25 Apr 2005 20:26:23 +0000 (13:26 -0700)]
[IA64] vector sharing (Large I/O system support)

Current ia64 linux cannot handle greater than 184 interrupt sources
because of the lack of vectors. The following patch enables ia64 linux
to handle greater than 184 interrupt sources by allowing the same
vector number to be shared by multiple IOSAPIC's RTEs. The design of
this patch is besed on "Intel(R) Itanium(R) Processor Family Interrupt
Architecture Guide".

Even if you don't have a large I/O system, you can see the behavior of
vector sharing by changing IOSAPIC_LAST_DEVICE_VECTOR to fewer value.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] multi-core/multi-thread identification
Suresh Siddha [Mon, 25 Apr 2005 20:25:06 +0000 (13:25 -0700)]
[IA64] multi-core/multi-thread identification

Version 3 - rediffed to apply on top of Ashok's hotplug cpu
patch.  /proc/cpuinfo output in step with x86.

This is an updated MC/MT identification patch based on the
previous discussions on list.

Add the Multi-core and Multi-threading detection for IPF.
  - Add new core and threading related fields in /proc/cpuinfo.
Physical id
Core id
Thread id
Siblings
  - setup the cpu_core_map and cpu_sibling_map appropriately
  - Handles Hot plug CPU

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Gordon Jin <gordon.jin@intel.com>
Signed-off-by: Rohit Seth <rohit.seth@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] __copy_user breaks on unaligned src
Keith Owens [Mon, 25 Apr 2005 20:23:47 +0000 (13:23 -0700)]
[IA64] __copy_user breaks on unaligned src

memcpy_mck.S::__copy_user breaks in the prefetch code under these conditions :-

* src is unaligned and
* dst is near the end of a page and
* the page after dst is unmapped.

Signed-off-by: Keith Owens <kaos@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] Need to handle lfetch in "no_context" case.
Tony Luck [Mon, 25 Apr 2005 20:22:44 +0000 (13:22 -0700)]
[IA64] Need to handle lfetch in "no_context" case.

Thanks to Mark for tracking down this one.  Users of __copy_from_user_inatomic()
will be sad if we don't handle lfetch faults for the "no_context" case.

Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] Altix SN add support for slots in geoid_t locator
Mark Goodwin [Mon, 25 Apr 2005 20:21:54 +0000 (13:21 -0700)]
[IA64-SGI] Altix SN add support for slots in geoid_t locator

This patch against ia64-test-2.6.12 is needed for forthcoming
Altix chipsets. It renames geoid_any_t to geoid_common_t and
splits the 8bit 'slab' field into two 4bit fields for 'slab'
and 'slot'. Similar changes in the Altix SAL will retain backward
compatibility for old kernels.

Signed-off-by: Mark Goodwin <markgw@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] fix syscall-optimization goof
David Mosberger-Tang [Mon, 25 Apr 2005 20:20:38 +0000 (13:20 -0700)]
[IA64] fix syscall-optimization goof

Sadly, I goofed in this syscall-tuning patch:

ChangeSet 1.1966.1.40 2005/01/22 13:31:05 davidm@hpl.hp.com
  [IA64] Improve ia64_leave_syscall() for McKinley-type cores.

  Optimize ia64_leave_syscall() a bit better for McKinley-type cores.
  The patch looks big, but that's mostly due to renaming r16/r17 to r2/r3.
  Good for a 13 cycle improvement.

The problem is that the size of the physical stacked registers was
loaded into the wrong register (r3 instead of r17).  Since r17 by
coincidence always had the value 1, this had the effect of turning
rse_clear_invalid into a no-op.  That poses the risk of leaking kernel
state back to user-land and is hence not acceptable.

The fix below is simple, but unfortunately it costs us about 28 cycles
in syscall overhead. ;-(

Unfortunately, there isn't much we can do about that since those
registers have to be cleared one way or another.

--david

Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] Shub2 BTE support - BTE recovery code
Russ Anderson [Mon, 25 Apr 2005 20:19:52 +0000 (13:19 -0700)]
[IA64-SGI] Shub2 BTE support - BTE recovery code

patch 2:
Shub2 BTE recovery code will be implemented in SAL.
Define the SAL interface.
Modify bte_error to call SAL for shub2.

Signed-off-by: Russ Anderson <rja@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] Add new MMR definitions/Modify BTE initialiation&copy.
Russ Anderson [Mon, 25 Apr 2005 20:19:11 +0000 (13:19 -0700)]
[IA64-SGI] Add new MMR definitions/Modify BTE initialiation&copy.

patch 1:
Add new MMR definitions.
Modify BTE initialiation.
Modify BTE copy.

Signed-off-by: Russ Anderson <rja@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] disable TIOCA GART TLB prefetching
Mark Maule [Mon, 25 Apr 2005 20:18:02 +0000 (13:18 -0700)]
[IA64-SGI] disable TIOCA GART TLB prefetching

Patch to disable SGI TIOCA GART TLB prefetching due to hw bug.

Signed-off-by: Mark Maule <maule@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] MAX_PGT_FREES_PER_PASS must be 'L' to avoid warning
Tony Luck [Mon, 25 Apr 2005 20:16:59 +0000 (13:16 -0700)]
[IA64] MAX_PGT_FREES_PER_PASS must be 'L' to avoid warning

'min' is very picky about types of arguments, make it happy

Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] fix: warning: `ql_size' might be used uninitialized
Tony Luck [Mon, 25 Apr 2005 20:16:16 +0000 (13:16 -0700)]
[IA64] fix: warning: `ql_size' might be used uninitialized

Oops.  Should have caught this before I checked it in.

Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] sba_iommu bug fixes
Alex Williamson [Mon, 25 Apr 2005 20:14:36 +0000 (13:14 -0700)]
[IA64] sba_iommu bug fixes

   This fixes a couple of bugs in the zx1/sx1000 sba_iommu.  These are
all pretty low likelihood of hitting.  The first problem is a simple off
by one, deep in the sba_alloc_range() error path.  Surrounding that was
a lock ordering problem that could have potentially deadlocked with the
order the locks are grabbed in sba_unmap_single().  I moved the resource
locking into sba_search_bitmap() to prevent this.  Finally, there's a
potential race between unmapping pdir entries and marking incoming DMA
pages clean.  If you see any oddities, please let me know, but I've
tested it pretty thoroughly here.  Tony, please apply.  Thanks,

BTW, many of the options in this driver not on by default are becoming
more and more broken.  I'll be working on some patches to clean them
out, but I wanted to get this bug fix out first.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] Percpu quicklist for combined allocator for pgd/pmd/pte.
Robin Holt [Mon, 25 Apr 2005 20:13:16 +0000 (13:13 -0700)]
[IA64] Percpu quicklist for combined allocator for pgd/pmd/pte.

This patch introduces using the quicklists for pgd, pmd, and pte levels
by combining the alloc and free functions into a common set of routines.
This greatly simplifies the reading of this header file.

This patch is simple but necessary for large numa configurations.
It simply ensures that only pages from the local node are added to a
cpus quicklist.  This prevents the trapping of pages on a remote nodes
quicklist by starting a process, touching a large number of pages to
fill pmd and pte entries, migrating to another node, and then unmapping
or exiting.  With those conditions, the pages get trapped and if the
machine has more than 100 nodes of the same size, the calculation of
the pgtable high water mark will be larger than any single node so page
table cache flushing will never occur.

I ran lmbench lat_proc fork and lat_proc exec on a zx1 with and without
this patch and did not notice any change.

On an sn2 machine, there was a slight improvement which is possibly
due to pages from other nodes trapped on the test node before starting
the run.  I did not investigate further.

This patch shrinks the quicklist based upon free memory on the node
instead of the high/low water marks.  I have written it to enable
preemption periodically and recalculate the amount to shrink every time
we have freed enough pages that the quicklist size should have grown.
I rescan the nodes zones each pass because other processess may be
draining node memory at the same time as we are adding.

Signed-off-by: Robin Holt <holt@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI]
Bruce Losure [Mon, 25 Apr 2005 20:12:02 +0000 (13:12 -0700)]
[IA64-SGI]

Missed the "bk new" for this file in the last commit.

Signed-off-by: Bruce Losure <blosure@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] Altix: enable poweroff
Aaron J Young [Mon, 25 Apr 2005 20:11:14 +0000 (13:11 -0700)]
[IA64-SGI] Altix: enable poweroff

This patch adds the necessary "hook" to allow SGI/SN
machines to perform a system power off upon a
'init 0', 'halt -p', 'poweroff' or 'shutdown -h'.

The "hook" is to set the pm_power_off callback
to ia64_sn_power_down(). pm_power_off is checked
in machine_power_off()/do_poweroff() and, if set, is executed.
ia64_sn_power_down() is a function already present (but not
used currently) in the sn kernel.
ia64_sn_power_down() makes a SAL call to execute the
power off.

Signed-off-by: Aaron J Young <ayoung@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] Bus driver for the CX port of SGI's TIO chip.
Bruce Losure [Mon, 25 Apr 2005 20:09:41 +0000 (13:09 -0700)]
[IA64-SGI] Bus driver for the CX port of SGI's TIO chip.

This patch is to provide CX port infrastructure for SGI TIO-based
h/w.   Also a 'core services' driver for SGI FPGA-based h/w.

Signed-off-by: Bruce Losure <blosure@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] perfmon: make pfm_sysctl a global, and other cleanup
Stephane Eranian [Mon, 25 Apr 2005 20:08:30 +0000 (13:08 -0700)]
[IA64] perfmon: make pfm_sysctl a global, and other cleanup

- make pfm_sysctl a global such that it is possible
  to enable/disable debug printk in sampling formats
  using PFM_DEBUG.

- remove unused pfm_debug_var variable

- fix a bug in pfm_handle_work where an BUG_ON() could
  be triggered. There is a path where pfm_handle_work()
  can be called with interrupts enabled, i.e., when
  TIF_NEED_RESCHED is set. The fix correct the masking
  and unmasking of interrupts in pfm_handle_work() such
  that we restore the interrupt mask as it was upon entry.

signed-off-by: stephane eranian <eranian@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] support variable length nasids in shub2
Colin Ngam [Mon, 25 Apr 2005 20:07:00 +0000 (13:07 -0700)]
[IA64-SGI] support variable length nasids in shub2

This patch enables our TIO IO chipset to support variable length nasids in
Shub2 chipset.

Signed-off-by: Colin Ngam <cngam@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] Shub2 provides an addition of 2 External Interrupt events.
Colin Ngam [Mon, 25 Apr 2005 20:06:28 +0000 (13:06 -0700)]
[IA64-SGI] Shub2 provides an addition of 2 External Interrupt events.

Signed-off-by: Colin Ngam <cngam@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] Altix SN topology fix potential infinite loop
Mark Goodwin [Mon, 25 Apr 2005 20:05:08 +0000 (13:05 -0700)]
[IA64-SGI] Altix SN topology fix potential infinite loop

Fix infinite loop if sn_hwperf_location_to_bpos() fails.

Signed-off-by: Mark Goodwin <markgw@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] Altix SN topology support for new chipsets and pci topology
Mark Goodwin [Mon, 25 Apr 2005 20:04:22 +0000 (13:04 -0700)]
[IA64-SGI] Altix SN topology support for new chipsets and pci topology

please accept this patch to the Altix SN platform topology export
interface to support new chipsets and to export PCI topology.

This follows on top of Jack Steiner's patch dated March 1st
("New chipset support for SN platform").

Signed-off-by: Mark Goodwin <markgw@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] speed up syscall path a bit more
David Mosberger-Tang [Mon, 25 Apr 2005 20:03:16 +0000 (13:03 -0700)]
[IA64] speed up syscall path a bit more

Recently I noticed that clearing ar.ssd/ar.csd right before srlz.d is
causing significant stalling in the syscall path.  The patch below
fixes that by moving the register-writes after srlz.d.  On a Madison,
this drops break-based getpid() from 241 to 226 cycles (-15 cycles).

Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] Tighten up unw_unwind_to_user check
Keith Owens [Mon, 25 Apr 2005 18:45:26 +0000 (11:45 -0700)]
[IA64] Tighten up unw_unwind_to_user check

Detect user space by the unwind frame with predicate PRED_USER_STACK
set, instead of a user space IP.  Tighten up the last ditch check for
running off the top of the kernel stack.

Based on a suggestion by David Mosberger, reworked to fit the current
tree.  This survives my stress test which used to break 2.6.9 kernels.
Unlike 2.6.11, the stress test now unwinds to the correct point, so
gdb can get the user space registers.

Signed-off-by: Keith Owens <kaos@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] add missing cpu_relax() in ITC syncing code
David Mosberger-Tang [Mon, 25 Apr 2005 18:44:02 +0000 (11:44 -0700)]
[IA64] add missing cpu_relax() in ITC syncing code

Call cpu_relax() in busy-waiting loops of the ITC-syncing code.

Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] Change SAL call request code for SN systems
Jack Steiner [Mon, 25 Apr 2005 18:42:39 +0000 (11:42 -0700)]
[IA64-SGI] Change SAL call request code for SN systems

Change the value of the SAL call number for a new SAL request. The
initial implementation in the PROM did not match what the OS expected.
Since the OS can run on PROMs that do not implement the new call,
changing the call number avoids the issue. New PROMs will implement
the new call number. (This avoids problems with the 4.05 PROM).

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] altix: tioca chip driver (agp)
Mark Maule [Mon, 25 Apr 2005 18:35:54 +0000 (11:35 -0700)]
[IA64-SGI] altix: tioca chip driver (agp)

Provide a driver for the altix TIOCA AGP chipset.  An agpgart backend will
be provided as a separate patch.

Signed-off-by: Mark Maule <maule@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] sn2-move-pci-headers.patch
Mark Maule [Mon, 25 Apr 2005 18:32:16 +0000 (11:32 -0700)]
[IA64-SGI] sn2-move-pci-headers.patch

Move a couple of headers out of arch/ia64/sn/include/pci and into
include/asm-ia64/sn.

Signed-off-by: Mark Maule <maule@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64-SGI] sn2-pci-dma-abstraction.patch
Mark Maule [Mon, 25 Apr 2005 18:26:03 +0000 (11:26 -0700)]
[IA64-SGI] sn2-pci-dma-abstraction.patch

Provide an abstraction of the altix pci dma runtime layer so that multiple
pci-based bridges can be supported.

Signed-off-by: Mark Maule <maule@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[PATCH] fs/aio.c: make some code static
Adrian Bunk [Mon, 25 Apr 2005 15:18:14 +0000 (08:18 -0700)]
[PATCH] fs/aio.c: make some code static

This patch makes some needlessly global code static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Benjamin LaHaise <bcrl@kvack.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc user annotations: debug_setconetext(2)
Al Viro [Mon, 25 Apr 2005 14:55:59 +0000 (07:55 -0700)]
[PATCH] ppc user annotations: debug_setconetext(2)

3rd argument of sys_debug_setcontext() is also a userland pointer.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc iomem annotations: mv643xx_eth
Al Viro [Mon, 25 Apr 2005 14:55:58 +0000 (07:55 -0700)]
[PATCH] ppc iomem annotations: mv643xx_eth

void * __iomem replaced with intended void __iomem *.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc sparse annotations: emulate_string_inst()
Al Viro [Mon, 25 Apr 2005 14:55:58 +0000 (07:55 -0700)]
[PATCH] ppc sparse annotations: emulate_string_inst()

replaced declaration of EA from u32 to unsigned long - this beast is
used only to cast it to (userland) pointer and proper integer type for
that is unsigned long.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc iomem annotations: pmac_low_i2c
Al Viro [Mon, 25 Apr 2005 14:55:58 +0000 (07:55 -0700)]
[PATCH] ppc iomem annotations: pmac_low_i2c

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc iomem annotations: ebony_setup_pcix()
Al Viro [Mon, 25 Apr 2005 14:55:58 +0000 (07:55 -0700)]
[PATCH] ppc iomem annotations: ebony_setup_pcix()

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc iomem annotations: ->io_base_virt
Al Viro [Mon, 25 Apr 2005 14:55:57 +0000 (07:55 -0700)]
[PATCH] ppc iomem annotations: ->io_base_virt

* ->io_base_virt in struct pci_controller is iomem pointer.  Marked as such.
  Most of the places that used it are already annotated to expect iomem.
* places that did gratitious (and wrong) casts a-la
isa_io_base = (unsigned long)ioremap(...);
hose->io_base_virt = (void *)isa_io_base;
  turned into
hose->io_base_virt = ioremap(...);
isa_io_base = (unsigned long)hose->io_base_virt;
* pci_bus_io_base() annotated as returning iomem pointer.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc user annotations: sigcontext
Al Viro [Mon, 25 Apr 2005 14:55:57 +0000 (07:55 -0700)]
[PATCH] ppc user annotations: sigcontext

sigcontext.regs is a userland pointer

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc...
Linus Torvalds [Mon, 25 Apr 2005 14:42:22 +0000 (07:42 -0700)]
Merge ... /linux/kernel/git/davem/sparc-2.6.git

19 years ago[SPARC64]: Fix SMP build.
David S. Miller [Mon, 25 Apr 2005 04:04:02 +0000 (21:04 -0700)]
[SPARC64]: Fix SMP build.

Kill build failures in the SMP+!PREEMPT case introduced
by Al Viro's spinlock.h changes.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC]: dump_stack for sparc
Tom 'spot' Callaway [Mon, 25 Apr 2005 03:46:49 +0000 (20:46 -0700)]
[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>
19 years ago[SPARC]: Fix mxcc warning
Tom 'spot' Callaway [Mon, 25 Apr 2005 03:46:00 +0000 (20:46 -0700)]
[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>
19 years ago[SPARC]: More sparc32 ksyms cleanups
Tom 'spot' Callaway [Mon, 25 Apr 2005 03:45:06 +0000 (20:45 -0700)]
[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>
19 years ago[SPARC]: Enable sun logo on sparc32
Bob Breuer [Mon, 25 Apr 2005 03:42:45 +0000 (20:42 -0700)]
[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>
19 years ago[SPARC]: Missing sparc32 ksyms
Tom 'spot' Callaway [Mon, 25 Apr 2005 03:41:45 +0000 (20:41 -0700)]
[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>
19 years ago[SPARC]: TCX Framebuffer fixes
Tom 'spot' Callaway [Mon, 25 Apr 2005 03:39:15 +0000 (20:39 -0700)]
[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>
19 years ago[SPARC]: Stop-A printk cleanup
Tom 'spot' Callaway [Mon, 25 Apr 2005 03:38:02 +0000 (20:38 -0700)]
[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>
19 years ago[SPARC]: module version cleanups
Tom 'spot' Callaway [Mon, 25 Apr 2005 03:35:20 +0000 (20:35 -0700)]
[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>
19 years ago[IPV6]: export inet6_sock_nr
Arnaldo Carvalho de Melo [Mon, 25 Apr 2005 03:22:28 +0000 (20:22 -0700)]
[IPV6]: export inet6_sock_nr

Please apply, SCTP/DCCP needs this when INET_REFCNT_DEBUG
is set.

Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PKT_SCHED]: improve hashing performance of cls_fw
Thomas Graf [Mon, 25 Apr 2005 03:19:54 +0000 (20:19 -0700)]
[PKT_SCHED]: improve hashing performance of cls_fw

Calculate hashtable size to fit into a page instead of a hardcoded
256 buckets hash table. Results in a 1024 buckets hashtable on
most systems.

Replace old naive extract-8-lsb-bits algorithm with a better
algorithm xor'ing 3 or 4 bit fields at the size of the hashtable
array index in order to improve distribution if the majority of
the lower bits are unused while keeping zero collision behaviour
for the most common use case.

Thanks to Wang Jian <lark@linux.net.cn> for bringing this issue
to attention and to Eran Mann <emann@mrv.com> for the initial
idea for this new algorithm.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS.
Herbert Xu [Mon, 25 Apr 2005 03:16:19 +0000 (20:16 -0700)]
[SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS.

The SELinux hooks invoke ipv6_skip_exthdr() with an incorrect
length final argument.  However, the length argument turns out
to be superfluous.

I was just reading ipv6_skip_exthdr and it occured to me that we can
get rid of len altogether.  The only place where len is used is to
check whether the skb has two bytes for ipv6_opt_hdr.  This check
is done by skb_header_pointer/skb_copy_bits anyway.

Now it might appear that we've made the code slower by deferring
the check to skb_copy_bits.  However, this check should not trigger
in the common case so this is OK.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Document ->hard_start_xmit() locking in netdevices.txt
Ben Greear [Mon, 25 Apr 2005 03:13:19 +0000 (20:13 -0700)]
[NET]: Document ->hard_start_xmit() locking in netdevices.txt

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Document ->hard_start_xmit() locking in comments.
Ben Greear [Mon, 25 Apr 2005 03:12:36 +0000 (20:12 -0700)]
[NET]: Document ->hard_start_xmit() locking in comments.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PKT_SCHED]: Introduce simple actions.
Jamal Hadi Salim [Mon, 25 Apr 2005 03:10:16 +0000 (20:10 -0700)]
[PKT_SCHED]: Introduce simple actions.

And provide an example simply action in order to
demonstrate usage.

Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Update driver version and release date.
David S. Miller [Mon, 25 Apr 2005 03:06:16 +0000 (20:06 -0700)]
[TG3]: Update driver version and release date.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: ENI155P error handling fix
Andrew Morton [Mon, 25 Apr 2005 02:14:36 +0000 (19:14 -0700)]
[ATM]: ENI155P error handling fix

From: Panagiotis Issaris <takis@lumumba.luc.ac.be>

In the ENI155P device driver in six possible failure cases the requested
irq is not being released.

In three of the above possible failure cases additionally there seems to
be a memory leak.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TCP]: skb pcount with MTU discovery
David S. Miller [Mon, 25 Apr 2005 02:12:33 +0000 (19:12 -0700)]
[TCP]: skb pcount with MTU discovery

The problem is that when doing MTU discovery, the too-large segments in
the write queue will be calculated as having a pcount of >1.  When
tcp_write_xmit() is trying to send, tcp_snd_test() fails the cwnd test
when pcount > cwnd.

The segments are eventually transmitted one at a time by keepalive, but
this can take a long time.

This patch checks if TSO is enabled when setting pcount.

Signed-off-by: John Heffner <jheffner@psc.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SLIP]: Remove redundant NULL pointer checks prior to kfree
Jesper Juhl [Mon, 25 Apr 2005 01:59:30 +0000 (18:59 -0700)]
[SLIP]: Remove redundant NULL pointer checks prior to kfree

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: [fore200e] pci doesn't use global board list; use pci_register_driver()
chas williams [Mon, 25 Apr 2005 01:58:15 +0000 (18:58 -0700)]
[ATM]: [fore200e] pci doesn't use global board list; use pci_register_driver()

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: [he] Use the DMA_32BIT_MASK constant from dma-mapping.h
chas williams [Mon, 25 Apr 2005 01:55:35 +0000 (18:55 -0700)]
[ATM]: [he] Use the DMA_32BIT_MASK constant from dma-mapping.h

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[AX25] Introduce ax25_type_trans
Arnaldo Carvalho de Melo [Mon, 25 Apr 2005 01:53:06 +0000 (18:53 -0700)]
[AX25] Introduce ax25_type_trans

Replacing the open coded equivalents and making ax25 look more like
a linux network protocol, i.e. more similar to inet.

Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Ignore PSH on SYN/ACK in TCP connection tracking
Patrick McHardy [Mon, 25 Apr 2005 01:42:39 +0000 (18:42 -0700)]
[NETFILTER]: Ignore PSH on SYN/ACK in TCP connection tracking

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Fix NAT sequence number adjustment
Patrick McHardy [Mon, 25 Apr 2005 01:41:38 +0000 (18:41 -0700)]
[NETFILTER]: Fix NAT sequence number adjustment

The NAT changes in 2.6.11 changed the position where helpers
are called and perform packet mangling. Before 2.6.11, a NAT
helper was called before the packet was NATed and had its
sequence number adjusted. Since 2.6.11, the helpers get packets
with already adjusted sequence numbers.

This breaks sequence number adjustment, adjust_tcp_sequence()
needs the original sequence number to determine whether
a packet was a retransmission and to store it for further
corrections. It can't be reconstructed without more information
than available, so this patch restores the old order by
calling helpers from a new conntrack hook two priorities
below ip_conntrack_confirm() and adjusting the sequence number
from a new NAT hook one priority below ip_conntrack_confirm().

Tracked down by Phil Oester <kernel@linuxace.com>

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] ppc trivial iomem annotations: pmac_smp.c
Al Viro [Sun, 24 Apr 2005 21:58:08 +0000 (14:58 -0700)]
[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>
19 years ago[PATCH] ppc trivial iomem annotations: chrp
Al Viro [Sun, 24 Apr 2005 21:58:08 +0000 (14:58 -0700)]
[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>
19 years ago[PATCH] ppc trivial iomem annotations: pmac_time.c
Al Viro [Sun, 24 Apr 2005 21:58:08 +0000 (14:58 -0700)]
[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>
19 years ago[PATCH] mostek bogus sparse annotations fixed
Al Viro [Sun, 24 Apr 2005 19:28:36 +0000 (12:28 -0700)]
[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>
19 years ago[PATCH] missing include in mthca
Al Viro [Sun, 24 Apr 2005 19:28:36 +0000 (12:28 -0700)]
[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>
19 years ago[PATCH] broken dependency for floppy on ARM
Al Viro [Sun, 24 Apr 2005 19:28:35 +0000 (12:28 -0700)]
[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>
19 years ago[PATCH] missing include in hisax
Al Viro [Sun, 24 Apr 2005 19:28:35 +0000 (12:28 -0700)]
[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>
19 years ago[PATCH] __get_unaligned() turned into macro
Al Viro [Sun, 24 Apr 2005 19:28:35 +0000 (12:28 -0700)]
[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>
19 years ago[PATCH] broken dependency for I2C_MPC
Al Viro [Sun, 24 Apr 2005 19:28:35 +0000 (12:28 -0700)]
[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>
19 years ago[PATCH] missing dependency on sparc64
Al Viro [Sun, 24 Apr 2005 19:28:35 +0000 (12:28 -0700)]
[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>
19 years ago[PATCH] msnd_pinnacle GFP fix
Al Viro [Sun, 24 Apr 2005 19:28:34 +0000 (12:28 -0700)]
[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>
19 years ago[PATCH] mempolicy.c GFP fix
Al Viro [Sun, 24 Apr 2005 19:28:34 +0000 (12:28 -0700)]
[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>
19 years ago[PATCH] SCSI GFP fixes
Al Viro [Sun, 24 Apr 2005 19:28:34 +0000 (12:28 -0700)]
[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>
19 years ago[IA64] Fix build errors for !HOTPLUG case.
Ashok Raj [Fri, 22 Apr 2005 21:46:24 +0000 (14:46 -0700)]
[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>
19 years ago[IA64] cpu hotplug: return offlined cpus to SAL
Ashok Raj [Fri, 22 Apr 2005 21:44:40 +0000 (14:44 -0700)]
[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>
19 years ago[IA64] ia32_signal.c: erroneous use of memset/memcpy
Arun Sharma [Fri, 22 Apr 2005 20:06:47 +0000 (13:06 -0700)]
[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>
19 years ago[PATCH] x86_64: fix new out of line put_user()
Alexander Nyberg [Fri, 22 Apr 2005 17:22:07 +0000 (10:22 -0700)]
[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>

19 years agoMerge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git
Linus Torvalds [Fri, 22 Apr 2005 17:18:06 +0000 (10:18 -0700)]
Merge /linux/kernel/git/davem/sparc-2.6.git

19 years ago[SPARC64]: In sunsab driver, make sure to set the uart timeout.
David S. Miller [Fri, 22 Apr 2005 05:18:03 +0000 (22:18 -0700)]
[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>
19 years ago[SPARC64]: In sunsu driver, make sure to fully init chip for kbd/ms
David S. Miller [Fri, 22 Apr 2005 05:06:13 +0000 (22:06 -0700)]
[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>
19 years ago[SPARC]: Provide generic ioctls in Sparc RTC driver.
David S. Miller [Fri, 22 Apr 2005 04:42:34 +0000 (21:42 -0700)]
[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>
19 years ago[SPARC64]: Provide a pgprot_noncached() implementation.
David S. Miller [Fri, 22 Apr 2005 04:41:33 +0000 (21:41 -0700)]
[SPARC64]: Provide a pgprot_noncached() implementation.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[XFRM]: Fix existence lookup in xfrm_state_find
Patrick McHardy [Fri, 22 Apr 2005 03:12:32 +0000 (20:12 -0700)]
[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>
19 years ago[TG3]: Add msi test
Michael Chan [Fri, 22 Apr 2005 00:13:59 +0000 (17:13 -0700)]
[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>
19 years ago[TG3]: Add msi support
Michael Chan [Fri, 22 Apr 2005 00:13:25 +0000 (17:13 -0700)]
[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>
19 years ago[TG3]: Fix bug in tg3_set_eeprom()
Michael Chan [Fri, 22 Apr 2005 00:12:46 +0000 (17:12 -0700)]
[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>
19 years ago[TG3]: Add nvram lock-out support for 5752 TPM
Michael Chan [Fri, 22 Apr 2005 00:12:05 +0000 (17:12 -0700)]
[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>
19 years ago[TG3]: Add nvram detection for 5752
Michael Chan [Fri, 22 Apr 2005 00:11:21 +0000 (17:11 -0700)]
[TG3]: Add nvram detection for 5752

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add GPIO3 for 5752
Michael Chan [Fri, 22 Apr 2005 00:10:36 +0000 (17:10 -0700)]
[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>
19 years ago[TG3]: Workaround 5752 A0 chip ID
Michael Chan [Fri, 22 Apr 2005 00:09:53 +0000 (17:09 -0700)]
[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>
19 years ago[TG3]: Fix tg3_set_power_state()
Michael Chan [Fri, 22 Apr 2005 00:09:08 +0000 (17:09 -0700)]
[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>
19 years ago[TG3]: Setup proper GPIO settings
Michael Chan [Fri, 22 Apr 2005 00:07:04 +0000 (17:07 -0700)]
[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>
19 years ago[TG3]: Split tg3_phy_probe into 2 functions
Michael Chan [Fri, 22 Apr 2005 00:06:20 +0000 (17:06 -0700)]
[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>
19 years ago[TG3]: Minor 5752 fixes
Michael Chan [Fri, 22 Apr 2005 00:05:28 +0000 (17:05 -0700)]
[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>
19 years ago[TG3]: add support for bcm5752 rev a1
John W. Linville [Fri, 22 Apr 2005 00:03:52 +0000 (17:03 -0700)]
[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>
19 years ago[TG3]: check TG3_FLG2_5750_PLUS flag to set TG3_FLG2_5705_PLUS flag
John W. Linville [Fri, 22 Apr 2005 00:03:18 +0000 (17:03 -0700)]
[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>
19 years ago[TG3]: use TG3_FLG2_57{05,50}_PLUS flags in tg3_get_invariants
John W. Linville [Fri, 22 Apr 2005 00:02:41 +0000 (17:02 -0700)]
[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>
19 years ago[TG3]: more use of TG3_FLG2_5705_PLUS flag
John W. Linville [Fri, 22 Apr 2005 00:02:04 +0000 (17:02 -0700)]
[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>
19 years ago[TG3]: use new TG3_FLG2_5750_PLUS flag
John W. Linville [Fri, 22 Apr 2005 00:01:29 +0000 (17:01 -0700)]
[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>