deliverable/linux.git
12 years ago[S390] iucv cr0 enablement bit
Martin Schwidefsky [Sun, 24 Jul 2011 08:48:28 +0000 (10:48 +0200)] 
[S390] iucv cr0 enablement bit

Do not set the cr0 enablement bit for iucv by default in head[31|64].S,
move the enablement to iucv_init in the iucv base layer.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] race safe external interrupt registration
Jan Glauber [Sun, 24 Jul 2011 08:48:27 +0000 (10:48 +0200)] 
[S390] race safe external interrupt registration

The (un-)register_external_interrupt functions are not race safe if
more than one interrupt handler is added or deleted for an external
interrupt concurrently.

Make the registration / unregistration of external interrupts race safe
by using RCU and a spinlock. RCU is used to avoid a performance penalty
in the external interrupt handler, the register and unregister functions
are protected by the spinlock and are not performance critical.
call_rcu must be used since the SCLP driver uses the interface with
IRQs disabled. Also use the generic list implementation rather than
homebrewn list code.

Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] remove tape block docu
Martin Schwidefsky [Sun, 24 Jul 2011 08:48:26 +0000 (10:48 +0200)] 
[S390] remove tape block docu

After git commit 66ceed5ad1318863c21710f316942bcefff8081c removed
the tape block device driver, remove its documentation as well.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] ap: toleration support for ap device type 10
Holger Dengler [Sun, 24 Jul 2011 08:48:25 +0000 (10:48 +0200)] 
[S390] ap: toleration support for ap device type 10

Add toleration support for ap devices with device type 10.

Signed-off-by: Holger Dengler <hd@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] cleanup program check handler prototypes
Martin Schwidefsky [Sun, 24 Jul 2011 08:48:24 +0000 (10:48 +0200)] 
[S390] cleanup program check handler prototypes

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] remove kvm mmu reload on s390
Carsten Otte [Sun, 24 Jul 2011 08:48:23 +0000 (10:48 +0200)] 
[S390] remove kvm mmu reload on s390

This patch removes the mmu reload logic for kvm on s390. Via Martin's
new gmap interface, we can safely add or remove memory slots while
guest CPUs are in-flight. Thus, the mmu reload logic is not needed
anymore.

Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] Use gmap translation for accessing guest memory
Carsten Otte [Sun, 24 Jul 2011 08:48:22 +0000 (10:48 +0200)] 
[S390] Use gmap translation for accessing guest memory

This patch removes kvm-s390 internal assumption of a linear mapping
of guest address space to user space. Previously, guest memory was
translated to user addresses using a fixed offset (gmsor). The new
code uses gmap_fault to resolve guest addresses.

Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] use gmap address spaces for kvm guest images
Carsten Otte [Sun, 24 Jul 2011 08:48:21 +0000 (10:48 +0200)] 
[S390] use gmap address spaces for kvm guest images

This patch switches kvm from using (Qemu's) user address space to
Martin's gmap address space. This way QEMU does not have to use a
linker script in order to fit large guests at low addresses in its
address space.

Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] kvm guest address space mapping
Martin Schwidefsky [Sun, 24 Jul 2011 08:48:20 +0000 (10:48 +0200)] 
[S390] kvm guest address space mapping

Add code that allows KVM to control the virtual memory layout that
is seen by a guest. The guest address space uses a second page table
that shares the last level pte-tables with the process page table.
If a page is unmapped from the process page table it is automatically
unmapped from the guest page table as well.

The guest address space mapping starts out empty, KVM can map any
individual 1MB segments from the process virtual memory to any 1MB
aligned location in the guest virtual memory. If a target segment in
the process virtual memory does not exist or is unmapped while a
guest mapping exists the desired target address is stored as an
invalid segment table entry in the guest page table.
The population of the guest page table is fault driven.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] fix s390 assembler code alignments
Jan Glauber [Sun, 24 Jul 2011 08:48:19 +0000 (10:48 +0200)] 
[S390] fix s390 assembler code alignments

The alignment is missing for various global symbols in s390 assembly code.
With a recent gcc and an instruction like stgrl this can lead to a
specification exception if the instruction uses such a mis-aligned address.

Specify the alignment explicitely and while add it define __ALIGN for s390
and use the ENTRY define to save some lines of code.

Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] move sie code to entry.S
Martin Schwidefsky [Sun, 24 Jul 2011 08:48:18 +0000 (10:48 +0200)] 
[S390] move sie code to entry.S

The entry to / exit from sie has subtle dependencies to the first level
interrupt handler. Move the sie assembler code to entry64.S and replace
the SIE_HOOK callback with a test and the new _TIF_SIE bit.
In addition this patch fixes several problems in regard to the check for
the_TIF_EXIT_SIE bits. The old code checked the TIF bits before executing
the interrupt handler and it only modified the instruction address if it
pointed directly to the sie instruction. In both cases it could miss
a TIF bit that normally would cause an exit from the guest and would
reenter the guest context.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] kvm: handle tprot intercepts
Christian Borntraeger [Sun, 24 Jul 2011 08:48:17 +0000 (10:48 +0200)] 
[S390] kvm: handle tprot intercepts

When running a kvm guest we can get intercepts for tprot, if the host
page table is read-only or not populated. This patch implements the
most common case (linux memory detection).
This also allows host copy on write for guest memory on newer systems.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] qdio: clear shared DSCI before scheduling the queue handler
Jan Glauber [Sun, 24 Jul 2011 08:48:00 +0000 (10:48 +0200)] 
[S390] qdio: clear shared DSCI before scheduling the queue handler

The following race can occur with qdio devices that use the shared device
state change indicator:

Device (Shared DSCI)    CPU0                            CPU1
===============================================================================

1. DSCI 0 => 1,
   INT pending
                        2. Thinint handler
                        * si_used = 1
                        * Inbound tasklet_schedule
                        * DSCI 1 => 0

3. DSCI 0 => 1,
   INT pending

                                                        4. Thinint handler
                                                        * si_used = 1
                                                        * Inbound tasklet_schedu
le
                                                           => NOP

                        5. Inbound tasklet run

