]> xenbits.xensource.com Git - people/ssmith/netchannel2-pvops.git/log
people/ssmith/netchannel2-pvops.git
15 years agoxen: temporary workaround for MSI S3
Qing He [Wed, 16 Sep 2009 07:24:28 +0000 (15:24 +0800)]
xen: temporary workaround for MSI S3

(this patch is intended to provide people with a temporary
solution to S3 of MSI dom0, before a more formal solution
based on trap and emulation.)

This patch adds a temporary workaround to enable S3 resume
with MSI devices.

Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: decouple irq and pirq for MSI
Qing He [Fri, 28 Aug 2009 08:29:53 +0000 (16:29 +0800)]
xen: decouple irq and pirq for MSI

don't assume irq == pirq, let xen to allocation pirq instead

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: fix the error handling of msi setup
Qing He [Fri, 28 Aug 2009 08:28:48 +0000 (16:28 +0800)]
xen: fix the error handling of msi setup

Fix the error handling of msi setup, the return value of failure
is -1, not 0.

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen/msi: fix build failures
Qing He [Mon, 24 Aug 2009 23:40:54 +0000 (16:40 -0700)]
xen/msi: fix build failures

This patch fixes the following build errors:
- when CONFIG_PCI_MSI is not set
- domid_t undefined in drivers/xen/pci.c

and warnings of unused function definitions

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: re-enable msi
Qing He [Tue, 18 Aug 2009 05:45:14 +0000 (13:45 +0800)]
xen: re-enable msi

remove pci_no_msi for Xen Dom 0, also move pci_no_msi out of
public header

effectively revert
commit bf89bc290d429ce223c1018628130ddabc66614e
xen: disable MSI

Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: add msi support for dom0
Qing He [Tue, 18 Aug 2009 05:45:13 +0000 (13:45 +0800)]
xen: add msi support for dom0

This patch adds msi support for dom0, based on
arch_setup_msi_irqs hook, a xen_setup_msi_irqs is called
if it's Xen domain. No interrupt remapping is handled since
Xen domain isn't exposed with such feature at this time.

Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: make pci notifier work with booting devices
Qing He [Tue, 18 Aug 2009 05:45:12 +0000 (13:45 +0800)]
xen: make pci notifier work with booting devices

change fs_initcall to arch_initcall so that pci notifier
would handle booting pci devices

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoMerge branch 'rebase/dom0/apic' into rebase/dom0/msi
Jeremy Fitzhardinge [Tue, 18 Aug 2009 18:58:24 +0000 (11:58 -0700)]
Merge branch 'rebase/dom0/apic' into rebase/dom0/msi

* rebase/dom0/apic: (7035 commits)
  xen: disable MSI
  xen: fix legacy irq setup, make ioapic-less machines work.
  xen: set pirq name to something useful.
  xen: dynamically allocate irq & event structures
  xen: initialize irq 0 too
  xen: use acpi_get_override_irq() to get triggering for legacy irqs
  xen: don't setup acpi interrupt unless there is one
  xen: pre-initialize legacy irqs early
  xen: bind pirq to vector and event channel
  xen: direct irq registration to pirq event channels
  xen/apic: identity map gsi->irqs
  x86/io_apic: add get_nr_irqs_gsi()
  xen: implement pirq type event channels
  xen: create dummy ioapic mapping
  xen: hook io_apic read/write operations
  xen/dom0: handle acpi lapic parsing in Xen dom0
  kmemleak: Fix some typos in comments
  kmemleak: Rename kmemleak_panic to kmemleak_stop
  kmemleak: Only use GFP_KERNEL|GFP_ATOMIC for the internal allocations
  Documentation/vm/Makefile: don't try to build slqbinfo
  ...

Conflicts:
drivers/xen/Makefile

15 years agoxen/pci: pci_dev doesn't contain physfn unless CONFIG_PCI_IOV
Jeremy Fitzhardinge [Fri, 7 Aug 2009 20:27:08 +0000 (13:27 -0700)]
xen/pci: pci_dev doesn't contain physfn unless CONFIG_PCI_IOV

pci_dev's physfn field is only present when CONFIG_PCI_IOV is set.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen/pci: fix register_xen_pci_notifier type
Jeremy Fitzhardinge [Fri, 7 Aug 2009 20:19:06 +0000 (13:19 -0700)]
xen/pci: fix register_xen_pci_notifier type

initcall functions return an int error code (0=success).

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agopv-ops: register xen pci notifier
Weidong Han [Thu, 30 Jul 2009 06:33:01 +0000 (14:33 +0800)]
pv-ops: register xen pci notifier

Register the notifier to handle hot-plug devices and SR-IOV devices
for Xen hypervisor. When a device is hot added or removed, it adds
or removes it to Xen via hypercalls.

Changes in v3:
It isn't necessarily to explicitly initialize elements to 0, because
initializer will do it implicitly. Remove the unnecessary initilization.

Changes in v2:
Remove inline #ifdef and the awkward dangling else/#endif construction,
and rather than using memset, use variable declaration and initializer
to assign the elements in xen_add_device.

Signed-off-by: Weidong Han <weidong.han@intel.com>
15 years agoxen: disable MSI
Jeremy Fitzhardinge [Tue, 24 Feb 2009 05:32:16 +0000 (21:32 -0800)]
xen: disable MSI

Impact: prevent MSI subsystem from crashing

Disable MSI until we support it properly.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: fix legacy irq setup, make ioapic-less machines work.
Gerd Hoffmann [Tue, 10 Mar 2009 09:12:30 +0000 (10:12 +0100)]
xen: fix legacy irq setup, make ioapic-less machines work.

If the machine has no IO APICs, then just allocate a set of legacy
interrupts.

[ Impact: fix Xen compatibility with old machines ]

Signed-off-by: Gerd Hoffmann <kraxel@xeni.home.kraxel.org>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: set pirq name to something useful.
Gerd Hoffmann [Mon, 9 Mar 2009 13:23:56 +0000 (14:23 +0100)]
xen: set pirq name to something useful.

