]> Git Repo - linux.git/log
linux.git
12 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph...
Linus Torvalds [Fri, 1 Mar 2013 01:43:09 +0000 (17:43 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client

Pull Ceph updates from Sage Weil:
 "A few groups of patches here.  Alex has been hard at work improving
  the RBD code, layout groundwork for understanding the new formats and
  doing layering.  Most of the infrastructure is now in place for the
  final bits that will come with the next window.

  There are a few changes to the data layout.  Jim Schutt's patch fixes
  some non-ideal CRUSH behavior, and a set of patches from me updates
  the client to speak a newer version of the protocol and implement an
  improved hashing strategy across storage nodes (when the server side
  supports it too).

  A pair of patches from Sam Lang fix the atomicity of open+create
  operations.  Several patches from Yan, Zheng fix various mds/client
  issues that turned up during multi-mds torture tests.

  A final set of patches expose file layouts via virtual xattrs, and
  allow the policies to be set on directories via xattrs as well
  (avoiding the awkward ioctl interface and providing a consistent
  interface for both kernel mount and ceph-fuse users)."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (143 commits)
  libceph: add support for HASHPSPOOL pool flag
  libceph: update osd request/reply encoding
  libceph: calculate placement based on the internal data types
  ceph: update support for PGID64, PGPOOL3, OSDENC protocol features
  ceph: update "ceph_features.h"
  libceph: decode into cpu-native ceph_pg type
  libceph: rename ceph_pg -> ceph_pg_v1
  rbd: pass length, not op for osd completions
  rbd: move rbd_osd_trivial_callback()
  libceph: use a do..while loop in con_work()
  libceph: use a flag to indicate a fault has occurred
  libceph: separate non-locked fault handling
  libceph: encapsulate connection backoff
  libceph: eliminate sparse warnings
  ceph: eliminate sparse warnings in fs code
  rbd: eliminate sparse warnings
  libceph: define connection flag helpers
  rbd: normalize dout() calls
  rbd: barriers are hard
  rbd: ignore zero-length requests
  ...

12 years agoNFSv4.1: LAYOUTGET EDELAY loops timeout to the MDS
Weston Andros Adamson [Fri, 1 Mar 2013 01:30:10 +0000 (20:30 -0500)]
NFSv4.1: LAYOUTGET EDELAY loops timeout to the MDS

The client will currently try LAYOUTGETs forever if a server is returning
NFS4ERR_LAYOUTTRYLATER or NFS4ERR_RECALLCONFLICT - even if the client no
longer needs the layout (ie process killed, unmounted).

This patch uses the DS timeout value (module parameter 'dataserver_timeo'
via rpc layer) to set an upper limit of how long the client tries LATOUTGETs
in this situation.  Once the timeout is reached, IO is redirected to the MDS.

This also changes how the client checks if a layout is on the clp list
to avoid a double list_add.

Signed-off-by: Weston Andros Adamson <[email protected]>
Signed-off-by: Trond Myklebust <[email protected]>
12 years agoSUNRPC: add call to get configured timeout
Weston Andros Adamson [Fri, 1 Mar 2013 01:30:09 +0000 (20:30 -0500)]
SUNRPC: add call to get configured timeout

Returns the configured timeout for the xprt of the rpc client.

Signed-off-by: Weston Andros Adamson <[email protected]>
Signed-off-by: Trond Myklebust <[email protected]>
12 years agoPNFS: set the default DS timeout to 60 seconds
Weston Andros Adamson [Fri, 1 Mar 2013 01:30:08 +0000 (20:30 -0500)]
PNFS: set the default DS timeout to 60 seconds

The client should have 60 second default timeouts for DS operations, not 6
seconds.

NFS4_DEF_DS_TIMEO is used as "timeout in tenths of a second" in
nfs_init_timeout_values (and is not used anywhere else).
This matches up with the description of the module param dataserver_timeo.

Signed-off-by: Weston Andros Adamson <[email protected]>
Signed-off-by: Trond Myklebust <[email protected]>
12 years agoNFSv4: Fix another open/open_recovery deadlock
Trond Myklebust [Fri, 1 Mar 2013 00:19:59 +0000 (16:19 -0800)]
NFSv4: Fix another open/open_recovery deadlock

If we don't release the open seqid before we wait for state recovery,
then we may end up deadlocking the state recovery thread.
This patch addresses a new deadlock that was introduced by
commit c21443c2c792cd9b463646d982b0fe48aa6feb0f (NFSv4: Fix a reboot
recovery race when opening a file)

Reported-by: Andy Adamson <[email protected]>
Signed-off-by: Trond Myklebust <[email protected]>
12 years agoMerge tag 'writeback-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg...
Linus Torvalds [Thu, 28 Feb 2013 21:21:44 +0000 (13:21 -0800)]
Merge tag 'writeback-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux

Pull writeback fixes from Wu Fengguang:
 "Two writeback fixes

   - fix negative (setpoint - dirty) in 32bit archs

   - use down_read_trylock() in writeback_inodes_sb(_nr)_if_idle()"

* tag 'writeback-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
  Negative (setpoint-dirty) in bdi_position_ratio()
  vfs: re-implement writeback_inodes_sb(_nr)_if_idle() and rename them

12 years agoMerge branch 'for-3.9/drivers' of git://git.kernel.dk/linux-block
Linus Torvalds [Thu, 28 Feb 2013 21:16:07 +0000 (13:16 -0800)]
Merge branch 'for-3.9/drivers' of git://git.kernel.dk/linux-block

Pull block driver bits from Jens Axboe:
 "After the block IO core bits are in, please grab the driver updates
  from below as well.  It contains:

   - Fix ancient regression in dac960.  Nobody must be using that
     anymore...

   - Some good fixes from Guo Ghao for loop, fixing both potential
     oopses and deadlocks.

   - Improve mtip32xx for NUMA systems, by being a bit more clever in
     distributing work.

   - Add IBM RamSan 70/80 driver.  A second round of fixes for that is
     pending, that will come in through for-linus during the 3.9 cycle
     as per usual.

   - A few xen-blk{back,front} fixes from Konrad and Roger.

   - Other minor fixes and improvements."

* 'for-3.9/drivers' of git://git.kernel.dk/linux-block:
  loopdev: ignore negative offset when calculate loop device size
  loopdev: remove an user triggerable oops
  loopdev: move common code into loop_figure_size()
  loopdev: update block device size in loop_set_status()
  loopdev: fix a deadlock
  xen-blkback: use balloon pages for persistent grants
  xen-blkfront: drop the use of llist_for_each_entry_safe
  xen/blkback: Don't trust the handle from the frontend.
  xen-blkback: do not leak mode property
  block: IBM RamSan 70/80 driver fixes
  rsxx: add slab.h include to dma.c
  drivers/block/mtip32xx: add missing GENERIC_HARDIRQS dependency
  block: remove new __devinit/exit annotations on ramsam driver
  block: IBM RamSan 70/80 device driver
  drivers/block/mtip32xx/mtip32xx.c:1726:5: sparse: symbol 'mtip_send_trim' was not declared. Should it be static?
  drivers/block/mtip32xx/mtip32xx.c:4029:1: sparse: symbol 'mtip_workq_sdbf0' was not declared. Should it be static?
  dac960: return success instead of -ENOTTY
  mtip32xx: add trim support
  mtip32xx: Add workqueue and NUMA support
  block: delete super ancient PC-XT driver for 1980's hardware

12 years agoMerge branch 'for-3.9/core' of git://git.kernel.dk/linux-block
Linus Torvalds [Thu, 28 Feb 2013 20:52:24 +0000 (12:52 -0800)]
Merge branch 'for-3.9/core' of git://git.kernel.dk/linux-block

Pull block IO core bits from Jens Axboe:
 "Below are the core block IO bits for 3.9.  It was delayed a few days
  since my workstation kept crashing every 2-8h after pulling it into
  current -git, but turns out it is a bug in the new pstate code (divide
  by zero, will report separately).  In any case, it contains:

   - The big cfq/blkcg update from Tejun and and Vivek.

   - Additional block and writeback tracepoints from Tejun.

   - Improvement of the should sort (based on queues) logic in the plug
     flushing.

   - _io() variants of the wait_for_completion() interface, using
     io_schedule() instead of schedule() to contribute to io wait
     properly.

   - Various little fixes.

  You'll get two trivial merge conflicts, which should be easy enough to
  fix up"

Fix up the trivial conflicts due to hlist traversal cleanups (commit
b67bfe0d42ca: "hlist: drop the node parameter from iterators").

* 'for-3.9/core' of git://git.kernel.dk/linux-block: (39 commits)
  block: remove redundant check to bd_openers()
  block: use i_size_write() in bd_set_size()
  cfq: fix lock imbalance with failed allocations
  drivers/block/swim3.c: fix null pointer dereference
  block: don't select PERCPU_RWSEM
  block: account iowait time when waiting for completion of IO request
  sched: add wait_for_completion_io[_timeout]
  writeback: add more tracepoints
  block: add block_{touch|dirty}_buffer tracepoint
  buffer: make touch_buffer() an exported function
  block: add @req to bio_{front|back}_merge tracepoints
  block: add missing block_bio_complete() tracepoint
  block: Remove should_sort judgement when flush blk_plug
  block,elevator: use new hashtable implementation
  cfq-iosched: add hierarchical cfq_group statistics
  cfq-iosched: collect stats from dead cfqgs
  cfq-iosched: separate out cfqg_stats_reset() from cfq_pd_reset_stats()
  blkcg: make blkcg_print_blkgs() grab q locks instead of blkcg lock
  block: RCU free request_queue
  blkcg: implement blkg_[rw]stat_recursive_sum() and blkg_[rw]stat_merge()
  ...

12 years agoMerge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Linus Torvalds [Thu, 28 Feb 2013 20:43:43 +0000 (12:43 -0800)]
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull first round of SCSI updates from James Bottomley:
 "The patch set is mostly driver updates (bnx2fc, ipr, lpfc, qla4) and a
  few bug fixes"

Pull delayed because google hates James, and sneakily considers his pull
requests spam. Why, google, why?

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (60 commits)
  [SCSI] aacraid: 1024 max outstanding command support for Series 7 and above
  [SCSI] bnx2fc: adjust duplicate test
  [SCSI] qla4xxx: Update driver version to 5.03.00-k4
  [SCSI] qla4xxx: Fix return code for qla4xxx_session_get_param.
  [SCSI] qla4xxx: wait for boot target login response during probe.
  [SCSI] qla4xxx: Added support for force firmware dump
  [SCSI] qla4xxx: Re-register IRQ handler while retrying initialize of adapter
  [SCSI] qla4xxx: Throttle active IOCBs to firmware limits
  [SCSI] qla4xxx: Remove unnecessary code from qla4xxx_init_local_data
  [SCSI] qla4xxx: Quiesce driver activities while loopback
  [SCSI] qla4xxx: Rename MBOX_ASTS_IDC_NOTIFY to MBOX_ASTS_IDC_REQUEST_NOTIFICATION
  [SCSI] qla4xxx: Add spurious interrupt messages under debug level 2
  [SCSI] cxgb4i: Remove the scsi host device when removing device
  [SCSI] bfa: fix strncpy() limiter in bfad_start_ops()
  [SCSI] qla4xxx: Update driver version to 5.03.00-k3
  [SCSI] qla4xxx: Correct the validation to check in get_sys_info mailbox
  [SCSI] qla4xxx: Pass correct function param to qla4_8xxx_rd_direct
  [SCSI] lpfc 8.3.37: Update lpfc version for 8.3.37 driver release
  [SCSI] lpfc 8.3.37: Fixed infinite loop in lpfc_sli4_fcf_rr_next_index_get.
  [SCSI] lpfc 8.3.37: Fixed crash due to SLI Port invalid resource count
  ...

12 years agonet/phy: micrel: Disable asymmetric pause for KSZ9021
Vlastimil Kosar [Thu, 28 Feb 2013 08:45:22 +0000 (08:45 +0000)]
net/phy: micrel: Disable asymmetric pause for KSZ9021

Phyter KSZ9021 has hardware bug. If asymmetric pause is enabled,
then it is necessary to disconnect and then reconnect the ethernet
cable to get the phyter working. The solution is to disable the
asymmetric pause.

Signed-off-by: Vlastimil Kosar <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
12 years agobgmac: omit the fcs
Hauke Mehrtens [Thu, 28 Feb 2013 07:16:54 +0000 (07:16 +0000)]
bgmac: omit the fcs

Do not include the frame check sequence when adding the skb to
netif_receive_skb(). This causes problems when this interface was
bridged to a wifi ap and a big package should be forwarded from this
Ethernet driver through a bride to the wifi client.

Signed-off-by: Hauke Mehrtens <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
12 years agophy: Fix phy_device_free memory leak
Petr Malat [Thu, 28 Feb 2013 01:01:52 +0000 (01:01 +0000)]
phy: Fix phy_device_free memory leak

Fix memory leak in phy_device_free() for the case when phy_device*
returned by phy_device_create() is not registered in the system.

Bug description:
phy_device_create() sets name of kobject using dev_set_name(), which
allocates memory using kvasprintf(), but this memory isn't freed if
the underlying device isn't registered properly, because kobject_cleanup()
is not called in that case. This can happen (and actually is happening on
our machines) if phy_device_register(), called by mdiobus_scan(), fails.

Patch description:
Embedded struct device is initialized in phy_device_create() and it
counterpart phy_device_free() just drops one reference to the device,
which leads to proper deinitialization including releasing the kobject
name memory.

Signed-off-by: Petr Malat <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
12 years agobnx2x: Fix KR2 work-around condition
Yaniv Rosner [Wed, 27 Feb 2013 13:06:46 +0000 (13:06 +0000)]
bnx2x: Fix KR2 work-around condition

Fix condition typo for running KR2 work-around though it doesn't have
real effect since the typo bits matched by chance.

Signed-off-by: Yaniv Rosner <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
12 years agobnx2x: Fix KR2 link
Yaniv Rosner [Wed, 27 Feb 2013 13:06:45 +0000 (13:06 +0000)]
bnx2x: Fix KR2 link

Fix KR2 link down problem after reboot when link speed is reconfigured via ethtool.
Since 1G/10G support link speed were missing by default, 1G/10G link speed were
not advertised.

Signed-off-by: Yaniv Rosner <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
12 years agobnx2x: Fix port identification for the 84834
Yaniv Rosner [Wed, 27 Feb 2013 13:06:44 +0000 (13:06 +0000)]
bnx2x: Fix port identification for the 84834

Fix the "ethtool -p" for boards with BCM84834, by using LED4 of the PHY
to toggle the link LED while keeping interrupt disabled to avoid NIG attentions,
and at the end restore NIG to previous state.

Signed-off-by: Yaniv Rosner <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
12 years agor8169: honor jumbo settings when chipset is requested to start.
françois romieu [Wed, 27 Feb 2013 13:01:57 +0000 (13:01 +0000)]
r8169: honor jumbo settings when chipset is requested to start.

Some hardware start settings implicitely assume an usual 1500 bytes mtu
that can't be guaranteed because changes of mtu may be requested both
before and after the hardware is started.

Reported-by: Tomi Orava <[email protected]>
Signed-off-by: Francois Romieu <[email protected]>
Cc: Hayes Wang <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
12 years agotcp: avoid wakeups for pure ACK
Eric Dumazet [Wed, 27 Feb 2013 07:05:03 +0000 (07:05 +0000)]
tcp: avoid wakeups for pure ACK

TCP prequeue mechanism purpose is to let incoming packets
being processed by the thread currently blocked in tcp_recvmsg(),
instead of behalf of the softirq handler, to better adapt flow
control on receiver host capacity to schedule the consumer.

But in typical request/answer workloads, we send request, then
block to receive the answer. And before the actual answer, TCP
stack receives the ACK packets acknowledging the request.

Processing pure ACK on behalf of the thread blocked in tcp_recvmsg()
is a waste of resources, as thread has to immediately sleep again
because it got no payload.

This patch avoids the extra context switches and scheduler overhead.

Before patch :

a:~# echo 0 >/proc/sys/net/ipv4/tcp_low_latency
a:~# perf stat ./super_netperf 300 -t TCP_RR -l 10 -H 7.7.7.84 -- -r 8k,8k
231676

 Performance counter stats for './super_netperf 300 -t TCP_RR -l 10 -H 7.7.7.84 -- -r 8k,8k':

     116251.501765 task-clock                #   11.369 CPUs utilized
         5,025,463 context-switches          #    0.043 M/sec
         1,074,511 CPU-migrations            #    0.009 M/sec
           216,923 page-faults               #    0.002 M/sec
   311,636,972,396 cycles                    #    2.681 GHz
   260,507,138,069 stalled-cycles-frontend   #   83.59% frontend cycles idle
   155,590,092,840 stalled-cycles-backend    #   49.93% backend  cycles idle
   100,101,255,411 instructions              #    0.32  insns per cycle
                                             #    2.60  stalled cycles per insn
    16,535,930,999 branches                  #  142.243 M/sec
       646,483,591 branch-misses             #    3.91% of all branches

      10.225482774 seconds time elapsed

After patch :

a:~# echo 0 >/proc/sys/net/ipv4/tcp_low_latency
a:~# perf stat ./super_netperf 300 -t TCP_RR -l 10 -H 7.7.7.84 -- -r 8k,8k
233297

 Performance counter stats for './super_netperf 300 -t TCP_RR -l 10 -H 7.7.7.84 -- -r 8k,8k':

      91084.870855 task-clock                #    8.887 CPUs utilized
         2,485,916 context-switches          #    0.027 M/sec
           815,520 CPU-migrations            #    0.009 M/sec
           216,932 page-faults               #    0.002 M/sec
   245,195,022,629 cycles                    #    2.692 GHz
   202,635,777,041 stalled-cycles-frontend   #   82.64% frontend cycles idle
   124,280,372,407 stalled-cycles-backend    #   50.69% backend  cycles idle
    83,457,289,618 instructions              #    0.34  insns per cycle
                                             #    2.43  stalled cycles per insn
    13,431,472,361 branches                  #  147.461 M/sec
       504,470,665 branch-misses             #    3.76% of all branches

      10.249594448 seconds time elapsed

Signed-off-by: Eric Dumazet <[email protected]>
Cc: Neal Cardwell <[email protected]>
Cc: Tom Herbert <[email protected]>
Cc: Yuchung Cheng <[email protected]>
Cc: Andi Kleen <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
12 years agoMerge branch 'sctp'
David S. Miller [Thu, 28 Feb 2013 20:34:36 +0000 (15:34 -0500)]
Merge branch 'sctp'

Lee A. Roberts says:

====================
This series of patches resolves several SCTP association hangs observed during
SCTP stress testing.  Observable symptoms include communications hangs with
data being held in the association reassembly and/or lobby (ordering) queues.
Close examination of reassembly/ordering queues may show either duplicated
or missing packets.

In version #2, corrected build failure in initial version of patch series
due to wrong calling sequence for sctp_ulpq_partial_delivery() being inserted
in sctp_ulpq_renege().

In version #3, adjusted patch documentation to be less repetitive.
====================

Signed-off-by: David S. Miller <[email protected]>
12 years agosctp: fix association hangs due to partial delivery errors
Lee A. Roberts [Thu, 28 Feb 2013 04:37:30 +0000 (04:37 +0000)]
sctp: fix association hangs due to partial delivery errors

In sctp_ulpq_tail_data(), use return values 0,1 to indicate whether
a complete event (with MSG_EOR set) was delivered.  A return value
of -ENOMEM continues to indicate an out-of-memory condition was
encountered.

In sctp_ulpq_retrieve_partial() and sctp_ulpq_retrieve_first(),
correct message reassembly logic for SCTP partial delivery.
Change logic to ensure that as much data as possible is sent
with the initial partial delivery and that following partial
deliveries contain all available data.

In sctp_ulpq_partial_delivery(), attempt partial delivery only
if the data on the head of the reassembly queue is at or before
the cumulative TSN ACK point.

In sctp_ulpq_renege(), use the modified return values from
sctp_ulpq_tail_data() to choose whether to attempt partial
delivery or to attempt to drain the reassembly queue as a
means to reduce memory pressure.  Remove call to
sctp_tsnmap_mark(), as this is handled correctly in call to
sctp_ulpq_tail_data().

Signed-off-by: Lee A. Roberts <[email protected]>
Acked-by: Vlad Yasevich <[email protected]>
Acked-by: Neil Horman <[email protected]>
12 years agosctp: fix association hangs due to errors when reneging events from the ordering...
Lee A. Roberts [Thu, 28 Feb 2013 04:37:29 +0000 (04:37 +0000)]
sctp: fix association hangs due to errors when reneging events from the ordering queue

In sctp_ulpq_renege_list(), events being reneged from the
ordering queue may correspond to multiple TSNs.  Identify
all affected packets; sum freed space and renege from the
tsnmap.

Signed-off-by: Lee A. Roberts <[email protected]>
Acked-by: Vlad Yasevich <[email protected]>
Acked-by: Neil Horman <[email protected]>
12 years agosctp: fix association hangs due to reneging packets below the cumulative TSN ACK...
Lee A. Roberts [Thu, 28 Feb 2013 04:37:28 +0000 (04:37 +0000)]
sctp: fix association hangs due to reneging packets below the cumulative TSN ACK point

In sctp_ulpq_renege_list(), do not renege packets below the
cumulative TSN ACK point.

Signed-off-by: Lee A. Roberts <[email protected]>
Acked-by: Vlad Yasevich <[email protected]>
Acked-by: Neil Horman <[email protected]>
12 years agosctp: fix association hangs due to off-by-one errors in sctp_tsnmap_grow()
Lee A. Roberts [Thu, 28 Feb 2013 04:37:27 +0000 (04:37 +0000)]
sctp: fix association hangs due to off-by-one errors in sctp_tsnmap_grow()

In sctp_tsnmap_mark(), correct off-by-one error when calculating
size value for sctp_tsnmap_grow().

In sctp_tsnmap_grow(), correct off-by-one error when copying
and resizing the tsnmap.  If max_tsn_seen is in the LSB of the
word, this bit can be lost, causing the corresponding packet
to be transmitted again and to be entered as a duplicate into
the SCTP reassembly/ordering queues.  Change parameter name
from "gap" (zero-based index) to "size" (one-based) to enhance
code readability.

Signed-off-by: Lee A. Roberts <[email protected]>
Acked-by: Vlad Yasevich <[email protected]>
Acked-by: Neil Horman <[email protected]>
12 years agoirq: Don't re-enable interrupts at the end of irq_exit
Frederic Weisbecker [Thu, 28 Feb 2013 19:00:43 +0000 (20:00 +0100)]
irq: Don't re-enable interrupts at the end of irq_exit

Commit 74eed0163d0def3fce27228d9ccf3d36e207b286
"irq: Ensure irq_exit() code runs with interrupts disabled"
restore interrupts flags in the end of irq_exit() for archs
that don't define __ARCH_IRQ_EXIT_IRQS_DISABLED.

However always returning from irq_exit() with interrupts
disabled should not be a problem for these archs. Prior to
this commit this was already happening anytime we processed
pending softirqs anyway.

Suggested-by: Linus Torvalds <[email protected]>
Signed-off-by: Frederic Weisbecker <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Paul E. McKenney <[email protected]>
12 years agobtrfs: use only inline_pages from extent buffer
David Sterba [Thu, 28 Feb 2013 14:54:18 +0000 (14:54 +0000)]
btrfs: use only inline_pages from extent buffer

The nodesize is capped at 64k and there are enough pages preallocated in
extent_buffer::inline_pages. The fallback to kmalloc never happened
because even on the smallest page size considered (4k) inline_pages
covered the needs.

Signed-off-by: David Sterba <[email protected]>
Signed-off-by: Josef Bacik <[email protected]>
12 years agoBtrfs: fix wrong reserved space when deleting a snapshot/subvolume
Miao Xie [Thu, 28 Feb 2013 10:05:36 +0000 (10:05 +0000)]
Btrfs: fix wrong reserved space when deleting a snapshot/subvolume

When deleting a snapshot/subvolume, we need remove root ref/backref,
dir entries and update the dir inode, so we must reserve free space
for those operations.

Signed-off-by: Miao Xie <[email protected]>
Signed-off-by: Josef Bacik <[email protected]>
12 years agoBtrfs: fix wrong reserved space in qgroup during snap/subv creation
Miao Xie [Thu, 28 Feb 2013 10:04:33 +0000 (10:04 +0000)]
Btrfs: fix wrong reserved space in qgroup during snap/subv creation

There are two problems in the space reservation of the snapshot/
subvolume creation.
- don't reserve the space for the root item insertion
- the space which is reserved in the qgroup is different with
  the free space reservation. we need reserve free space for
  7 items, but in qgroup reservation, we need reserve space only
  for 3 items.

So we implement new metadata reservation functions for the
snapshot/subvolume creation.

Signed-off-by: Miao Xie <[email protected]>
Signed-off-by: Josef Bacik <[email protected]>
12 years agoBtrfs: remove unnecessary dget_parent/dput when creating the pending snapshot
Miao Xie [Thu, 28 Feb 2013 10:01:15 +0000 (10:01 +0000)]
Btrfs: remove unnecessary dget_parent/dput when creating the pending snapshot

Since we have grabbed the parent inode at the beginning of the
snapshot creation, and both sync and async snapshot creation
release it after the pending snapshots are actually created,
it is safe to access the parent inode directly during the snapshot
creation, we needn't use dget_parent/dput to fix the parent dentry
and get the dir inode.

Signed-off-by: Miao Xie <[email protected]>
Signed-off-by: Josef Bacik <[email protected]>
12 years agobtrfs: remove a printk from scan_one_device
David Sterba [Wed, 27 Feb 2013 23:13:55 +0000 (23:13 +0000)]
btrfs: remove a printk from scan_one_device

Dave pointed out that he saw messages from btrfs although there was no
such filesystem on his computers. The automatic device scan is called on
every new blockdevice if the usual distro udev rule set is used. The
printk introduced in 6f60cbd3ae442c was a remainder from copying
portions of code from btrfs_get_bdev_and_sb which is used under
different conditions and the warning makes sense there.

Reported-by: Dave Chinner <[email protected]>
Signed-off-by: David Sterba <[email protected]>
Signed-off-by: Josef Bacik <[email protected]>
12 years agoBtrfs: fix NULL pointer after aborting a transaction
Liu Bo [Wed, 27 Feb 2013 13:28:25 +0000 (13:28 +0000)]
Btrfs: fix NULL pointer after aborting a transaction

While doing cleanup work on an aborted transaction, we've set
the global running transaction pointer to NULL _before_ waiting all
other transaction handles to finish, so others'd hit NULL pointer
crash when referencing the global running transaction pointer.

This first sets a hint to avoid new transaction handle joining, then
waits other existing handles to abort or finish so that we can safely
set the above global pointer to NULL.

Signed-off-by: Liu Bo <[email protected]>
Signed-off-by: Josef Bacik <[email protected]>
12 years agoBtrfs: fix memory leak of log roots
Liu Bo [Wed, 27 Feb 2013 13:28:24 +0000 (13:28 +0000)]
Btrfs: fix memory leak of log roots

When we abort a transaction while fsyncing, we'll skip freeing log roots
part of committing a transaction, which leads to memory leak.

This adds a 'free log roots' in putting super when no more users hold
references on log roots, so it's safe and clean.

Signed-off-by: Liu Bo <[email protected]>
Signed-off-by: Josef Bacik <[email protected]>
12 years agoBtrfs: copy everything if we've created an inline extent
Josef Bacik [Thu, 28 Feb 2013 18:23:38 +0000 (13:23 -0500)]
Btrfs: copy everything if we've created an inline extent

I noticed while looking into a tree logging bug that we aren't logging inline
extents properly.  Since this requires copying and it shouldn't happen too often
just force us to copy everything for the inode into the tree log when we have an
inline extent.  With this patch we have valid data after a crash when we write
an inline extent.  Thanks,

Cc: [email protected]
Signed-off-by: Josef Bacik <[email protected]>
12 years agoarm: mvebu: enable the SD card slot on Armada 370 Reference Design board
Florian Fainelli [Fri, 1 Feb 2013 10:38:28 +0000 (11:38 +0100)]
arm: mvebu: enable the SD card slot on Armada 370 Reference Design board

The Armada 370 Reference Design board has one SD card slot, directly
connected to the SDIO IP of the SoC, so we enable this IP. there are no
GPIOs for card-detect and write-protect so we do not specify any.

Signed-off-by: Florian Fainelli <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: kirkwood: topkick: init mvsdio via DT
Jason Cooper [Sat, 26 Jan 2013 20:50:10 +0000 (20:50 +0000)]
ARM: kirkwood: topkick: init mvsdio via DT

Signed-off-by: Jason Cooper <[email protected]>
Tested-by: Andrew Lunn <[email protected]>
12 years agoARM: kirkwood: nsa310: convert to pinctrl
Jason Cooper [Sat, 26 Jan 2013 20:50:14 +0000 (20:50 +0000)]
ARM: kirkwood: nsa310: convert to pinctrl

Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Kirkwood: topkick: Enable i2c bus.
Andrew Lunn [Sat, 26 Jan 2013 20:50:12 +0000 (20:50 +0000)]
ARM: Kirkwood: topkick: Enable i2c bus.

Add a DT node for I2C and pinctrl hog for the pins. There appears to
be an i2c bus on topkick with a device on it:

i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- 64 -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Signed-off-by: Andrew Lunn <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: kirkwood: topkick: convert to pinctrl
Jason Cooper [Sat, 26 Jan 2013 20:50:11 +0000 (20:50 +0000)]
ARM: kirkwood: topkick: convert to pinctrl

Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: dove: convert serial DT nodes to clocks property
Sebastian Hesselbarth [Tue, 29 Jan 2013 20:59:46 +0000 (21:59 +0100)]
ARM: dove: convert serial DT nodes to clocks property

of_serial now has support for using clocks property and we have
a DT clock provider. This patch replaces the hard coded clock-frequency
property with a clocks phandle to tclk.

Signed-off-by: Sebastian Hesselbarth <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: Add SPI flash on Armada 370 DB board
Gregory CLEMENT [Tue, 5 Feb 2013 20:54:55 +0000 (21:54 +0100)]
arm: mvebu: Add SPI flash on Armada 370 DB board

This patch add support for the SPI flash MX25l25635E which is present
on the Armada 370 DB board. This flash stores the bootloader and its
environment.

Signed-off-by: Gregory CLEMENT <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: Add SPI flash on Armada XP-DB board
Gregory CLEMENT [Tue, 5 Feb 2013 20:54:54 +0000 (21:54 +0100)]
arm: mvebu: Add SPI flash on Armada XP-DB board

This patch add support for the SPI flash M25P64 which is present on
the Armada XP DB board. This flash stores the bootloader and its
environment.

Signed-off-by: Gregory CLEMENT <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: Add SPI flash on Armada XP-GP board
Ezequiel Garcia [Wed, 6 Feb 2013 13:06:23 +0000 (10:06 -0300)]
arm: mvebu: Add SPI flash on Armada XP-GP board

This patch adds an SPI master device node for Armada XP-GP board.
This master node is an SPI flash controller 'n25q128a13'.

Since there is no 'partitions' node declared, one full sized
partition named as the device will be created.

Cc: Thomas Petazzoni <[email protected]>
Cc: Lior Amsalem <[email protected]>
Tested-by: Gregory Clement <[email protected]>
Signed-off-by: Ezequiel Garcia <[email protected]>
Acked-by: Gregory Clement <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: Add support for SPI controller in Armada 370/XP
Ezequiel Garcia [Wed, 6 Feb 2013 13:06:21 +0000 (10:06 -0300)]
arm: mvebu: Add support for SPI controller in Armada 370/XP

The Armada 370 and Armada XP SoC has an SPI controller.
This patch adds support for this controller in Armada 370
and Armada XP SoC common device tree files.

Note that the Armada XP SPI register length is 0x50 bytes,
while Armada 370 SPI register length is 0x28 bytes,
so we choose the smaller of the two.

Cc: Thomas Petazzoni <[email protected]>
Cc: Lior Amsalem <[email protected]>
Acked-by: Gregory Clement <[email protected]>
Signed-off-by: Ezequiel Garcia <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoclocksource: update and move armada-370-xp-timer documentation to timer directory
Gregory CLEMENT [Fri, 25 Jan 2013 17:32:45 +0000 (18:32 +0100)]
clocksource: update and move armada-370-xp-timer documentation to timer directory

Timer driver for Armada 370 and Armada XP have gained local timers
support. So it needs new resources information regarding the IRQs
and the registers.

Also move the documentation in the new and more accurate directory

Signed-off-by: Gregory CLEMENT <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: update DT to support local timers
Gregory CLEMENT [Fri, 25 Jan 2013 17:32:44 +0000 (18:32 +0100)]
arm: mvebu: update DT to support local timers

Now that the time-armada-370-xp support local timers, updated the
device tree to take it into account.

Signed-off-by: Gregory CLEMENT <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Dove: convert usb host controller to DT
Sebastian Hesselbarth [Mon, 28 Jan 2013 15:54:08 +0000 (16:54 +0100)]
ARM: Dove: convert usb host controller to DT

With DT support for orion-ehci also convert Dove to it and
remove the legacy calls and clock aliases.

This patch is based on "ARM: Dove: split legacy and DT setup"
applied to mvebu/boards recently.

Signed-off-by: Sebastian Hesselbarth <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: Enable USB controllers on Armada 370/XP boards
Ezequiel Garcia [Wed, 23 Jan 2013 15:26:31 +0000 (12:26 -0300)]
arm: mvebu: Enable USB controllers on Armada 370/XP boards

This patch activates every USB port provided by each SoC.
Except for Armada XP Openblocks AX3-4 board,
where we enable only the first two USB ports
until we have more information on the third one usage.

Cc: Lior Amsalem <[email protected]>
Cc: Thomas Petazzoni <[email protected]>
Cc: Gregory CLEMENT <[email protected]>
Tested-by: Nobuhiro Iwamatsu <[email protected]>
Tested-by: Florian Fainelli <[email protected]>
Signed-off-by: Ezequiel Garcia <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: Add support for USB host controllers in Armada 370/XP
Ezequiel Garcia [Wed, 23 Jan 2013 15:26:30 +0000 (12:26 -0300)]
arm: mvebu: Add support for USB host controllers in Armada 370/XP

The Armada 370 and Armada XP SoC has an Orion EHCI USB controller.
This patch adds support for this controller in Armada 370
and Armada XP SoC common device tree files.

Cc: Lior Amsalem <[email protected]>
Cc: Thomas Petazzoni <[email protected]>
Tested-by: Nobuhiro Iwamatsu <[email protected]>
Tested-by: Florian Fainelli <[email protected]>
Signed-off-by: Gregory CLEMENT <[email protected]>
Signed-off-by: Ezequiel Garcia <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: add button for OpenBlocks AX3-4
Thomas Petazzoni [Mon, 7 Jan 2013 16:29:58 +0000 (17:29 +0100)]
arm: mvebu: add button for OpenBlocks AX3-4

The OpenBlocks AX3-4 board has one software-controlled button on the
front side, labeled "INIT", so we add minimal support for this button
in the kernel.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Kirkwood: Convert NS2 to gpio-poweroff.
Andrew Lunn [Fri, 28 Dec 2012 14:14:10 +0000 (15:14 +0100)]
ARM: Kirkwood: Convert NS2 to gpio-poweroff.

Remove C code and add a Device Tree node in its place.

Signed-off-by: Andrew Lunn <[email protected]>
Tested-by: Simon Guinot <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Kirkwood: Convert NSA310 I2C to device tree
Andrew Lunn [Fri, 28 Dec 2012 14:08:50 +0000 (15:08 +0100)]
ARM: Kirkwood: Convert NSA310 I2C to device tree

Add a sub-node into the I2C node to represent the adt7476 device.

Signed-off-by: Andrew Lunn <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Kirkwood: Convert NSA310 to use gpio-poweroff driver
Andrew Lunn [Fri, 28 Dec 2012 14:08:49 +0000 (15:08 +0100)]
ARM: Kirkwood: Convert NSA310 to use gpio-poweroff driver

Remove the C code and add a Device Tree node for gpio-poweroff.

Signed-off-by: Andrew Lunn <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Kirkwood: Convert NSA310 to DT based regulators.
Andrew Lunn [Fri, 28 Dec 2012 14:08:48 +0000 (15:08 +0100)]
ARM: Kirkwood: Convert NSA310 to DT based regulators.

Signed-off-by: Andrew Lunn <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Dove: add fixed regulator for CuBox USB power
Sebastian Hesselbarth [Thu, 27 Dec 2012 22:21:59 +0000 (23:21 +0100)]
ARM: Dove: add fixed regulator for CuBox USB power

CuBox needs to enable USB power on a gpio pin. Add a fixed regulator
to always enable usb power on boot.

Signed-off-by: Sebastian Hesselbarth <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Dove: move CuBox led pinctrl to gpio-leds node
Sebastian Hesselbarth [Thu, 27 Dec 2012 22:21:10 +0000 (23:21 +0100)]
ARM: Dove: move CuBox led pinctrl to gpio-leds node

gpio-leds has support for pinctrl allocation, make use of it.

Signed-off-by: Sebastian Hesselbarth <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Kirkwood: Convert openblocks A6 board to pinctrl
Nobuhiro Iwamatsu [Sun, 23 Dec 2012 02:34:37 +0000 (11:34 +0900)]
ARM: Kirkwood: Convert openblocks A6 board to pinctrl

Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Kirkwood: Add pinctrl of NAND to 88f6282
Nobuhiro Iwamatsu [Sun, 23 Dec 2012 02:34:36 +0000 (11:34 +0900)]
ARM: Kirkwood: Add pinctrl of NAND to 88f6282

Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Kirkwood: Add pinctrl of TWSI1 to 88f6282
Nobuhiro Iwamatsu [Sun, 23 Dec 2012 02:34:34 +0000 (11:34 +0900)]
ARM: Kirkwood: Add pinctrl of TWSI1 to 88f6282

The 88f6282 has one more TWSI(TWSI1). This add the information to enable
pinctl of TWSI1.

Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
Acked-by: Andrew Lunn <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: kirkwood: add pinmux option for the SDIO interface on 88F6282
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:13 +0000 (15:49 +0100)]
arm: kirkwood: add pinmux option for the SDIO interface on 88F6282

This commit adds a pinmux option, pmx_sdio, to enable the muxing of
the SDIO interface on the 88F6282 SoC from Marvell.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: kirkwood: mplcec4: use Device Tree to probe SDIO
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:12 +0000 (15:49 +0100)]
arm: kirkwood: mplcec4: use Device Tree to probe SDIO