6. DSCI = 1,
   INT surpressed

                                                        7. DSCI 1 => 0

The race would lead to a stall where new data in the input queue is
not recognized so the device stops working in case of no further traffic.

Fix the race by resetting the DSCI before scheduling the inbound tasklet
so the device generates an interrupt if new data arrives in the above
scenario in step 6.

Reviewed-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] reference bit testing for unmapped pages
Martin Schwidefsky [Sun, 24 Jul 2011 08:47:59 +0000 (10:47 +0200)] 
[S390] reference bit testing for unmapped pages

On x86 a page without a mapper is by definition not referenced / old.
The s390 architecture keeps the reference bit in the storage key and
the current code will check the storage key for page without a mapper.
This leads to an interesting effect: the first time an s390 system
needs to write pages to swap it only finds referenced pages. This
causes a lot of pages to get added and written to the swap device.
To avoid this behaviour change page_referenced to query the storage
key only if there is a mapper of the page.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] irqs: Do not trace arch_local_{*,irq_*} functions
Steven Rostedt [Sun, 24 Jul 2011 08:47:58 +0000 (10:47 +0200)] 
[S390] irqs: Do not trace arch_local_{*,irq_*} functions

Do not trace arch_local_save_flags(), arch_local_irq_*() and friends.
Although they are marked inline, gcc may still make a function out of
them and add it to the pool of functions that are traced by the function
tracer. This can cause undesirable results (kernel panic, triple faults,
etc).

Add the notrace notation to prevent them from ever being traced.

Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] kconfig: remove tape interface support comment
Martin Schwidefsky [Sun, 24 Jul 2011 08:47:57 +0000 (10:47 +0200)] 
[S390] kconfig: remove tape interface support comment

There is nothing below the menu entry "S/390 tape interface support".
Remove it.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years agoof: fix missing include from of_pci.c
Grant Likely [Sun, 24 Jul 2011 05:52:48 +0000 (23:52 -0600)] 
of: fix missing include from of_pci.c

of_pci.c references symbols from linux/of.h.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
12 years agogre: fix improper error handling
xeb@mail.ru [Fri, 22 Jul 2011 20:49:40 +0000 (20:49 +0000)] 
gre: fix improper error handling

Fix improper protocol err_handler, current implementation is fully
unapplicable and may cause kernel crash due to double kfree_skb.

Signed-off-by: Dmitry Kozlov <xeb@mail.ru>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoipv4: use RT_TOS after some rt_tos conversions
Julian Anastasov [Sat, 23 Jul 2011 02:00:41 +0000 (02:00 +0000)] 
ipv4: use RT_TOS after some rt_tos conversions

rt_tos was changed to iph->tos but it must be filtered by RT_TOS

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agovia-velocity: remove duplicated #include
Huang Weiyi [Fri, 22 Jul 2011 22:20:45 +0000 (22:20 +0000)] 
via-velocity: remove duplicated #include

Remove duplicated #include('s) in
  drivers/net/via-velocity.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoqlge: remove duplicated #include
Huang Weiyi [Fri, 22 Jul 2011 22:20:25 +0000 (22:20 +0000)] 
qlge: remove duplicated #include

Remove duplicated #include('s) in
  drivers/net/qlge/qlge_main.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoigb: remove duplicated #include
Huang Weiyi [Fri, 22 Jul 2011 22:20:01 +0000 (22:20 +0000)] 
igb: remove duplicated #include

Remove duplicated #include('s) in
  drivers/net/igb/igb_main.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agocan: c_can: remove duplicated #include
Huang Weiyi [Fri, 22 Jul 2011 22:19:40 +0000 (22:19 +0000)] 
can: c_can: remove duplicated #include

Remove duplicated #include('s) in
  drivers/net/can/c_can/c_can.c
  drivers/net/can/c_can/c_can_platform.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobnad: remove duplicated #include
Huang Weiyi [Fri, 22 Jul 2011 22:19:12 +0000 (22:19 +0000)] 
bnad: remove duplicated #include

Remove duplicated #include('s) in
  drivers/net/bna/bnad.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoata: PATA_ARASAN_CF depends on DMADEVICES
Randy Dunlap [Mon, 23 May 2011 00:32:27 +0000 (17:32 -0700)] 
ata: PATA_ARASAN_CF depends on DMADEVICES

Fix kconfig unmet dependency warning:

warning: (PATA_ARASAN_CF && VIDEO_TIMBERDALE && SND_SOC_SH4_SIU) selects DMA_ENGINE which has unmet direct dependencies (DMADEVICES)

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agoata: remove unnecessary code
Greg Dietsche [Thu, 16 Jun 2011 16:39:21 +0000 (11:39 -0500)] 
ata: remove unnecessary code

Compile tested.
remove unnecessary code that matches this coccinelle pattern
if (...)
return ret;
return ret;

Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years ago[libata] Prevent warning during PMP error recovery
Gwendal Grignou [Fri, 22 Jul 2011 20:48:32 +0000 (13:48 -0700)] 
[libata] Prevent warning during PMP error recovery

Cleanup sff_pio_task_link when a command is cancel while the
pio_task thread has been scheduled.

Signed-off-by: Gwendal Grignou <gwendal@google.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agoahci: RAID-mode SATA patch for Intel Panther Point DeviceIDs
Seth Heasley [Thu, 14 Jul 2011 23:50:49 +0000 (16:50 -0700)] 
ahci: RAID-mode SATA patch for Intel Panther Point DeviceIDs

This patch adds an additional SATA RAID controller DeviceID for the Intel Panther Point PCH.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agopata_it821x: Fix RAID type display, by adding missing comma
Jean Delvare [Mon, 4 Jul 2011 13:33:24 +0000 (15:33 +0200)] 
pata_it821x: Fix RAID type display, by adding missing comma

The missing comma causes the wrong RAID type to be displayed.
Introduced by commit 963e4975c6f93c148ca809d986d412201df9af89 three
years ago, odd that nobody noticed before.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agosata_dwc_460ex: fix error path
Vasiliy Kulikov [Sun, 3 Jul 2011 11:26:47 +0000 (15:26 +0400)] 
sata_dwc_460ex: fix error path