Impact: cleanup

Make pirq show useful information in /proc/interrupts

Signed-off-by: Gerd Hoffmann <kraxel@xeni.home.kraxel.org>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: dynamically allocate irq & event structures
Jeremy Fitzhardinge [Tue, 10 Mar 2009 21:14:23 +0000 (14:14 -0700)]
xen: dynamically allocate irq & event structures

Dynamically allocate the irq_info and evtchn_to_irq arrays, so that
1) the irq_info array scales to the actual number of possible irqs,
and 2) we don't needlessly increase the static size of the kernel
when we aren't running under Xen.

Derived on patch from Mike Travis <travis@sgi.com>.

[ Impact: reduce memory usage ]

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: initialize irq 0 too
Jeremy Fitzhardinge [Thu, 5 Mar 2009 19:53:54 +0000 (11:53 -0800)]
xen: initialize irq 0 too

Impact: theoretical bugfix, cleanup

IRQ 0 is valid, so make sure it gets initialized properly too.
(Though in practice it doesn't matter, because its the timer
interrupt we don't use.)

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: use acpi_get_override_irq() to get triggering for legacy irqs
Jeremy Fitzhardinge [Wed, 4 Mar 2009 07:22:45 +0000 (23:22 -0800)]
xen: use acpi_get_override_irq() to get triggering for legacy irqs

We need to set up proper IO apic entries for legacy irqs, which are
not normally configured by either normal acpi interrupt routing or
PNP.

This also generalizes the acpi interrupt setup, so we can remove it
as a special case.

[ Impact: compatibility with legacy/ISA hardware ]

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: don't setup acpi interrupt unless there is one
Jeremy Fitzhardinge [Wed, 4 Mar 2009 02:01:04 +0000 (18:01 -0800)]
xen: don't setup acpi interrupt unless there is one

Impact: compatibility with non-ACPI machines

If the SCI hasn't been set, then presumably we're not running
with acpi, don't bother setting up the interrupt.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: pre-initialize legacy irqs early
Ian Campbell [Mon, 9 Feb 2009 20:05:48 +0000 (12:05 -0800)]
xen: pre-initialize legacy irqs early

Various legacy devices, such as IDE, assume their legacy interrupts are
already initialized and are immediately usable.  Pre-initialize all the
legacy interrupts.

[ Impact: ISA/legacy device compat ]

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: bind pirq to vector and event channel
Jeremy Fitzhardinge [Mon, 9 Feb 2009 20:05:48 +0000 (12:05 -0800)]
xen: bind pirq to vector and event channel

Having converting a dev+pin to a gsi, and that gsi to an irq, and
allocated a vector for the irq, we must program the IO APIC to deliver
an interrupt on a pin to the vector, so Xen can deliver it as an event
channel.

Given the pirq, we can get the gsi and vector.  We map the gsi to a
specific IO APIC's pin, and set the routing entry.

(We were passing the ACPI triggering and polarity levels directly into
the apic - but they have reversed values.  The result was that
all the level-triggered interrupts were edge, and vice-versa.
It's surprising that anything worked at all, but now AHCI works
for me.

Thanks for Gerd Hoffmann for noticing this.)

[ Impact: program IO APICs under Xen ]

Diagnosed-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: direct irq registration to pirq event channels
Jeremy Fitzhardinge [Mon, 9 Feb 2009 20:05:48 +0000 (12:05 -0800)]
xen: direct irq registration to pirq event channels

Impact: route hardware interrupts via Xen

This patch puts the hooks into place so that when the interrupt
subsystem registers an irq, it gets routed via Xen (if we're running
under Xen).

The first step is to get a gsi for a particular device+pin.  We use
the normal acpi interrupt routing to do the mapping.

We reserve enough irq space to fit the hardware interrupt sources in,
so we can allocate the irq == gsi, as we do in the native case;
software events will get allocated irqs above that.

Having allocated an irq, we ask Xen to allocate a vector, and then
bind that pirq/vector to an event channel.  When the hardware raises
an interrupt on a vector, Xen signals us on the corresponding event
channel, which gets routed to the irq and delivered to the appropriate
device driver.

This patch does everything except set up the IO APIC pin routing to
the vector.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen/apic: identity map gsi->irqs
Jeremy Fitzhardinge [Fri, 13 Feb 2009 03:45:08 +0000 (19:45 -0800)]
xen/apic: identity map gsi->irqs

Impact: preserve compat with native

Reserve the lower irq range for use for hardware interrupts so we
can identity-map them.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agox86/io_apic: add get_nr_irqs_gsi()
Jeremy Fitzhardinge [Fri, 13 Feb 2009 01:22:49 +0000 (17:22 -0800)]
x86/io_apic: add get_nr_irqs_gsi()

Impact: new interface to get max GSI

Add get_nr_irqs_gsi() to return nr_irqs_gsi.  Xen will use this to
determine how many irqs it needs to reserve for hardware irqs.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: "H. Peter Anvin" <hpa@zytor.com>
15 years agoxen: implement pirq type event channels
Jeremy Fitzhardinge [Mon, 9 Feb 2009 20:05:48 +0000 (12:05 -0800)]
xen: implement pirq type event channels

A privileged PV Xen domain can get direct access to hardware.  In
order for this to be useful, it must be able to get hardware
interrupts.

Being a PV Xen domain, all interrupts are delivered as event channels.
PIRQ event channels are bound to a pirq number and an interrupt
vector.  When a IO APIC raises a hardware interrupt on that vector, it
is delivered as an event channel, which we can deliver to the
appropriate device driver(s).

This patch simply implements the infrastructure for dealing with pirq
event channels.

[ Impact: integrate hardware interrupts into Xen's event scheme ]

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: create dummy ioapic mapping
Jeremy Fitzhardinge [Mon, 9 Feb 2009 20:05:48 +0000 (12:05 -0800)]
xen: create dummy ioapic mapping

Impact: debuggability (make failures obvious)

We don't allow direct access to the IO apic, so make sure that any
request to map it just "maps" non-present pages.  We should see any
attempts at direct access explode nicely.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
15 years agoxen: hook io_apic read/write operations
Jeremy Fitzhardinge [Mon, 9 Feb 2009 20:05:48 +0000 (12:05 -0800)]
xen: hook io_apic read/write operations

In Xen, writes to the IO APIC are paravirtualized via hypercalls, so
implement the appropriate operations.

This version of the patch just hooks the io_apic read/write functions
directly, rather than introducing another layer of indirection.  The
xen_initial_domain() tests compile to 0 if CONFIG_XEN_DOM0 isn't set,
and are cheap if it is.

(An alternative would be to add io_apic_ops, and point them to the Xen
implementation as needed.  HPA deemed this extra level of indirection to
be excessive.)

[Impact: paravirtualize io_apic_read/write]
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: "H. Peter Anvin" <hpa@zytor.com>
15 years agoxen/dom0: handle acpi lapic parsing in Xen dom0
Jeremy Fitzhardinge [Mon, 9 Feb 2009 20:05:47 +0000 (12:05 -0800)]
xen/dom0: handle acpi lapic parsing in Xen dom0

Impact: ignore local apics, which are not usable under Xen

When running in Xen dom0, we still want to parse the ACPI tables to
find out about local and IO apics, but we don't want to actually use
the lapics.

Put a couple of tests for Xen to prevent lapics from being mapped or
accessed.  This is very Xen-specific behaviour, so there didn't seem to
be any point in adding more indirection.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: "H. Peter Anvin" <hpa@zytor.com>
15 years agoMerge branch 'kmemleak' of git://linux-arm.org/linux-2.6
Linus Torvalds [Wed, 17 Jun 2009 17:42:21 +0000 (10:42 -0700)]
Merge branch 'kmemleak' of git://linux-arm.org/linux-2.6

* 'kmemleak' of git://linux-arm.org/linux-2.6:
  kmemleak: Fix some typos in comments
  kmemleak: Rename kmemleak_panic to kmemleak_stop
  kmemleak: Only use GFP_KERNEL|GFP_ATOMIC for the internal allocations

15 years agokmemleak: Fix some typos in comments
Catalin Marinas [Wed, 17 Jun 2009 17:29:04 +0000 (18:29 +0100)]
kmemleak: Fix some typos in comments

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
15 years agokmemleak: Rename kmemleak_panic to kmemleak_stop
Catalin Marinas [Wed, 17 Jun 2009 17:29:03 +0000 (18:29 +0100)]
kmemleak: Rename kmemleak_panic to kmemleak_stop

This is to avoid the confusion created by the "panic" word.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
15 years agokmemleak: Only use GFP_KERNEL|GFP_ATOMIC for the internal allocations
Catalin Marinas [Wed, 17 Jun 2009 17:29:02 +0000 (18:29 +0100)]
kmemleak: Only use GFP_KERNEL|GFP_ATOMIC for the internal allocations

Kmemleak allocates memory for pointer tracking and it tries to avoid
using GFP_ATOMIC if the caller doesn't require it. However other gfp
flags may be passed by the caller which aren't required by kmemleak.
This patch filters the gfp flags so that only GFP_KERNEL | GFP_ATOMIC
are used.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
15 years agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
Linus Torvalds [Wed, 17 Jun 2009 16:51:50 +0000 (09:51 -0700)]
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
  [CPUFREQ] cpumask: new cpumask operators for arch/x86/kernel/cpu/cpufreq/powernow-k8.c
  [CPUFREQ] cpumask: avoid playing with cpus_allowed in powernow-k8.c
  [CPUFREQ] cpumask: avoid cpumask games in arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c
  [CPUFREQ] cpumask: avoid playing with cpus_allowed in speedstep-ich.c
  [CPUFREQ] powernow-k8: get drv data for correct CPU
  [CPUFREQ] powernow-k8: read P-state from HW
  [CPUFREQ] reduce scope of ACPI_PSS_BIOS_BUG_MSG[]
  [CPUFREQ] Clean up convoluted code in arch/x86/kernel/tsc.c:time_cpufreq_notifier()
  [CPUFREQ] minor correction to cpu-freq documentation
  [CPUFREQ] powernow-k8.c: mess cleanup
  [CPUFREQ] Only set sampling_rate_max deprecated, sampling_rate_min is useful
  [CPUFREQ] powernow-k8: Set transition latency to 1 if ACPI tables export 0
  [CPUFREQ] ondemand: Uncouple minimal sampling rate from HZ in NO_HZ case

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
Linus Torvalds [Wed, 17 Jun 2009 16:50:44 +0000 (09:50 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6:
  [SCSI] aic79xx: make driver respect nvram for IU and QAS settings
  [SCSI] don't attach ULD to Dell Universal Xport
  [SCSI] lpfc 8.3.3 : Update driver version to 8.3.3
  [SCSI] lpfc 8.3.3 : Add support for Target Reset handler entrypoint
  [SCSI] lpfc 8.3.3 : Fix a couple of spin_lock and memory issues and a crash
  [SCSI] lpfc 8.3.3 : FC/FCOE discovery fixes
  [SCSI] lpfc 8.3.3 : Fix various SLI-3 vs SLI-4 differences
  [SCSI] qla2xxx: Resolve a performance issue in interrupt
  [SCSI] cnic, bnx2i: Fix build failure when CONFIG_PCI is not set.
  [SCSI] nsp_cs: time_out reaches -1
  [SCSI] qla2xxx: fix printk format warnings
  [SCSI] ncr53c8xx: div reaches -1
  [SCSI] compat: don't perform unneeded copy in sg_io code
  [SCSI] zfcp: Update FC pass-through support
  [SCSI] zfcp: Add FC pass-through support
  [SCSI] FC Pass Thru support

15 years agoMerge branch 'linux-next' of git://git.infradead.org/ubi-2.6
Linus Torvalds [Wed, 17 Jun 2009 16:48:30 +0000 (09:48 -0700)]
Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6

* 'linux-next' of git://git.infradead.org/ubi-2.6: (21 commits)
  UBI: add reboot notifier
  UBI: handle more error codes
  UBI: fix multiple spelling typos
  UBI: fix kmem_cache_free on error patch
  UBI: print amount of reserved PEBs
  UBI: improve messages in the WL worker
  UBI: make gluebi a separate module
  UBI: remove built-in gluebi
  UBI: add notification API
  UBI: do not switch to R/O mode on read errors
  UBI: fix and clean-up error paths in WL worker
  UBI: introduce new constants
  UBI: fix race condition
  UBI: minor serialization fix
  UBI: do not panic if volume check fails
  UBI: add dump_stack in checking code
  UBI: fix races in I/O debugging checks
  UBI: small debugging code optimization
  UBI: improve debugging messages
  UBI: re-name volumes_mutex to device_mutex
  ...

15 years agoMerge branch 'linux-next' of git://git.infradead.org/ubifs-2.6
Linus Torvalds [Wed, 17 Jun 2009 16:46:33 +0000 (09:46 -0700)]
Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6

* 'linux-next' of git://git.infradead.org/ubifs-2.6:
  UBIFS: start using hrtimers
  hrtimer: export ktime_add_safe
  UBIFS: do not forget to register BDI device
  UBIFS: allow sync option in rootflags
  UBIFS: remove dead code
  UBIFS: use anonymous device
  UBIFS: return proper error code if the compr is not present
  UBIFS: return error if link and unlink race
  UBIFS: reset no_space flag after inode deletion

15 years agoDocumentation/vm/Makefile: don't try to build slqbinfo
Andrew Morton [Wed, 17 Jun 2009 05:38:29 +0000 (22:38 -0700)]
Documentation/vm/Makefile: don't try to build slqbinfo

For it is only in linux-next at this stage.

Cc: Wu Fengguang <fengguang.wu@intel.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Matt Mackall <mpm@selenic.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agodrm/radeon/kms: remove the _DRM_DRIVER from the KMS paths.
Dave Airlie [Wed, 17 Jun 2009 07:21:13 +0000 (17:21 +1000)]
drm/radeon/kms: remove the _DRM_DRIVER from the KMS paths.

This causes an issue since we fixed the drm mappings to do the right thing,
so its just a copy and pasto.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg...
Linus Torvalds [Wed, 17 Jun 2009 16:41:25 +0000 (09:41 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
  SLUB: Fix early boot GFP_DMA allocations
  SLUB: Don't print out OOM warning for __GFP_NOFAIL
  SLUB: fix build when !SLUB_DEBUG
  SLUB: Out-of-memory diagnostics
  slab: document kzfree() zeroing behavior
  slab: fix generic PAGE_POISONING conflict with SLAB_RED_ZONE
  slob: use PG_slab for identifying SLOB pages

15 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Wed, 17 Jun 2009 16:13:52 +0000 (09:13 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (47 commits)
  MIPS: Add hibernation support
  MIPS: Move Cavium CP0 hwrena impl bits to cpu-feature-overrides.h
  MIPS: Allow CPU specific overriding of CP0 hwrena impl bits.
  MIPS: Kconfig Add SYS_SUPPORTS_HUGETLBFS and enable it for some systems.
  Hugetlbfs: Enable hugetlbfs for more systems in Kconfig.
  MIPS: TLB support for hugetlbfs.
  MIPS: Add hugetlbfs page defines.
  MIPS: Add support files for hugetlbfs.
  MIPS: Remove unused parameters from iPTE_LW.
  Staging: Add octeon-ethernet driver files.
  MIPS: Export erratum function needed by octeon-ethernet driver.
  MIPS: Cavium-Octeon: Add more chip specific feature tests.
  MIPS: Cavium-Octeon: Add more board type constants.
  MIPS: Export cvmx_sysinfo_get needed by octeon-ethernet driver.
  MIPS: Add named alloc functions to OCTEON boot monitor memory allocator.
  MIPS: Alchemy: devboards: Convert to gpio calls.
  MIPS: Alchemy: xxs1500: use linux gpio api.
  MIPS: Alchemy: MTX-1: Use linux gpio api.
  MIPS: Alchemy: Rewrite GPIO support.
  MIPS: Alchemy: Remove unused au1000_gpio.h header
  ...

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
Linus Torvalds [Wed, 17 Jun 2009 15:46:57 +0000 (08:46 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
  get rid of BKL in fs/sysv
  get rid of BKL in fs/minix
  get rid of BKL in fs/efs
  befs ->pust_super() doesn't need BKL
  Cleanup of adfs headers
  9P doesn't need BKL in ->umount_begin()
  fuse doesn't need BKL in ->umount_begin()
  No instance of ->bmap() needs BKL
  remove unlock_kernel() left accidentally
  ext4: avoid unnecessary spinlock in critical POSIX ACL path
  ext3: avoid unnecessary spinlock in critical POSIX ACL path

15 years agoMIPS: Add hibernation support
Wu Zhangjin [Thu, 4 Jun 2009 12:27:10 +0000 (20:27 +0800)]
MIPS: Add hibernation support

[Ralf: SMP support requires CPU hotplugging which MIPS currently doesn't
support.  As implemented in this patch cache and tlb flushing will also be
invoked with interrupts disabled so smp_call_function() will blow up in
charming ways.  So limit to !SMP.]

Reviewed-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Yan Hua <yanh@lemote.com>
Reviewed-by: Arnaud Patard <apatard@mandriva.com>
Reviewed-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Wu Zhangjin <wuzj@lemote.com>
Signed-off-by: Hu Hongbing <huhb@lemote.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Move Cavium CP0 hwrena impl bits to cpu-feature-overrides.h
David Daney [Wed, 13 May 2009 22:59:56 +0000 (15:59 -0700)]
MIPS: Move Cavium CP0 hwrena impl bits to cpu-feature-overrides.h

We had an ugly #ifdef for Cavium Octeon hwrena bits in traps.c, remove
it to mach-cavium-octeon/cpu-feature-overrides.h

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Allow CPU specific overriding of CP0 hwrena impl bits.
David Daney [Wed, 13 May 2009 22:59:55 +0000 (15:59 -0700)]
MIPS: Allow CPU specific overriding of CP0 hwrena impl bits.

Some CPUs have implementation dependent rdhwr registers.  Allow them
to be enabled on a per CPU basis.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Kconfig Add SYS_SUPPORTS_HUGETLBFS and enable it for some systems.
David Daney [Thu, 28 May 2009 00:47:46 +0000 (17:47 -0700)]
MIPS: Kconfig Add SYS_SUPPORTS_HUGETLBFS and enable it for some systems.

Add new kconfig variables SYS_SUPPORTS_HUGETLBFS and
CPU_SUPPORTS_HUGEPAGES.  They are enabled for systems that are known
to support huge pages.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoHugetlbfs: Enable hugetlbfs for more systems in Kconfig.
David Daney [Thu, 28 May 2009 00:47:45 +0000 (17:47 -0700)]
Hugetlbfs: Enable hugetlbfs for more systems in Kconfig.

As part of adding hugetlbfs support for MIPS, I am adding a new
kconfig variable 'SYS_SUPPORTS_HUGETLBFS'.  Since some mips cpu
varients don't yet support it, we can enable selection of HUGETLBFS on
a system by system basis from the arch/mips/Kconfig.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
CC: William Irwin <wli@holomorphy.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: TLB support for hugetlbfs.
David Daney [Thu, 28 May 2009 00:47:44 +0000 (17:47 -0700)]
MIPS: TLB support for hugetlbfs.

The TLB handlers need to check for huge pages and give them special
handling.  Huge pages consist of two contiguous sub-pages of physical
memory.

* Loading entrylo0 and entrylo1 need to be handled specially.

* The page mask must be set for huge pages and then restored after
  writing the TLB entries.

* The PTE for huge pages resides in the PMD, we halt traversal of the
  tables there.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add hugetlbfs page defines.
David Daney [Thu, 28 May 2009 00:47:43 +0000 (17:47 -0700)]
MIPS: Add hugetlbfs page defines.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add support files for hugetlbfs.
David Daney [Thu, 28 May 2009 00:47:42 +0000 (17:47 -0700)]
MIPS: Add support files for hugetlbfs.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Remove unused parameters from iPTE_LW.
David Daney [Fri, 8 May 2009 22:10:50 +0000 (15:10 -0700)]
MIPS: Remove unused parameters from iPTE_LW.

The l parameter to iPTE_LW() is unused. Remove it and from some of its
callers as well.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoStaging: Add octeon-ethernet driver files.
David Daney [Wed, 6 May 2009 00:35:21 +0000 (17:35 -0700)]
Staging: Add octeon-ethernet driver files.

The octeon-ethernet driver supports the sgmii, rgmii, spi, and xaui
ports present on the Cavium OCTEON family of SOCs.  These SOCs are
multi-core mips64 processors with existing support over in arch/mips.

The driver files can be categorized into three basic groups:

1) Register definitions, these are named cvmx-*-defs.h

2) Main driver code, these have names that don't start cvmx-.

3) Interface specific functions and other utility code, names starting
with cvmx-

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Export erratum function needed by octeon-ethernet driver.
David Daney [Wed, 6 May 2009 00:35:20 +0000 (17:35 -0700)]
MIPS: Export erratum function needed by octeon-ethernet driver.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Cavium-Octeon: Add more chip specific feature tests.
David Daney [Wed, 6 May 2009 00:35:19 +0000 (17:35 -0700)]
MIPS: Cavium-Octeon: Add more chip specific feature tests.

The octeon-ethernet driver needs to check for additional chip specific
features, we add them to the octeon_has_feature() framework.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Cavium-Octeon: Add more board type constants.
David Daney [Wed, 6 May 2009 00:35:18 +0000 (17:35 -0700)]
MIPS: Cavium-Octeon: Add more board type constants.

The bootloader now uses additional board type constants.  The
octeon-ethernet driver needs some of the new values.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Export cvmx_sysinfo_get needed by octeon-ethernet driver.
David Daney [Wed, 6 May 2009 00:35:17 +0000 (17:35 -0700)]
MIPS: Export cvmx_sysinfo_get needed by octeon-ethernet driver.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add named alloc functions to OCTEON boot monitor memory allocator.
David Daney [Wed, 6 May 2009 00:35:16 +0000 (17:35 -0700)]
MIPS: Add named alloc functions to OCTEON boot monitor memory allocator.

The various Octeon ethernet drivers use these new functions.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Alchemy: devboards: Convert to gpio calls.
Manuel Lauss [Sat, 6 Jun 2009 12:09:58 +0000 (14:09 +0200)]
MIPS: Alchemy: devboards: Convert to gpio calls.

Replace a few open-coded GPIO register accesses with gpio calls.

Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Alchemy: xxs1500: use linux gpio api.
Manuel Lauss [Sat, 6 Jun 2009 12:09:57 +0000 (14:09 +0200)]
MIPS: Alchemy: xxs1500: use linux gpio api.

Replace a few GPIO register accesses in the board init code with calls to
the gpio api.

Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Alchemy: MTX-1: Use linux gpio api.
Manuel Lauss [Sat, 6 Jun 2009 12:09:56 +0000 (14:09 +0200)]
MIPS: Alchemy: MTX-1: Use linux gpio api.

Replace a few GPIO register accesses in the board init code with calls
to the gpio api.

Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Alchemy: Rewrite GPIO support.
Manuel Lauss [Sat, 6 Jun 2009 12:09:55 +0000 (14:09 +0200)]
MIPS: Alchemy: Rewrite GPIO support.

The current in-kernel Alchemy GPIO support is far too inflexible for
all my use cases.  To address this, the following changes are made:

* create generic functions which deal with manipulating the on-chip
  GPIO1/2 blocks.  Such functions are universally useful.
* Macros for GPIO2 shared interrupt management and block control.
* support for both built-in CONFIG_GPIOLIB and fast, inlined GPIO macros.

  If CONFIG_GPIOLIB is not enabled, provide linux gpio framework
  compatibility by directly inlining the GPIO1/2 functions.  GPIO access
  is limited to on-chip ones and they can be accessed as documented in
  the datasheets (GPIO0-31 and 200-215).

  If CONFIG_GPIOLIB is selected, two (2) gpio_chip-s, one for GPIO1 and
  one for GPIO2, are registered.  GPIOs can still be accessed by using
  the numberspace established in the databooks.

  However this is not yet flexible enough for my uses:  My Alchemy
  systems have a documented "external" gpio interface (fixed, different
  numberspace) and can support a variety of baseboards, some of which
  are equipped with I2C gpio expanders.  I want to be able to provide
  the default 16 GPIOs of the CPU board numbered as 0..15 and also
  support gpio expanders, if present, starting as gpio16.

  To achieve this, a new Kconfig symbol for Alchemy is introduced,
  CONFIG_ALCHEMY_GPIO_INDIRECT, which boards can enable to signal
  that they don't want the Alchemy numberspace exposed to the outside
  world, but instead want to provide their own.  Boards are now respon-
  sible for providing the linux gpio interface glue code (either in a
  custom gpio.h header (in board include directory) or with gpio_chips).

  To make the board-specific inlined gpio functions work, the MIPS
  Makefile must be changed so that the mach-au1x00/gpio.h header is
  included _after_ the board headers, by moving the inclusion of
  the mach-au1x00/ to the end of the header list.

  See arch/mips/include/asm/mach-au1x00/gpio.h for more info.

Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Acked-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Alchemy: Remove unused au1000_gpio.h header
Manuel Lauss [Sat, 6 Jun 2009 12:09:54 +0000 (14:09 +0200)]
MIPS: Alchemy: Remove unused au1000_gpio.h header

Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: BCM47xx: Fix gpio_direction_output
Matthieu Castet [Sun, 24 May 2009 17:48:51 +0000 (19:48 +0200)]
MIPS: BCM47xx: Fix gpio_direction_output

gpio_direction_output should also set an output value according to the API.

Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
Acked-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: ioctl.h: Cleanup.
Ralf Baechle [Wed, 17 Jun 2009 10:06:28 +0000 (11:06 +0100)]
MIPS: ioctl.h: Cleanup.

 o Rewrite to use <asm-generic/ioctl.h>.  Cuts down the file from 40 to
   16 lines.
 o Delete _IOC_VOID, _IOC_OUT, _IOC_IN and _IOC_INOUT.  They were added
   for 2.1.14 but I was not able to find any user - not even historical
   ones.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: TXx9: Add TX4939 RNG support
Atsushi Nemoto [Tue, 2 Jun 2009 14:54:22 +0000 (23:54 +0900)]
MIPS: TXx9: Add TX4939 RNG support

Add platform support for RNG of TX4939 SoC.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: hwrng: Add TX4939 RNG driver
Atsushi Nemoto [Tue, 2 Jun 2009 14:54:21 +0000 (23:54 +0900)]
MIPS: hwrng: Add TX4939 RNG driver

This patch adds support for the integrated RNG of the TX4939 SoC.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Acked-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: TXx9: Add SRAMC support
Atsushi Nemoto [Mon, 25 May 2009 13:04:02 +0000 (22:04 +0900)]
MIPS: TXx9: Add SRAMC support

Add a sysdev to access SRAM in TXx9 SoCs via sysfs.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Sibyte: Remove standalone kernel support
Imre Kaloz [Tue, 2 Jun 2009 12:22:06 +0000 (14:22 +0200)]
MIPS: Sibyte: Remove standalone kernel support

CFE is the only supported and used bootloader on the SiByte boards,
the standalone kernel support has been never used outside Broadcom.
Remove it and make the kernel use CFE by default.

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Sibyte: Remove simulator option
Imre Kaloz [Tue, 2 Jun 2009 12:22:00 +0000 (14:22 +0200)]
MIPS: Sibyte: Remove simulator option

This patch removes the SiByte simulation Kconfig option, which only modified
a printk.

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: RB532: Check irq number when handling GPIO interrupts
Florian Fainelli [Thu, 21 May 2009 17:49:47 +0000 (19:49 +0200)]
MIPS: RB532: Check irq number when handling GPIO interrupts

This patch makes sure that we are not going to clear
or change the interrupt status of a GPIO interrupt
superior to 13 as this is the maximum number of GPIO
interrupt source (p.232 of the RC32434 reference manual).

Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: RB532: Cleanup cpu-features-overrides
Florian Fainelli [Thu, 21 May 2009 17:49:39 +0000 (19:49 +0200)]
MIPS: RB532: Cleanup cpu-features-overrides

Remove commented out definitions.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Remove dead case label.
David Daney [Tue, 12 May 2009 19:41:55 +0000 (12:41 -0700)]
MIPS: Remove dead case label.

CPU_CAVIUM_OCTEON is mips_r2 which is handled before the switch.  This
label in the switch statement is dead code, so we remove it.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Reviewed by: David VomLehn <dvomlehn@cisco.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Remove execution hazard barriers for Octeon.
David Daney [Tue, 12 May 2009 19:41:54 +0000 (12:41 -0700)]
MIPS: Remove execution hazard barriers for Octeon.

The Octeon has no execution hazards, so we can remove them and save an
instruction per TLB handler invocation.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Reviewed by: David VomLehn <dvomlehn@cisco.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Allow R2 CPUs to turn off generation of 'ehb' instructions.
David Daney [Tue, 12 May 2009 19:41:53 +0000 (12:41 -0700)]
MIPS: Allow R2 CPUs to turn off generation of 'ehb' instructions.

Some CPUs do not need ehb instructions after writing CP0 registers.
By allowing ehb generation to be overridden in
cpu-feature-overrides.h, we can save a few instructions in the TLB
handler hot paths.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Fold the TLB refill at the vmalloc path if possible.
David Daney [Wed, 20 May 2009 18:40:59 +0000 (11:40 -0700)]
MIPS: Fold the TLB refill at the vmalloc path if possible.

Try to fold the 64-bit TLB refill handler opportunistically at the
beginning of the vmalloc path so as to avoid splitting execution flow in
half and wasting cycles for a branch required at that point then.  Resort
to doing the split if either of the newly created parts would not fit into
its designated slot.

Original-patch-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Replace some magic numbers with symbolic values in tlbex.c
David Daney [Wed, 20 May 2009 18:40:58 +0000 (11:40 -0700)]
MIPS: Replace some magic numbers with symbolic values in tlbex.c

The logic used to split the r4000 refill handler is liberally
sprinkled with magic numbers.  We attempt to explain what they are and
normalize them against a new symbolic value (MIPS64_REFILL_INSNS).

CC: David VomLehn <dvomlehn@cisco.com>
Reviewed-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: TXx9: Add ACLC support
Atsushi Nemoto [Tue, 19 May 2009 13:12:22 +0000 (22:12 +0900)]
MIPS: TXx9: Add ACLC support

Add platform support for ACLC of TXx9 SoCs.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add Cavium OCTEON PCI support.
David Daney [Fri, 24 Apr 2009 00:44:38 +0000 (17:44 -0700)]
MIPS: Add Cavium OCTEON PCI support.

This patch adds support for PCI and PCIe to the base Cavium OCTEON
processor support.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add register definitions for PCI.
David Daney [Fri, 24 Apr 2009 00:44:37 +0000 (17:44 -0700)]
MIPS: Add register definitions for PCI.

Here we add the register definitions for the processor blocks used by
the following PCI support patch.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: TXx9: Add DMAC support
Atsushi Nemoto [Wed, 22 Apr 2009 15:40:31 +0000 (00:40 +0900)]
MIPS: TXx9: Add DMAC support

Add platform support for DMAC of TXx9 SoCs.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoDMA: TXx9 Soc DMA Controller driver
Atsushi Nemoto [Wed, 22 Apr 2009 15:40:30 +0000 (00:40 +0900)]
DMA: TXx9 Soc DMA Controller driver

This patch adds support for the integrated DMAC of the TXx9 family.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Acked-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: TXx9: micro optimization for clocksource and clock_event
Atsushi Nemoto [Thu, 23 Apr 2009 15:10:36 +0000 (00:10 +0900)]
MIPS: TXx9: micro optimization for clocksource and clock_event

Use container structure for clocksource, clock_event_device and hold a
pointer to txx9_tmr_reg in it.

This saves a few instructions in clocksource and clock_event handlers.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Support 64-byte D-cache line size
Kevin Cernekee [Fri, 24 Apr 2009 00:36:53 +0000 (17:36 -0700)]
MIPS: Support 64-byte D-cache line size

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Pass struct device to plat_dma_addr_to_phys()
Kevin Cernekee [Fri, 24 Apr 2009 00:25:12 +0000 (17:25 -0700)]
MIPS: Pass struct device to plat_dma_addr_to_phys()

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add size and direction arguments to plat_unmap_dma_mem()
Kevin Cernekee [Fri, 24 Apr 2009 00:03:43 +0000 (17:03 -0700)]
MIPS: Add size and direction arguments to plat_unmap_dma_mem()

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: SB1250: Sort out merge mistake.
Ralf Baechle [Wed, 17 Jun 2009 10:06:24 +0000 (11:06 +0100)]
MIPS: SB1250: Sort out merge mistake.

A wrong resolution of a merge conflict made the recently deleted wrong
error check in sb1250_set_affinity.  Send the zombie back to the empire
of the undead.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Fix __ndelay build error and add 'ull' suffix for 32-bit kernel
Atsushi Nemoto [Tue, 9 Jun 2009 02:12:48 +0000 (11:12 +0900)]
MIPS: Fix __ndelay build error and add 'ull' suffix for 32-bit kernel

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: SMTC: Fix formatting difference to linux-mips.org code
Ralf Baechle [Wed, 17 Jun 2009 10:06:24 +0000 (11:06 +0100)]
MIPS: SMTC: Fix formatting difference to linux-mips.org code

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Fix typo resulting in far too long ndelay times.
Ralf Baechle [Fri, 12 Jun 2009 16:28:00 +0000 (17:28 +0100)]
MIPS: Fix typo resulting in far too long ndelay times.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMerge branch 'slub/earlyboot' into for-linus
Pekka Enberg [Wed, 17 Jun 2009 05:30:54 +0000 (08:30 +0300)]
Merge branch 'slub/earlyboot' into for-linus

Conflicts:
mm/slub.c

15 years agoMerge branches 'slab/documentation', 'slab/fixes', 'slob/cleanups' and 'slub/fixes...
Pekka Enberg [Wed, 17 Jun 2009 05:30:15 +0000 (08:30 +0300)]
Merge branches 'slab/documentation', 'slab/fixes', 'slob/cleanups' and 'slub/fixes' into for-linus

15 years agoget rid of BKL in fs/sysv
Al Viro [Wed, 17 Jun 2009 03:59:37 +0000 (23:59 -0400)]
get rid of BKL in fs/sysv

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoget rid of BKL in fs/minix
Al Viro [Wed, 17 Jun 2009 03:47:45 +0000 (23:47 -0400)]
get rid of BKL in fs/minix

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoget rid of BKL in fs/efs
Al Viro [Wed, 17 Jun 2009 03:35:46 +0000 (23:35 -0400)]
get rid of BKL in fs/efs

Only readdir() really needed it, and that's easily fixable by switch to
generic_file_llseek()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agobefs ->pust_super() doesn't need BKL
Al Viro [Wed, 17 Jun 2009 03:24:50 +0000 (23:24 -0400)]
befs ->pust_super() doesn't need BKL

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoCleanup of adfs headers
Al Viro [Tue, 16 Jun 2009 18:52:13 +0000 (14:52 -0400)]
Cleanup of adfs headers

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago9P doesn't need BKL in ->umount_begin()
Al Viro [Tue, 16 Jun 2009 18:17:21 +0000 (14:17 -0400)]
9P doesn't need BKL in ->umount_begin()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agofuse doesn't need BKL in ->umount_begin()
Al Viro [Tue, 16 Jun 2009 18:15:00 +0000 (14:15 -0400)]
fuse doesn't need BKL in ->umount_begin()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoNo instance of ->bmap() needs BKL
Al Viro [Tue, 16 Jun 2009 17:35:01 +0000 (13:35 -0400)]
No instance of ->bmap() needs BKL

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoremove unlock_kernel() left accidentally
J. R. Okajima [Tue, 16 Jun 2009 16:16:50 +0000 (01:16 +0900)]
remove unlock_kernel() left accidentally

commit 337eb00a2c3a421999c39c94ce7e33545ee8baa7
Push BKL down into ->remount_fs()
and
commit 4aa98cf768b6f2ea4b204620d949a665959214f6
Push BKL down into do_remount_sb()

were uncorrectly merged.
The former removes one pair of lock/unlock_kernel(), but the latter adds
several unlock_kernel(). Finally a few unlock_kernel() calls left.

Signed-off-by: J. R. Okajima <hooanon05@yahoo.co.jp>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoext4: avoid unnecessary spinlock in critical POSIX ACL path
Theodore Ts'o [Mon, 8 Jun 2009 19:22:25 +0000 (15:22 -0400)]
ext4: avoid unnecessary spinlock in critical POSIX ACL path

If a filesystem supports POSIX ACL's, the VFS layer expects the filesystem
to do POSIX ACL checks on any files not owned by the caller, and it does
this for every single pathname component that it looks up.

That obviously can be pretty expensive if the filesystem isn't careful
about it, especially with locking. That's doubly sad, since the common
case tends to be that there are no ACL's associated with the files in
question.

ext4 already caches the ACL data so that it doesn't have to look it up
over and over again, but it does so by taking the inode->i_lock spinlock
on every lookup. Which is a noticeable overhead even if it's a private
lock, especially on CPU's where the serialization is expensive (eg Intel
Netburst aka 'P4').

For the special case of not actually having any ACL's, all that locking is
unnecessary. Even if somebody else were to be changing the ACL's on
another CPU, we simply don't care - if we've seen a NULL ACL, we might as
well use it.

So just load the ACL speculatively without any locking, and if it was
NULL, just use it. If it's non-NULL (either because we had a cached
entry, or because the cache hasn't been filled in at all), it means that
we'll need to get the lock and re-load it properly.

(This commit was ported from a patch originally authored by Linus for
ext3.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoext3: avoid unnecessary spinlock in critical POSIX ACL path
Linus Torvalds [Mon, 8 Jun 2009 19:22:24 +0000 (15:22 -0400)]
ext3: avoid unnecessary spinlock in critical POSIX ACL path

If a filesystem supports POSIX ACL's, the VFS layer expects the filesystem
to do POSIX ACL checks on any files not owned by the caller, and it does
this for every single pathname component that it looks up.

That obviously can be pretty expensive if the filesystem isn't careful
about it, especially with locking. That's doubly sad, since the common
case tends to be that there are no ACL's associated with the files in
question.

ext3 already caches the ACL data so that it doesn't have to look it up
over and over again, but it does so by taking the inode->i_lock spinlock
on every lookup. Which is a noticeable overhead even if it's a private
lock, especially on CPU's where the serialization is expensive (eg Intel
Netburst aka 'P4').

For the special case of not actually having any ACL's, all that locking is
unnecessary. Even if somebody else were to be changing the ACL's on
another CPU, we simply don't care - if we've seen a NULL ACL, we might as
well use it.

So just load the ACL speculatively without any locking, and if it was
NULL, just use it. If it's non-NULL (either because we had a cached
entry, or because the cache hasn't been filled in at all), it means that
we'll need to get the lock and re-load it properly.

This is noticeable even on Nehalem, which does locking quite well (much
better than P4). From lmbench:

Processor, Processes - times in microseconds - smaller is better
--------------------------------------------------------------------
Host                 OS  Mhz null null      open slct fork exec sh
                             call  I/O stat clos TCP  proc proc proc
--------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ----
 - before:
nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.95 1.45 2.18 69.1 273. 1141
nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.95 1.48 2.28 69.9 253. 1140
nehalem.l Linux 2.6.30- 3193 0.04 0.10 0.95 1.42 2.19 68.6 284. 1141
 - after:
nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.44 2.12 68.3 282. 1094
nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.39 2.20 67.0 308. 1123
nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.39 2.36 67.4 293. 1148

where you can see what appears to be a roughly 3% improvement in stat
and open/close latencies from just the removal of the locking overhead.

Of course, this only matters for files you don't own (the owner never
needs to do the ACL checks), but that's the common case for libraries,
header files, and executables. As well as for the base components of any
absolute pathname, even if you are the owner of the final file.

[ At some point we probably want to move this ACL caching logic entirely
  into the VFS layer (and only call down to the filesystem when
  uncached), but in the meantime this improves ext3 a bit.

  A similar fix to btrfs makes a much bigger difference (15x improvement
  in lmbench) due to broken caching. ]

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Acked-by: Jan Kara <jack@suse.cz>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>