Now that the mvsdio driver has a Device Tree binding, and the SDIO
controller is declared in kirkwood.dtsi, migrate the mplcec4 board to
use the Device Tree to probe the SDIO controller and to mux the pins
of the SDIO interface correctly.

This patch has not been tested, it remains to be tested by a person
having access to the hardware.

Signed-off-by: Thomas Petazzoni <[email protected]>
Cc: Stefan Peter <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: kirkwood: dreamplug: use Device Tree to probe SDIO
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:11 +0000 (15:49 +0100)]
arm: kirkwood: dreamplug: use Device Tree to probe SDIO

Now that the mvsdio driver has a Device Tree binding, and the SDIO
controller is declared in kirkwood.dtsi, migrate the dreamplug board
to use the Device Tree to probe the SDIO controller and to mux this
interface properly.

Signed-off-by: Thomas Petazzoni <[email protected]>
Cc: Jason Cooper <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: kirkwood: add Device Tree informations for the SDIO controller
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:10 +0000 (15:49 +0100)]
arm: kirkwood: add Device Tree informations for the SDIO controller

Now that the SDIO controller has a Device Tree binding, let's use it
in kirkwood.dtsi.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: enable the SDIO interface on the Globalscale Mirabox
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:09 +0000 (15:49 +0100)]
arm: mvebu: enable the SDIO interface on the Globalscale Mirabox