Fixed hsdev memleak on sata_dwc_probe() error.
As dma_dwc_exit() can be called multiple times without sata_dma_regs and
irq_dma changes, it might lead to double free on sequential
dma_dwc_exit() calls.  So, zero these fields after free calls.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agoahci: Enable SB600 64bit DMA on Asus M3A
Mark Nelson [Mon, 27 Jun 2011 06:33:44 +0000 (16:33 +1000)] 
ahci: Enable SB600 64bit DMA on Asus M3A

Like e65cc194f7628ecaa02462f22f42fb09b50dcd49 this patch enables 64bit DMA
for the AHCI SATA controller of a board that has the SB600 southbridge. In
this case though we're enabling 64bit DMA for the Asus M3A motherboard. It
is a new enough board that all of the BIOS releases since the initial
release (0301 from 2007-10-22) work correctly with 64bit DMA enabled.

Signed-off-by: Mark Nelson <mdnelson8@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agolibata: report link resume failure as KERN_WARNING instead of ERR
Tejun Heo [Fri, 1 Jul 2011 13:12:09 +0000 (15:12 +0200)] 
libata: report link resume failure as KERN_WARNING instead of ERR

Link resume failure in itself isn't an error condition and may happen
regularly depending on hardware configuration.  Reporting it as
KERN_ERR makes the condition unnecessarily prominent (e.g. reported
during boot).  Use KERN_WARNING instead.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: David Shaw <dshaw@jabberwocky.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agoahci: move ahci_sb600_softreset to libahci.c and rename it
Yuan-Hsin Chen [Tue, 21 Jun 2011 09:17:38 +0000 (17:17 +0800)] 
ahci: move ahci_sb600_softreset to libahci.c and rename it

ahci_sb600_softreset was in ahci.c. This function is used
to fix soft reset failure and renames as ahci_pmp_retry_softreset
in libahci.c.

Signed-off-by: Yuan-Hsin Chen <yhchen@faraday-tech.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agolibata: leave port thawed after reset failure
Tejun Heo [Wed, 25 May 2011 10:23:56 +0000 (12:23 +0200)] 
libata: leave port thawed after reset failure

libata EH intentionally left a port frozen if it failed
ata_eh_reset().  The intention was avoiding continuous loop of resets
when the controller or attached device is flaky and reporting spurious
hotplug events.  Once port enters this state, it can be recovered with
manual rescan, which seemed reasonable.

However, outside of my convoluted test setup, there have been very few
reports justifying this choice while there have been more cases where
the automatic freezing of the port after hotplug attempt of a faulty
device caused confusion and led to unnecessary resets.

This patch changes the behavior so that the port is thawed after reset
failure.  This change doesn't necessarily solve but makes it easier
and more intuitive to work around hotplug related problems
(ie. re-pluggin or power cycling the device) as reported in the
followings.

  https://bugzilla.kernel.org/show_bug.cgi?id=34712
  http://thread.gmane.org/gmane.linux.kernel/1123265/focus=49548

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Reartes Guillermo <rtguille@gmail.com>
Reported-by: Bruce Stenning <b.stenning@indigovision.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agoata: sata_via: Use dev_dbg
Joe Perches [Fri, 15 Apr 2011 22:52:01 +0000 (15:52 -0700)] 
ata: sata_via: Use dev_dbg

Use normal debugging path for dynamic debug capability.