The Globalscale Mirabox uses the SDIO interface of the Armada 370 to
connect to a Wifi/Bluetooth SD8787 chip, so we enable the SDIO
interface of this board in its Device Tree file.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: enable the SD card slot on Armada 370 DB board
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:08 +0000 (15:49 +0100)]
arm: mvebu: enable the SD card slot on Armada 370 DB board

The Armada XP DB evaluation board has one SD card slot, directly
connected to the SDIO IP of the SoC, so we add a device tree
description for it.

However, in the default configuration of the board, the SD card slot
is not usable: the connector plugged into CON40 must be changed
against a different one, provided with the board by the
manufacturer. Since such a manual modification of the hardware is
needed, we did not enable the SDIO interface by default, and left it
to the board user to modify the Device Tree if needed. Since this
board is really only an evaluation board for developers and not a
final product, it is not too bad.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: enable the SD card slot on Armada XP DB board
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:07 +0000 (15:49 +0100)]
arm: mvebu: enable the SD card slot on Armada XP DB board

The Armada XP DB evaluation board has one SD card slot, directly
connected to the SDIO IP of the SoC, so we enable this
IP. Unfortunately, there are no GPIOs for card-detect and
write-protect.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: add pin muxing options for the SDIO interface on Armada XP
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:06 +0000 (15:49 +0100)]
arm: mvebu: add pin muxing options for the SDIO interface on Armada XP

The SDIO interface is only available on pins MPP30/31/32/33/34/35 on
the various Armada XP variants, so we provide a pin muxing option for
this in the Armada XP .dtsi files.

Even though those muxing options are the same for MV78230, MV78260 and
MV78460, we keep them in each .dtsi file, because the number of pins,
and therefore the declaration of the pinctrl node, is different for
each SoC variant.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: add pin muxing options for the SDIO interface on Armada 370
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:05 +0000 (15:49 +0100)]
arm: mvebu: add pin muxing options for the SDIO interface on Armada 370

The SDIO interface is available either on pins MPP9/11/12/13/14/15 or
MPP47/48/49/50/51/52 on the Armada 370. Even though all combinations
are potentially possible, those two muxing options are the most
probable ones, so we provide those at the SoC level .dtsi file.

In practice, in turns out the Armada 370 DB board uses the former,
while the Armada 370 Mirabox uses the latter.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: add DT information for the SDIO interface of Armada 370/XP
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:04 +0000 (15:49 +0100)]
arm: mvebu: add DT information for the SDIO interface of Armada 370/XP

Now that the mvsdio MMC driver has a Device Tree binding, we add the
Device Tree informations to describe the SDIO interface available in
the Armada 370/XP SoCs.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: Add RTC support for Armada 370 and Armada XP
Gregory CLEMENT [Wed, 12 Dec 2012 09:06:24 +0000 (10:06 +0100)]
arm: mvebu: Add RTC support for Armada 370 and Armada XP