Convert dev_printk(KERN_DEBUG to dev_dbg(

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agoata: Add and use ata_print_version_once
Joe Perches [Fri, 15 Apr 2011 22:52:00 +0000 (15:52 -0700)] 
ata: Add and use ata_print_version_once

Use a single mechanism to show driver version.
Reduces text a tiny bit too.

Remove uses of static int printed_version
Add and use ata_print_version(const struct device *, const char *ver)
and ata_print_version_once.

$ size drivers/ata/built-in.*
   text    data     bss     dec     hex filename
 544969   73893  116584  735446   b38d6 drivers/ata/built-in.allyesconfig.ata.o
 543870   73893  116592  734355   b34ad drivers/ata/built-in.allyesconfig.print_once.o
 141328   14689    4220  160237   271ed drivers/ata/built-in.defconfig.ata.o
 141212   14689    4220  160121   27179 drivers/ata/built-in.defconfig.print_once.o

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agoata: Convert ata_<foo>_printk(KERN_<LEVEL> to ata_<foo>_<level>
Joe Perches [Fri, 15 Apr 2011 22:51:59 +0000 (15:51 -0700)] 
ata: Convert ata_<foo>_printk(KERN_<LEVEL> to ata_<foo>_<level>

Saves text by removing nearly duplicated text format strings by
creating ata_<foo>_printk functions and printf extension %pV.

ata defconfig size shrinks ~5% (~8KB), allyesconfig ~2.5% (~13KB)

Format string duplication comes from:

 #define ata_link_printk(link, lv, fmt, args...) do { \
       if (sata_pmp_attached((link)->ap) || (link)->ap->slave_link)    \
               printk("%sata%u.%02u: "fmt, lv, (link)->ap->print_id,   \
                      (link)->pmp , ##args); \
       else \
               printk("%sata%u: "fmt, lv, (link)->ap->print_id , ##args); \
       } while(0)

Coalesce long formats.

$ size drivers/ata/built-in.*
   text    data     bss     dec     hex filename
 544969   73893  116584  735446   b38d6 drivers/ata/built-in.allyesconfig.ata.o
 558429   73893  117864  750186   b726a drivers/ata/built-in.allyesconfig.dev_level.o
 141328   14689    4220  160237   271ed drivers/ata/built-in.defconfig.ata.o
 149567   14689    4220  168476   2921c drivers/ata/built-in.defconfig.dev_level.o

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agoata: Convert dev_printk(KERN_<LEVEL> to dev_<level>(
Joe Perches [Fri, 15 Apr 2011 22:51:58 +0000 (15:51 -0700)] 
ata: Convert dev_printk(KERN_<LEVEL> to dev_<level>(

Saves a bit of text as the call takes fewer args.

Coalesce a few formats.
Convert a few bare printks to pr_cont.

$ size drivers/ata/built-in.o*
   text    data     bss     dec     hex filename
 558429   73893  117864  750186   b726a drivers/ata/built-in.o.allyesconfig.new
 559574   73893  117888  751355   b76fb drivers/ata/built-in.o.allyesconfig.old
 149567   14689    4220  168476   2921c drivers/ata/built-in.o.defconfig.new
 149851   14689    4220  168760   29338 drivers/ata/built-in.o.defconfig.old

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
12 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier...
Linus Torvalds [Sat, 23 Jul 2011 21:05:44 +0000 (14:05 -0700)] 
Merge branch 'for-linus' of git://git./linux/kernel/git/vapier/blackfin

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (43 commits)
  Blackfin: spi-docs: further clarify GPIO CS behavior with various modes
  Blackfin: boards: fix pcm device name
  Blackfin: SMP: punt unused atomic_test_mask helper
  Blackfin: irqs: do not trace arch_local_{*,irq_*} functions
  Blackfin: bf526: restrict reboot workaround to 0.0 silicon
  Blackfin: bf51x: fix alternative portmux options
  Blackfin: bf54x: fix GPIO resume code
  Blackfin: dpmc: optimize SDRAM programming slightly
  Blackfin: dpmc: don't save/restore scratch registers
  Blackfin: bf538: pull gpio/port logic out of core hibernate paths
  Blackfin: dpmc: optimize hibernate/resume path
  Blackfin: dpmc: do not save/restore EVT0/EVT1/EVT4 when hibernating
  Blackfin: dpmc: relocate hibernate helper macros
  Blackfin: dpmc: omit RETE/RETN when hibernating
  Blackfin: dpmc: optimize SIC_IWR programming a little
  Blackfin: gpio/ints: generalize pint logic
  Blackfin: dpmc: bind to MMR names and not CPUs
  Blackfin: debug-mmrs: generalize pint logic
  Blackfin: bf54x: switch to common pint MMR struct
  Blackfin: bf54x: tweak MMR pint names
  ...

12 years agoblock: strict rq_affinity
Dan Williams [Sat, 23 Jul 2011 18:44:25 +0000 (20:44 +0200)] 
block: strict rq_affinity

Some systems benefit from completions always being steered to the strict
requester cpu rather than the looser "per-socket" steering that
blk_cpu_to_group() attempts by default. This is because the first
CPU in the group mask ends up being completely overloaded with work,
while the others (including the original submitter) has power left
to spare.

Allow the strict mode to be set by writing '2' to the sysfs control
file. This is identical to the scheme used for the nomerges file,
where '2' is a more aggressive setting than just being turned on.

echo 2 > /sys/block/<bdev>/queue/rq_affinity

Cc: Christoph Hellwig <hch@infradead.org>
Cc: Roland Dreier <roland@purestorage.com>
Tested-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
12 years agobacking-dev: use synchronize_rcu_expedited instead of synchronize_rcu
Mikulas Patocka [Sat, 23 Jul 2011 18:44:24 +0000 (20:44 +0200)] 
backing-dev: use synchronize_rcu_expedited instead of synchronize_rcu

backing-dev: use synchronize_rcu_expedited instead of synchronize_rcu

synchronize_rcu sleeps several timer ticks. synchronize_rcu_expedited is
much faster.

With 100Hz timer frequency, when we remove 10000 block devices with
"dmsetup remove_all" command, it takes 27 minutes. With this patch,
removing 10000 block devices takes only 15 seconds.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
12 years agoblock: fix patch import error in max_discard_sectors check
Jens Axboe [Sat, 23 Jul 2011 18:34:59 +0000 (20:34 +0200)] 
block: fix patch import error in max_discard_sectors check

A '!' snuck in before the unlikely, rendering it useless.

Reported-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
12 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Linus Torvalds [Sat, 23 Jul 2011 18:14:47 +0000 (11:14 -0700)] 
Merge branch 'for-linus' of git://git./linux/kernel/git/broonie/regmap

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
  regulator: Convert tps65023 to use regmap API
  regmap: Add SPI bus support
  regmap: Add I2C bus support
  regmap: Add generic non-memory mapped register access API

12 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
Linus Torvalds [Sat, 23 Jul 2011 18:13:11 +0000 (11:13 -0700)] 
Merge git://git./linux/kernel/git/jejb/scsi-misc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (77 commits)
  [SCSI] fix crash in scsi_dispatch_cmd()
  [SCSI] sr: check_events() ignore GET_EVENT when TUR says otherwise
  [SCSI] bnx2i: Fixed kernel panic due to illegal usage of sc->request->cpu
  [SCSI] bfa: Update the driver version to 3.0.2.1
  [SCSI] bfa: Driver and BSG enhancements.
  [SCSI] bfa: Added support to query PHY.
  [SCSI] bfa: Added HBA diagnostics support.
  [SCSI] bfa: Added support for flash configuration
  [SCSI] bfa: Added support to obtain SFP info.
  [SCSI] bfa: Added support for CEE info and stats query.
  [SCSI] bfa: Extend BSG interface.
  [SCSI] bfa: FCS bug fixes.
  [SCSI] bfa: DMA memory allocation enhancement.
  [SCSI] bfa: Brocade-1860 Fabric Adapter vHBA support.
  [SCSI] bfa: Brocade-1860 Fabric Adapter PLL init fixes.
  [SCSI] bfa: Added Fabric Assigned Address(FAA) support
  [SCSI] bfa: IOC bug fixes.
  [SCSI] bfa: Enable ASIC block configuration and query.
  [SCSI] bnx2i: Updated copyright and bump version
  [SCSI] bnx2i: Modified to skip CNIC registration if iSCSI is not supported
  ...

Fix up some trivial conflicts in:
 - drivers/scsi/bnx2fc/{bnx2fc.h,bnx2fc_fcoe.c}:
Crazy broadcom version number conflicts
 - drivers/target/tcm_fc/tfc_cmd.c
Just trivial cleanups done on adjacent lines

12 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Sat, 23 Jul 2011 17:59:37 +0000 (10:59 -0700)] 
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (297 commits)
  ALSA: asihpi - Replace with snd_ctl_boolean_mono_info()
  ALSA: asihpi - HPI version 4.08
  ALSA: asihpi - Add volume mute controls
  ALSA: asihpi - Control name updates
  ALSA: asihpi - Use size_t for sizeof result
  ALSA: asihpi - Explicitly include mutex.h
  ALSA: asihpi - Add new node and message defines
  ALSA: asihpi - Make local function static
  ALSA: asihpi - Fix minor typos and spelling
  ALSA: asihpi - Remove unused structures, macros and functions
  ALSA: asihpi - Remove spurious adapter index check
  ALSA: asihpi - Revise snd_pcm_debug_name, get rid of DEBUG_NAME macro
  ALSA: asihpi - DSP code loader API now independent of OS
  ALSA: asihpi - Remove controlex structs and associated special data transfer code
  ALSA: asihpi - Increase request and response buffer sizes
  ALSA: asihpi - Give more meaningful name to hpi request message type
  ALSA: usb-audio - Add quirk for  Roland / BOSS BR-800
  ALSA: hda - Remove a superfluous argument of via_auto_init_output()
  ALSA: hda - Fix indep-HP path (de-)activation for VT1708* codecs
  ALSA: hda - Add documentation for codec-specific mixer controls
  ...

12 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh...
Linus Torvalds [Sat, 23 Jul 2011 17:58:49 +0000 (10:58 -0700)] 
Merge branch 'for-linus' of git://git./linux/kernel/git/ericvh/v9fs

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
  net/9p: Fix the msize calculation.
  fs/9p: add 9P2000.L unlinkat operation
  fs/9p: add 9P2000.L renameat operation
  fs/9p: Always ask new inode in create
  fs/9p: Clean-up get_protocol_version() to use strcmp
  fs/9p: Fix invalid mount options/args
  fs/9p: When doing inode lookup compare qid details and inode mode bits.
  fs/9p: Fid is not valid after a failed clunk.
  net/9p: Remove structure not used in the code
  VirtIO can transfer VIRTQUEUE_NUM of pages.
  Fix the size of receive buffer packing onto VirtIO ring.
  9p: clean up packet dump code
  fs/9p: remove rename work around in 9p
  net/9p: fix client code to fail more gracefully on protocol error

12 years agoDocumentation: refresh sysctl/kernel.txt
Borislav Petkov [Sat, 23 Jul 2011 17:39:29 +0000 (10:39 -0700)] 
Documentation: refresh sysctl/kernel.txt

Refresh sysctl/kernel.txt.  More specifically,

 - drop stale index entries
 - sync and sort index and entries
 - reflow sticking out paragraphs to colwidth 72
 - correct typos
 - cleanup whitespace

Signed-off-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoDocumentation: fix ambigous text for root cpuset
Wanlong Gao [Sat, 23 Jul 2011 17:38:17 +0000 (10:38 -0700)] 
Documentation: fix ambigous text for root cpuset

Only the root cpuset has cpuset.memory_pressure_enabled flag,
but not the only one.

Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Acked-by: Paul Menage <menage@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoDocumentation: fix echo command in cgroups/cpuacct.txt
Wanlong Gao [Sat, 23 Jul 2011 17:37:01 +0000 (10:37 -0700)] 
Documentation: fix echo command in cgroups/cpuacct.txt

Must echo a task id to the cgroups' tasks file, but not to a directory.

Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
Acked-by: Paul Menage <menage@google.com>
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoMerge branches 'x86-detect-hyper-for-linus', 'x86-fpu-for-linus', 'x86-kexec-for...
Linus Torvalds [Sat, 23 Jul 2011 17:38:21 +0000 (10:38 -0700)] 
Merge branches 'x86-detect-hyper-for-linus', 'x86-fpu-for-linus', 'x86-kexec-for-linus', 'x86-platform-for-linus', 'x86-quirks-for-linus', 'x86-tsc-for-linus' and 'x86-smpboot-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'x86-detect-hyper-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, hyper: Change hypervisor detection order

* 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86-32, fpu: Fix DNA exception during check_fpu()

* 'x86-kexec-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  kexec, x86: Fix incorrect jump back address if not preserving context

* 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, config: Introduce an INTEL_MID configuration

* 'x86-quirks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, quirks: Use pci_dev->revision

* 'x86-tsc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: tsc: Remove unneeded DMI-based blacklisting

* 'x86-smpboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, boot: Wait for boot cpu to show up if nr_cpus limit is about to hit

12 years agoMerge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sat, 23 Jul 2011 17:36:09 +0000 (10:36 -0700)] 
Merge branch 'x86-build-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, build: Do not set the root_dev field in bzImage

12 years agoMerge branch 'x86-atomic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sat, 23 Jul 2011 17:35:43 +0000 (10:35 -0700)] 
Merge branch 'x86-atomic-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'x86-atomic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: Add support for cmpxchg_double

12 years agoMerge branch 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux...
Linus Torvalds [Sat, 23 Jul 2011 17:34:47 +0000 (10:34 -0700)] 
Merge branch 'timers-clocksource-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  clocksource: apb: Share APB timer code with other platforms

12 years agoMerge branches 'x86-urgent-for-linus', 'core-debug-for-linus', 'irq-core-for-linus...
Linus Torvalds [Sat, 23 Jul 2011 17:33:08 +0000 (10:33 -0700)] 
Merge branches 'x86-urgent-for-linus', 'core-debug-for-linus', 'irq-core-for-linus' and 'perf-urgent-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  um: Make rwsem.S depend on CONFIG_RWSEM_XCHGADD_ALGORITHM

* 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  debug: Make CONFIG_EXPERT select CONFIG_DEBUG_KERNEL to unhide debug options

* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  genirq: Remove unused CHECK_IRQ_PER_CPU()

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  perf tools, x86: Fix 32-bit compile on 64-bit system

12 years agoMerge branch 'scsi-fixes'
James Bottomley [Sat, 23 Jul 2011 17:09:03 +0000 (21:09 +0400)] 
Merge branch 'scsi-fixes'

12 years agonet/9p: Fix the msize calculation.
Venkateswararao Jujjuri (JV) [Thu, 30 Jun 2011 01:06:33 +0000 (18:06 -0700)] 
net/9p: Fix the msize calculation.

msize represents the maximum PDU size that includes P9_IOHDRSZ.

Signed-off-by: Venkateswararao Jujjuri "<jvrao@linux.vnet.ibm.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agofs/9p: add 9P2000.L unlinkat operation
Aneesh Kumar K.V [Tue, 28 Jun 2011 10:11:18 +0000 (15:41 +0530)] 
fs/9p: add 9P2000.L unlinkat operation

unlinkat - Remove a directory entry

size[4] Tunlinkat tag[2] dirfid[4] name[s] flag[4]
size[4] Runlinkat tag[2]

older Tremove have the below request format

size[4] Tremove tag[2] fid[4]

The remove message is used to remove a directory entry either file or directory
The remove opreation is actually a directory opertation and should ideally have
dirfid, if not we cannot represent the fid on server with anything other than
name. We will have to derive the directory name from fid in the Tremove request.

NOTE: The operation doesn't clunk the unlink fid.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agofs/9p: add 9P2000.L renameat operation
Aneesh Kumar K.V [Tue, 28 Jun 2011 10:11:16 +0000 (15:41 +0530)] 
fs/9p: add 9P2000.L renameat operation

renameat - change name of file or directory

size[4] Trenameat tag[2] olddirfid[4] oldname[s] newdirfid[4] newname[s]
size[4] Rrenameat tag[2]

older Trename have the below request format

size[4] Trename tag[2] fid[4] newdirfid[4] name[s]

The rename message is used to change the name of a file, possibly moving it
to a new directory. The rename opreation is actually a directory opertation
and should ideally have olddirfid, if not we cannot represent the fid on server
with anything other than name. We will have to derive the old directory name
from fid in the Trename request.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agofs/9p: Always ask new inode in create
Aneesh Kumar K.V [Wed, 6 Jul 2011 11:02:31 +0000 (16:32 +0530)] 
fs/9p: Always ask new inode in create

This make sure we don't end up reusing the unlinked inode object.
The ideal way is to use inode i_generation. But i_generation is
not available in userspace always.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agofs/9p: Clean-up get_protocol_version() to use strcmp
Prem Karat [Fri, 6 May 2011 13:05:32 +0000 (18:35 +0530)] 
fs/9p: Clean-up get_protocol_version() to use strcmp

Signed-off-by: Prem Karat <prem.karat@linux.vnet.ibm.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agofs/9p: Fix invalid mount options/args
Prem Karat [Fri, 6 May 2011 12:54:18 +0000 (18:24 +0530)] 
fs/9p: Fix invalid mount options/args

Without this fix, if any invalid mount options/args are passed while mouting
the 9p fs, no error (-EINVAL) is returned and default arg value is assigned.

This fix returns -EINVAL when an invalid arguement is found while parsing
mount options.

Signed-off-by: Prem Karat <prem.karat@linux.vnet.ibm.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agofs/9p: When doing inode lookup compare qid details and inode mode bits.
Aneesh Kumar K.V [Mon, 11 Jul 2011 16:40:59 +0000 (16:40 +0000)] 
fs/9p: When doing inode lookup compare qid details and inode mode bits.

This make sure we don't use wrong inode from the inode hash. The inode number
of the file deleted is reused by the next file system object created
and if we only use inode number for inode hash lookup we could end up
with wrong struct inode.

Also compare inode generation number. Not all Linux file system provide
st_gen in userspace. So it could be 0;

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agofs/9p: Fid is not valid after a failed clunk.
Aneesh Kumar K.V [Mon, 11 Jul 2011 16:40:58 +0000 (16:40 +0000)] 
fs/9p: Fid is not valid after a failed clunk.

free the fid even in case of failed clunk.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agonet/9p: Remove structure not used in the code
Aneesh Kumar K.V [Thu, 7 Jul 2011 08:44:03 +0000 (08:44 +0000)] 
net/9p: Remove structure not used in the code

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agoVirtIO can transfer VIRTQUEUE_NUM of pages.
jvrao [Thu, 30 Jun 2011 23:18:41 +0000 (23:18 +0000)] 
VirtIO can transfer VIRTQUEUE_NUM of pages.

Signed-off-by: Venkateswararao Jujjuri "<jvrao@linux.vnet.ibm.com>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agoFix the size of receive buffer packing onto VirtIO ring.
jvrao [Thu, 30 Jun 2011 23:18:39 +0000 (23:18 +0000)] 
Fix the size of receive buffer packing onto VirtIO ring.

Signed-off-by: Venkateswararao Jujjuri "<jvrao@linux.vnet.ibm.com>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years ago9p: clean up packet dump code
Eric Van Hensbergen [Sun, 19 Jun 2011 21:38:21 +0000 (16:38 -0500)] 
9p: clean up packet dump code

Switch to generic kernel hexdump library and cleanup macros to
be more consistent with the way we do normal debug prints.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agofs/9p: remove rename work around in 9p
Aneesh Kumar K.V [Mon, 6 Jun 2011 18:01:47 +0000 (18:01 +0000)] 
fs/9p: remove rename work around in 9p

Now that VFS does the right thing remove the work around.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agonet/9p: fix client code to fail more gracefully on protocol error
Eric Van Hensbergen [Thu, 14 Jul 2011 00:12:18 +0000 (19:12 -0500)] 
net/9p: fix client code to fail more gracefully on protocol error

There was a BUG_ON to protect against a bad id which could be dealt with
more gracefully.

Reported-by: Natalie Orlin <norlin@us.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
12 years agoregulator: Convert tps65023 to use regmap API
Mark Brown [Sat, 18 Jun 2011 00:18:51 +0000 (01:18 +0100)] 
regulator: Convert tps65023 to use regmap API

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
12 years agoregmap: Add SPI bus support
Mark Brown [Thu, 12 May 2011 09:42:10 +0000 (11:42 +0200)] 
regmap: Add SPI bus support

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
12 years agoregmap: Add I2C bus support
Mark Brown [Mon, 20 Jun 2011 18:02:29 +0000 (19:02 +0100)] 
regmap: Add I2C bus support

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
12 years agoregmap: Add generic non-memory mapped register access API
Mark Brown [Wed, 11 May 2011 17:59:58 +0000 (19:59 +0200)] 
regmap: Add generic non-memory mapped register access API

There are many places in the tree where we implement register access for
devices on non-memory mapped buses, especially I2C and SPI. Since hardware
designers seem to have settled on a relatively consistent set of register
interfaces this can be effectively factored out into shared code.  There
are a standard set of formats for marshalling data for exchange with the
device, with the actual I/O mechanisms generally being simple byte
streams.

We create an abstraction for marshaling data into formats which can be
sent on the control interfaces, and create a standard method for
plugging in actual transport underneath that.

This is mostly a refactoring and renaming of the bottom level of the
existing code for sharing register I/O which we have in ASoC. A
subsequent patch in this series converts ASoC to use this.  The main
difference in interface is that reads return values by writing to a
location provided by a pointer rather than in the return value, ensuring
we can use the full range of the type for register data.  We also use
unsigned types rather than ints for the same reason.

As some of the devices can have very large register maps the existing
ASoC code also contains infrastructure for managing register caches.
This cache work will be moved over in a future stage to allow for
separate review, the current patch only deals with the physical I/O.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
12 years agovirtio: expose for non-virtualization users too
Ohad Ben-Cohen [Tue, 5 Jul 2011 14:06:14 +0000 (17:06 +0300)] 
virtio: expose for non-virtualization users too

virtio has been so far used only in the context of virtualization,
and the virtio Kconfig was sourced directly by the relevant arch
Kconfigs when VIRTUALIZATION was selected.

Now that we start using virtio for inter-processor communications,
we need to source the virtio Kconfig outside of the virtualization
scope too.

Moreover, some architectures might use virtio for both virtualization
and inter-processor communications, so directly sourcing virtio
might yield unexpected results due to conflicting selections.

The simple solution offered by this patch is to always source virtio's
Kconfig in drivers/Kconfig, and remove it from the appropriate arch
Kconfigs. Additionally, a virtio menu entry has been added so virtio
drivers don't show up in the general drivers menu.

This way anyone can use virtio, though it's arguably less accessible
(and neat!) for virtualization users now.

Note: some architectures (mips and sh) seem to have a VIRTUALIZATION
menu merely for sourcing virtio's Kconfig, so that menu is removed too.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agoBlackfin: spi-docs: further clarify GPIO CS behavior with various modes
Mike Frysinger [Sat, 23 Jul 2011 03:10:11 +0000 (23:10 -0400)] 
Blackfin: spi-docs: further clarify GPIO CS behavior with various modes

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: boards: fix pcm device name
Scott Jiang [Tue, 5 Jul 2011 23:27:25 +0000 (19:27 -0400)] 
Blackfin: boards: fix pcm device name

The pcm driver name has been changed, but the device name has not.

Signed-off-by: Scott Jiang <scott.jiang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: SMP: punt unused atomic_test_mask helper
Mike Frysinger [Fri, 17 Jun 2011 21:30:29 +0000 (17:30 -0400)] 
Blackfin: SMP: punt unused atomic_test_mask helper

No one uses this func, so just punt it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: irqs: do not trace arch_local_{*,irq_*} functions
Steven Rostedt [Sat, 2 Jul 2011 03:04:38 +0000 (23:04 -0400)] 
Blackfin: irqs: do not trace arch_local_{*,irq_*} functions

Do not trace arch_local_save_flags(), arch_local_irq_*() and friends.
Although they are marked inline, gcc may still make a function out of
them and add it to the pool of functions that are traced by the function
tracer. This can cause undesirable results (kernel panic, triple faults,
etc).

Add the notrace notation to prevent them from ever being traced.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: bf526: restrict reboot workaround to 0.0 silicon
Mike Frysinger [Thu, 30 Jun 2011 04:49:30 +0000 (00:49 -0400)] 
Blackfin: bf526: restrict reboot workaround to 0.0 silicon

The bug in the BF526 rom when doing a software reset exists only in older
silicon versions, so don't clear SWRST on newer parts.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: bf51x: fix alternative portmux options
Mike Frysinger [Wed, 29 Jun 2011 20:29:41 +0000 (16:29 -0400)] 
Blackfin: bf51x: fix alternative portmux options

The BF51x's alternative portmux Kconfig options were copy & pasted from
the BF52x, but never tweaked to reflect it.  So drop the old options as
they were never used (and were simply wrong), and add the BF51x specific
pieces to the Kconfig and header.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: bf54x: fix GPIO resume code
Mike Frysinger [Mon, 27 Jun 2011 21:23:48 +0000 (17:23 -0400)] 
Blackfin: bf54x: fix GPIO resume code

Back in commit c03c2a87347b849ec927d, we fixed logic in the non-bf54x
GPIO resume code to set the data levels properly before the direction
to avoid spurious line glitches.  But we missed the bf54x code paths.
So add the same fix there.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: dpmc: optimize SDRAM programming slightly
Mike Frysinger [Mon, 27 Jun 2011 19:46:40 +0000 (15:46 -0400)] 
Blackfin: dpmc: optimize SDRAM programming slightly

No need to reload these registers constantly since they're always
available (we're not making any function calls in between).

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: dpmc: don't save/restore scratch registers
Mike Frysinger [Mon, 27 Jun 2011 19:43:56 +0000 (15:43 -0400)] 
Blackfin: dpmc: don't save/restore scratch registers

The Blackfin C ABI says we do not need to save/restore R0-R3 and P0-P2
as they are available as scratch registers.  So don't bother.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: bf538: pull gpio/port logic out of core hibernate paths
Mike Frysinger [Mon, 27 Jun 2011 18:46:14 +0000 (14:46 -0400)] 
Blackfin: bf538: pull gpio/port logic out of core hibernate paths

Re-architect how we save/restore the gpio/port logic that only pertains
to bf538/bf539 parts by pulling it out of the core code paths and pushing
it out to bf538-specific locations.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: dpmc: optimize hibernate/resume path
Mike Frysinger [Mon, 27 Jun 2011 03:11:19 +0000 (23:11 -0400)] 
Blackfin: dpmc: optimize hibernate/resume path

The current save logic used in hibernation is to do a MMR load (base +
offset) into a register, and then push that onto the stack.  Then when
restoring, pop off the stack into a register followed by a MMR store
(base + offset).  These use plenty of 32bit insns rather than 16bit,
are pretty long winded, and full of pipeline bubbles.

So, by taking advantage of MMRs that are contiguous, the multi-register
push/pop insn, and register abuse, we can shrink this code considerably.

When saving, the new logic does a lot of loads into the data and pointer
registers before executing a single multi-register push insn.  Then when
restoring, we do a single multi-register pop insn followed by a lot of
stores.  Overall, this allows us to cut the insn count by ~30%, the code
size by ~45%, and drastically reduce the register hazards that trigger
bubbles in the pipeline.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: dpmc: do not save/restore EVT0/EVT1/EVT4 when hibernating
Mike Frysinger [Mon, 27 Jun 2011 06:57:44 +0000 (02:57 -0400)] 
Blackfin: dpmc: do not save/restore EVT0/EVT1/EVT4 when hibernating

EVT0 is for emulation, EVT1 is for reset, and EVT4 is the "global int
disable" region.  None of these are used by software (or even hardware),
so don't bother saving/restoring them when we hibernate since nothing
ever uses these in Linux (the only thing they would be useful for is
core-memory scratch, but that's just crazy talk).

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: dpmc: relocate hibernate helper macros
Mike Frysinger [Sun, 26 Jun 2011 18:11:24 +0000 (14:11 -0400)] 
Blackfin: dpmc: relocate hibernate helper macros

This defines only get used in the hibernate code, so remove them from the
global dpmc header as no one else cares.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: dpmc: omit RETE/RETN when hibernating
Mike Frysinger [Sun, 26 Jun 2011 18:08:27 +0000 (14:08 -0400)] 
Blackfin: dpmc: omit RETE/RETN when hibernating

The RETE/RETN registers are only used in emulation(JTAG) and NMI nodes,
or as scratch registers, neither of which need to be saved/restored as
this code doesn't execute at those core event levels.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: dpmc: optimize SIC_IWR programming a little
Mike Frysinger [Sun, 26 Jun 2011 18:07:17 +0000 (14:07 -0400)] 
Blackfin: dpmc: optimize SIC_IWR programming a little

For parts with more than one SIC_IWR, we can optimize the writing
a little bit using better Blackfin insns.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: gpio/ints: generalize pint logic
Mike Frysinger [Sun, 26 Jun 2011 17:56:23 +0000 (13:56 -0400)] 
Blackfin: gpio/ints: generalize pint logic

Have the logic that uses peripheral interrupt blocks key off of pint
defines rather than CPU names so that things are generalized across
families.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: dpmc: bind to MMR names and not CPUs
Mike Frysinger [Sun, 26 Jun 2011 17:55:24 +0000 (13:55 -0400)] 
Blackfin: dpmc: bind to MMR names and not CPUs

Have the code work off of MMR names rather than CPU defines so there is
less code to tweak in the future with new parts.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: debug-mmrs: generalize pint logic
Mike Frysinger [Sun, 26 Jun 2011 17:49:50 +0000 (13:49 -0400)] 
Blackfin: debug-mmrs: generalize pint logic

Don't bind the code to specific CPU defines.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: bf54x: switch to common pint MMR struct
Mike Frysinger [Sun, 26 Jun 2011 17:22:05 +0000 (13:22 -0400)] 
Blackfin: bf54x: switch to common pint MMR struct

We have a struct in the headers describing the register layout, so
drop the local duplicate one.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: bf54x: tweak MMR pint names
Mike Frysinger [Sun, 26 Jun 2011 17:00:55 +0000 (13:00 -0400)] 
Blackfin: bf54x: tweak MMR pint names

The hardware block uses the name "request" rather than "irq", so update
the struct accordingly.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: bf54x: constify pint register array
Mike Frysinger [Sun, 26 Jun 2011 16:48:52 +0000 (12:48 -0400)] 
Blackfin: bf54x: constify pint register array

The array of pointers to register blocks never changes, so constify it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: gpio: punt unused GPIO_# defines
Mike Frysinger [Sun, 26 Jun 2011 16:30:59 +0000 (12:30 -0400)] 
Blackfin: gpio: punt unused GPIO_# defines

These defines don't accomplish much as GPIO_# is the same thing as #.
Each CPU already provides helpful symbolic defines like GPIO_<PIN>
which everyone uses, so just punt these # ones.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: convert unicode space gremlins
Mike Frysinger [Fri, 17 Jun 2011 21:54:40 +0000 (17:54 -0400)] 
Blackfin: convert unicode space gremlins

Not sure how these guys slipped in, but they're annoying me.
So bring these unicode space gremlins down to earth to normal
ascii spaces.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: pwm: implement linux/pwm.h API
Mike Frysinger [Wed, 15 Jun 2011 20:55:39 +0000 (16:55 -0400)] 
Blackfin: pwm: implement linux/pwm.h API

For now, this only supports gptimers.  Support for dedicated PWM devices
as found on newer parts to come.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: gptimers: add enable/disable by timer id
Mike Frysinger [Fri, 17 Jun 2011 15:45:23 +0000 (11:45 -0400)] 
Blackfin: gptimers: add enable/disable by timer id

The API is geared around timer ids, except for the act of enabling
and disabling timers.  So add a small helper to fill out the gap.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoBlackfin: make sure percpu section is aligned in XIP builds
Steven Miao [Thu, 16 Jun 2011 10:01:20 +0000 (18:01 +0800)] 
Blackfin: make sure percpu section is aligned in XIP builds

The alignment is normally handled by PERCPU(), but we need to do it
ourselves in the XIP build due to the custom layout.

Signed-off-by: Steven Miao <realmz6@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This page took 0.048008 seconds and 5 git commands to generate.