The Armada 370 and Armada XP Socs have the same controller that the
one used in the orion platforms. This patch updates the device tree
for these SoCs.

Signed-off-by: Gregory CLEMENT <[email protected]>
Acked-by: Andrew Lunn <[email protected]>
Tested-by: Florian Fainelli <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: update defconfig with ATAG support when using DT
Gregory CLEMENT [Mon, 4 Feb 2013 17:21:07 +0000 (18:21 +0100)]
arm: mvebu: update defconfig with ATAG support when using DT

Some of the mvebu boards (mainly the development board) come with
plug-in RAM modules. This patch allows to let the bootloaders which
have no support for DTS to give the real amount of memory available on
the board.

Signed-off-by: Gregory CLEMENT <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: mvebu: Update defconfig to select SPI flash and MTD support
Ezequiel Garcia [Wed, 6 Feb 2013 13:06:24 +0000 (10:06 -0300)]
ARM: mvebu: Update defconfig to select SPI flash and MTD support

The Armada XP DB-MV784MP-GP board has an SPI flash device.
These options allow to access that device over MTD.

Signed-off-by: Ezequiel Garcia <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: mvebu: Update defconfig to select SPI support
Ezequiel Garcia [Wed, 6 Feb 2013 13:06:22 +0000 (10:06 -0300)]
ARM: mvebu: Update defconfig to select SPI support

Cc: Thomas Petazzoni <[email protected]>
Cc: Lior Amsalem <[email protected]>
Acked-by: Gregory Clement <[email protected]>
Signed-off-by: Ezequiel Garcia <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: support for the new Armada XP development board(DB-MV784MP-GP)
Gregory CLEMENT [Thu, 31 Jan 2013 14:50:12 +0000 (15:50 +0100)]
arm: mvebu: support for the new Armada XP development board(DB-MV784MP-GP)

This is the new Armada XP evaluation board from Marvell. It comes with
a RS232 port over USB, a SATA link, an internal SSD, 4 Ethernet
Gigabit links.

Support for USB (Host and device), SDIO, PCIe will be added as drivers
when they become available for Armada XP in mainline.

Tested-by: Simon Guinot <[email protected]>
Tested-by: Florian Fainelli <[email protected]>
Signed-off-by: Gregory CLEMENT <[email protected]>
Tested-by: Ezequiel Garcia <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: update defconfig with local timer support
Gregory CLEMENT [Fri, 25 Jan 2013 17:32:43 +0000 (18:32 +0100)]
arm: mvebu: update defconfig with local timer support

Now that we have support for local timers, enable it by default

Signed-off-by: Gregory CLEMENT <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoclocksource: time-armada-370-xp: add local timer support
Gregory CLEMENT [Fri, 25 Jan 2013 17:32:42 +0000 (18:32 +0100)]
clocksource: time-armada-370-xp: add local timer support

On the SOCs Armada 370 and Armada XP, each CPU comes with two private
timers. This patch use the timer 0 of each CPU as local timer for the
clockevent if CONFIG_LOCAL_TIMER is selected. In the other case, use
only the private Timer 0 of CPU 0.

Signed-off-by: Gregory CLEMENT <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: Add support for local interrupt
Gregory CLEMENT [Fri, 25 Jan 2013 17:32:41 +0000 (18:32 +0100)]
arm: mvebu: Add support for local interrupt

MPIC allows the use of private interrupt for each CPUs. The 28th first
interrupts are per-cpu. This patch adds support to use them.

Signed-off-by: Gregory CLEMENT <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: Update defconfig to select USB support
Ezequiel Garcia [Wed, 23 Jan 2013 15:26:32 +0000 (12:26 -0300)]
arm: mvebu: Update defconfig to select USB support

Cc: Lior Amsalem <[email protected]>
Cc: Thomas Petazzoni <[email protected]>
Cc: Gregory CLEMENT <[email protected]>
Tested-by: Nobuhiro Iwamatsu <[email protected]>
Tested-by: Florian Fainelli <[email protected]>
Signed-off-by: Ezequiel Garcia <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: kirkwood: convert Guruplug Server Plus to use the device tree
Willy Tarreau [Sun, 9 Dec 2012 18:40:04 +0000 (19:40 +0100)]
ARM: kirkwood: convert Guruplug Server Plus to use the device tree

Add a device tree entry for the Guruplug Server Plus board. This port
was based both on the work done on the dreamplug and the dockstar.

It builds, boots and works on my Guruplug Server Plus.

Signed-off-by: Willy Tarreau <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: add DTS file for Marvell RD-A370-A1 board
Florian Fainelli [Wed, 9 Jan 2013 19:56:07 +0000 (20:56 +0100)]
arm: mvebu: add DTS file for Marvell RD-A370-A1 board

This patch adds the DTS file to support the Marvell RD-A370-A1
(Reference Design board) also known as RD-88F6710 board. It is almost
entirely similar to the DB-A370 board except that the first Ethernet PHY
is SGMII-wired and the second is a switch which is RGMII-wired.

Signed-off-by: Florian Fainelli <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: Improve the SMP support of the interrupt controller
Gregory CLEMENT [Wed, 5 Dec 2012 20:43:23 +0000 (21:43 +0100)]
arm: mvebu: Improve the SMP support of the interrupt controller

This patch makes the interrupt controller driver more SMP aware for
the Armada XP SoCs. It adds the support for the per-CPU irq. It also
adds the implementation for the set_affinity hook.

Patch initialy wrote by Yehuda Yitschak and reworked by Gregory
CLEMENT.

Signed-off-by: Yehuda Yitschak <[email protected]>
Signed-off-by: Gregory CLEMENT <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Dove: split legacy and DT setup
Arnd Bergmann [Thu, 28 Feb 2013 17:19:16 +0000 (18:19 +0100)]
ARM: Dove: split legacy and DT setup

In the beginning of DT for Dove it was reasonable to have it close to
non-DT code. With improved DT support, it became more and more difficult
to not break non-DT while changing DT code.

This patch splits up DT board setup and introduces a DOVE_LEGACY config
to allow to remove legacy code for DT-only kernels.

Signed-off-by: Sebastian Hesselbarth <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: dove: update dove_defconfig with a few useful options
Olof Johansson [Sun, 13 Jan 2013 17:54:07 +0000 (09:54 -0800)]
ARM: dove: update dove_defconfig with a few useful options

This refreshes the dove_defconfig, and adds:
PRINTK_TIME
DEVTMPFS
EXT4

They're quite useful, and allows booting a cubox ubuntu rootfs on SD card,
since that by default uses ext4.

The rest of the churn is due to options and defaults moving around, no
functional difference.

Signed-off-by: Olof Johansson <[email protected]>
Cc: Sebastian Hesselbarth <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Kirkwood: Remove redundent SDIO clock alias
Andrew Lunn [Thu, 10 Jan 2013 21:01:09 +0000 (22:01 +0100)]
ARM: Kirkwood: Remove redundent SDIO clock alias

Now that SDIO is instantiated via DT, and the SDIO DT node has a clocks
property, we no longer need a C coded clock alias. Remove it.

Signed-off-by: Andrew Lunn <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoARM: Kirkwood: Remove redundent USB clock alias
Andrew Lunn [Thu, 10 Jan 2013 21:01:08 +0000 (22:01 +0100)]
ARM: Kirkwood: Remove redundent USB clock alias

Now that USB is instantiated via DT, and the USB DT node has a clocks
property, we no longer need a C coded clock alias. Remove it.

Signed-off-by: Andrew Lunn <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: add LEDs support to defconfig file
Thomas Petazzoni [Mon, 7 Jan 2013 16:27:14 +0000 (17:27 +0100)]
arm: mvebu: add LEDs support to defconfig file

The OpenBlocks AX3-4 platform has several LEDs, so it sounds wise to
enable LED support in mvebu_defconfig. We anticipate that more
platforms using Marvell EBU SoCs will have LEDs in the future.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: enable btmrvl driver in mvebu_defconfig
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:19 +0000 (15:49 +0100)]
arm: mvebu: enable btmrvl driver in mvebu_defconfig

The Globalscale Mirabox platform, based on the Armada 370 from
Marvell, has a SD8787 Wireless/Bluetooth chip connected on the SDIO
interface. Now that the mvsdio has a Device Tree binding, and the
necessary Device Tree informations have been added at the SoC and
board level, let's enable the btmrvl driver for the Bluetooth part of
the SD8787 chip.

For now, the driver gets probed correctly, detects the device but
apparently fails to push the firmware to the device:

Bluetooth: vendor=0x2df, device=0x911a, class=255, fn=2
Bluetooth: FW failed to be active in time!
Bluetooth: Downloading firmware failed!
Bluetooth: vendor=0x2df, device=0x911b, class=255, fn=3
Bluetooth: FW failed to be active in time!
Bluetooth: Downloading firmware failed!

This will have to be investigated separately.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: enable mwifiex driver in mvebu_defconfig
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:18 +0000 (15:49 +0100)]
arm: mvebu: enable mwifiex driver in mvebu_defconfig

The Globalscale Mirabox platform, based on the Armada 370 from
Marvell, has a SD8787 Wireless chip connected on the SDIO
interface. Now that the mvsdio has a Device Tree binding, and the
necessary Device Tree informations have been added at the SoC and
board level, let's enable the mwifiex driver for the Wireless part of
the SD8787 chip.

For now, the driver gets probed correctly, detects a device and shows
the network interfaces. However, scanning Wifi networks doesn't work
for now, with a 'CMD_RESP: cmd 0x6 error, result=0x1' message. This
will have to be investigated separately.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: enable SDIO support in mvebu_defconfig
Thomas Petazzoni [Fri, 21 Dec 2012 14:49:17 +0000 (15:49 +0100)]
arm: mvebu: enable SDIO support in mvebu_defconfig

Now that the mvsdio driver has gained Device Tree support and the
necessary Device Tree informations has been added for Armada 370 and
Armada XP platforms, we enable the MMC subsystem and the mvsdio driver
in mvebu_defconfig.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoarm: mvebu: Update defconfig with Marvell RTC support
Gregory CLEMENT [Wed, 12 Dec 2012 09:06:26 +0000 (10:06 +0100)]
arm: mvebu: Update defconfig with Marvell RTC support

The RTC class driver is already part of the mvebu_defconfig but the
Marvell internal RTC not yet. Now that its support is added for mvebu
let's update the config file.

Signed-off-by: Gregory CLEMENT <[email protected]>
Tested-by: Florian Fainelli <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Signed-off-by: Jason Cooper <[email protected]>
12 years agoMerge branch 'timer/cleanup' into late/mvebu2
Arnd Bergmann [Thu, 28 Feb 2013 17:54:15 +0000 (18:54 +0100)]
Merge branch 'timer/cleanup' into late/mvebu2

Basing the mvebu patches on top of the timer cleanup
avoids some nasty merges.

Signed-off-by: Arnd Bergmann <[email protected]>
12 years agoMerge 'mmc/upstream' into late/mvebu2
Arnd Bergmann [Thu, 28 Feb 2013 17:53:01 +0000 (18:53 +0100)]
Merge 'mmc/upstream' into late/mvebu2

These patches from the mmc tree were merged into v3.9 already
and the later mvebu patches depend on them.

Signed-off-by: Arnd Bergmann <[email protected]>
12 years agoSUNRPC: make AF_LOCAL connect synchronous
J. Bruce Fields [Wed, 20 Feb 2013 22:52:19 +0000 (17:52 -0500)]
SUNRPC: make AF_LOCAL connect synchronous

It doesn't appear that anyone actually needs to connect asynchronously.

Also, using a workqueue for the connect means we lose the namespace
information from the original process.  This is a problem since there's
no way to explicitly pass in a filesystem namespace for resolution of an
AF_LOCAL address.

Acked-by: Trond Myklebust <[email protected]>
Signed-off-by: J. Bruce Fields <[email protected]>
12 years agocifs: bugfix for unreclaimed writeback pages in cifs_writev_requeue()
Ouyang Maochun [Mon, 18 Feb 2013 15:54:52 +0000 (09:54 -0600)]
cifs: bugfix for unreclaimed writeback pages in cifs_writev_requeue()

Pages get the PG_writeback flag set before cifs sends its
request to SMB server in cifs_writepages(), if the SMB service
goes down, cifs may try to recommit the writing requests in
cifs_writev_requeue(). However, it does not clean its PG_writeback
flag and relaimed the pages even if it fails again in
cifs_writev_requeue(), which may lead to the hanging of the
processes accessing the cifs directory. This patch just cleans
the PG_writeback flags and reclaims the pages under that circumstances.

    Steps to reproduce the bug(trying serveral times may trigger the issue):
    1.Write from cifs client continuously.(e.g dd if=/dev/zero of=<cifs file>)
    2.Stop SMB service from server.(e.g service smb stop)
    3.Wait for two minutes, and then start SMB service from
server.(e.g service smb start)
    4.The processes which are accessing cifs directory may hang up.

Signed-off-by: Ouyang Maochun <[email protected]>
Signed-off-by: Jiang Yong <[email protected]>
Tested-by: Zhang Xianwei <[email protected]>
Reviewed-by: Wang Liang <[email protected]>
Reviewed-by: Cai Qu <[email protected]>
Reviewed-by: Jiang Biao <[email protected]>
Reviewed-by: Jeff Layton <[email protected]>
Reviewed-by: Pavel Shilovsky <[email protected]>
Signed-off-by: Steve French <[email protected]>
12 years agoxen/pat: Disable PAT using pat_enabled value.
Konrad Rzeszutek Wilk [Tue, 26 Feb 2013 17:51:27 +0000 (12:51 -0500)]
xen/pat: Disable PAT using pat_enabled value.

The git commit 8eaffa67b43e99ae581622c5133e20b0f48bcef1
(xen/pat: Disable PAT support for now) explains in details why
we want to disable PAT for right now. However that
change was not enough and we should have also disabled
the pat_enabled value. Otherwise we end up with:

mmap-example:3481 map pfn expected mapping type write-back for
[mem 0x00010000-0x00010fff], got uncached-minus
 ------------[ cut here ]------------
WARNING: at /build/buildd/linux-3.8.0/arch/x86/mm/pat.c:774 untrack_pfn+0xb8/0xd0()
mem 0x00010000-0x00010fff], got uncached-minus
------------[ cut here ]------------
WARNING: at /build/buildd/linux-3.8.0/arch/x86/mm/pat.c:774
untrack_pfn+0xb8/0xd0()
...
Pid: 3481, comm: mmap-example Tainted: GF 3.8.0-6-generic #13-Ubuntu
Call Trace:
 [<ffffffff8105879f>] warn_slowpath_common+0x7f/0xc0
 [<ffffffff810587fa>] warn_slowpath_null+0x1a/0x20
 [<ffffffff8104bcc8>] untrack_pfn+0xb8/0xd0
 [<ffffffff81156c1c>] unmap_single_vma+0xac/0x100
 [<ffffffff81157459>] unmap_vmas+0x49/0x90
 [<ffffffff8115f808>] exit_mmap+0x98/0x170
 [<ffffffff810559a4>] mmput+0x64/0x100
 [<ffffffff810560f5>] dup_mm+0x445/0x660
 [<ffffffff81056d9f>] copy_process.part.22+0xa5f/0x1510
 [<ffffffff81057931>] do_fork+0x91/0x350
 [<ffffffff81057c76>] sys_clone+0x16/0x20
 [<ffffffff816ccbf9>] stub_clone+0x69/0x90
 [<ffffffff816cc89d>] ? system_call_fastpath+0x1a/0x1f
---[ end trace 4918cdd0a4c9fea4 ]---

(a similar message shows up if you end up launching 'mcelog')

The call chain is (as analyzed by Liu, Jinsong):
do_fork
  --> copy_process
    --> dup_mm
      --> dup_mmap
        --> copy_page_range
          --> track_pfn_copy
            --> reserve_pfn_range
              --> line 624: flags != want_flags
It comes from different memory types of page table (_PAGE_CACHE_WB) and MTRR
(_PAGE_CACHE_UC_MINUS).

Stefan Bader dug in this deep and found out that:
"That makes it clearer as this will do

reserve_memtype(...)
--> pat_x_mtrr_type
  --> mtrr_type_lookup
    --> __mtrr_type_lookup

And that can return -1/0xff in case of MTRR not being enabled/initialized. Which
is not the case (given there are no messages for it in dmesg). This is not equal
to MTRR_TYPE_WRBACK and thus becomes _PAGE_CACHE_UC_MINUS.

It looks like the problem starts early in reserve_memtype:

        if (!pat_enabled) {
                /* This is identical to page table setting without PAT */
                if (new_type) {
                        if (req_type == _PAGE_CACHE_WC)
                                *new_type = _PAGE_CACHE_UC_MINUS;
                        else
                                *new_type = req_type & _PAGE_CACHE_MASK;
                }
                return 0;
        }

This would be what we want, that is clearing the PWT and PCD flags from the
supported flags - if pat_enabled is disabled."

This patch does that - disabling PAT.

CC: [email protected] # 3.3 and further
Reported-by: Sander Eikelenboom <[email protected]>
Reported-and-Tested-by: Konrad Rzeszutek Wilk <[email protected]>
Reported-and-Tested-by: Stefan Bader <[email protected]>
Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
12 years agos390/module: fix compile warning
Heiko Carstens [Wed, 27 Feb 2013 15:28:20 +0000 (16:28 +0100)]
s390/module: fix compile warning

Get rid of this one (false positive):
arch/s390/kernel/module.c: In function ‘apply_relocate_add’:
arch/s390/kernel/module.c:404:5: warning: ‘rc’ may be used uninitialized
                                 in this function [-Wmaybe-uninitialized]
arch/s390/kernel/module.c:225:6: note: ‘rc’ was declared here

Play safe and preinitialize rc with an error value, so we see an error
if new users indeed don't initialize it.

Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
12 years agoqdio: remove unused parameters
Stefan Raspl [Tue, 26 Feb 2013 12:08:34 +0000 (13:08 +0100)]
qdio: remove unused parameters

Remove unused function parameters.

Signed-off-by: Stefan Raspl <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
12 years agos390/uaccess: fix kernel ds access for page table walk
Heiko Carstens [Mon, 25 Feb 2013 08:10:23 +0000 (09:10 +0100)]
s390/uaccess: fix kernel ds access for page table walk

When the kernel resides in home space and the mvcos instruction is not
available uaccesses for kernel ds happen via simple strnlen() or memcpy()
calls.
This however can break badly, since uaccesses in kernel space may fail as
well, especially if CONFIG_DEBUG_PAGEALLOC is turned on.

To fix this implement strnlen_kernel() and copy_in_kernel() functions
which can only be used by the page table uaccess functions. These two
functions detect invalid memory accesses and return the correct length
of processed data.. Both functions are more or less a copy of the std
variants without sacf calls.

Fixes ipl crashes on 31 bit machines as well on 64 bit machines without
mvcos. Caused by changing the default address space of the kernel being
home space.

Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
12 years agos390/uaccess: fix strncpy_from_user string length check
Heiko Carstens [Mon, 25 Feb 2013 06:24:20 +0000 (07:24 +0100)]
s390/uaccess: fix strncpy_from_user string length check

The "standard" and page table walk variants of strncpy_from_user() first
check the length of the to be copied string in userspace.
The string is then copied to kernel space and the length returned to the
caller.
However userspace can modify the string at any time while the kernel
checks for the length of the string or copies the string. In result the
returned length of the string is not necessarily correct.
Fix this by copying in a loop which mimics the mvcos variant of
strncpy_from_user(), which handles this correctly.

Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
12 years agoinput: disable i8042 PC Keyboard controller for s390
Heiko Carstens [Mon, 25 Feb 2013 06:40:34 +0000 (07:40 +0100)]
input: disable i8042 PC Keyboard controller for s390

Just add s390 to the list of architectures that don't want this driver.

Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
12 years agos390/dis: Fix invalid array size
Syam Sidhardhan [Sun, 24 Feb 2013 22:15:45 +0000 (03:45 +0530)]
s390/dis: Fix invalid array size

We are using sizeof operator for an array given as function argument,
which is incorrect.

Signed-off-by: Syam Sidhardhan <[email protected]>
Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
12 years agos390/uaccess: remove pointless access_ok() checks
Heiko Carstens [Thu, 21 Feb 2013 15:57:42 +0000 (16:57 +0100)]
s390/uaccess: remove pointless access_ok() checks

access_ok() always returns 'true' on s390. Therefore all calls
are quite pointless and can be removed.

Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
12 years agos390/uaccess: fix strncpy_from_user/strnlen_user zero maxlen case
Heiko Carstens [Thu, 21 Feb 2013 12:30:42 +0000 (13:30 +0100)]
s390/uaccess: fix strncpy_from_user/strnlen_user zero maxlen case

If the maximum length specified for the to be accessed string for
strncpy_from_user() and strnlen_user() is zero the following incorrect
values would be returned or incorrect memory accesses would happen:

strnlen_user_std() and strnlen_user_pt() incorrectly return "1"
strncpy_from_user_pt() would incorrectly access "dst[maxlen - 1]"
strncpy_from_user_mvcos() would incorrectly return "-EFAULT"

Fix all these oddities by adding early checks.

Reviewed-by: Gerald Schaefer <[email protected]>
Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
This page took 0.154177 seconds and 4 git commands to generate.