1. 23 Sep, 2013 4 commits
    • Mike Snitzer's avatar
      dm: add reserved_bio_based_ios module parameter · e8603136
      Mike Snitzer authored
      Allow user to change the number of IOs that are reserved by
      bio-based DM's mempools by writing to this file:
      /sys/module/dm_mod/parameters/reserved_bio_based_ios
      
      The default value is RESERVED_BIO_BASED_IOS (16).  The maximum allowed
      value is RESERVED_MAX_IOS (1024).
      
      Export dm_get_reserved_bio_based_ios() for use by DM targets and core
      code.  Switch to sizing dm-io's mempool and bioset using DM core's
      configurable 'reserved_bio_based_ios'.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarFrank Mayhar <fmayhar@google.com>
      e8603136
    • Mike Snitzer's avatar
      dm: add reserved_rq_based_ios module parameter · f4790826
      Mike Snitzer authored
      Allow user to change the number of IOs that are reserved by
      request-based DM's mempools by writing to this file:
      /sys/module/dm_mod/parameters/reserved_rq_based_ios
      
      The default value is RESERVED_REQUEST_BASED_IOS (256).  The maximum
      allowed value is RESERVED_MAX_IOS (1024).
      
      Export dm_get_reserved_rq_based_ios() for use by DM targets and core
      code.  Switch to sizing dm-mpath's mempool using DM core's configurable
      'reserved_rq_based_ios'.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarFrank Mayhar <fmayhar@google.com>
      Acked-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      f4790826
    • Mike Snitzer's avatar
      dm: lower bio-based mempool reservation · 6cfa5857
      Mike Snitzer authored
      Bio-based device mapper processing doesn't need larger mempools (like
      request-based DM does), so lower the number of reserved entries for
      bio-based operation.  16 was already used for bio-based DM's bioset
      but mistakenly wasn't used for it's _io_cache.
      
      Formalize difference between bio-based and request-based defaults by
      introducing RESERVED_BIO_BASED_IOS and RESERVED_REQUEST_BASED_IOS.
      
      (based on older code from Mikulas Patocka)
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarFrank Mayhar <fmayhar@google.com>
      Acked-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      6cfa5857
    • Mike Snitzer's avatar
      dm thin: do not expose non-zero discard limits if discards disabled · b60ab990
      Mike Snitzer authored
      Fix issue where the block layer would stack the discard limits of the
      pool's data device even if the "ignore_discard" pool feature was
      specified.
      
      The pool and thin device(s) still had discards disabled because the
      QUEUE_FLAG_DISCARD request_queue flag wasn't set.  But to avoid user
      confusion when "ignore_discard" is used: both the pool device and the
      thin device(s) have zeroes for all discard limits.
      
      Also, always set discard_zeroes_data_unsupported in targets because they
      should never advertise the 'discard_zeroes_data' capability (even if the
      pool's data device supports it).
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Acked-by: default avatarJoe Thornber <ejt@redhat.com>
      b60ab990
  2. 20 Sep, 2013 3 commits
    • Mike Snitzer's avatar
      dm mpath: disable WRITE SAME if it fails · f84cb8a4
      Mike Snitzer authored
      Workaround the SCSI layer's problematic WRITE SAME heuristics by
      disabling WRITE SAME in the DM multipath device's queue_limits if an
      underlying device disabled it.
      
      The WRITE SAME heuristics, with both the original commit 5db44863
      ("[SCSI] sd: Implement support for WRITE SAME") and the updated commit
      66c28f97 ("[SCSI] sd: Update WRITE SAME heuristics"), default to enabling
      WRITE SAME(10) even without successfully determining it is supported.
      After the first failed WRITE SAME the SCSI layer will disable WRITE SAME
      for the device (by setting sdkp->device->no_write_same which results in
      'max_write_same_sectors' in device's queue_limits to be set to 0).
      
      When a device is stacked ontop of such a SCSI device any changes to that
      SCSI device's queue_limits do not automatically propagate up the stack.
      As such, a DM multipath device will not have its WRITE SAME support
      disabled.  This causes the block layer to continue to issue WRITE SAME
      requests to the mpath device which causes paths to fail and (if mpath IO
      isn't configured to queue when no paths are available) it will result in
      actual IO errors to the upper layers.
      
      This fix doesn't help configurations that have additional devices
      stacked ontop of the mpath device (e.g. LVM created linear DM devices
      ontop).  A proper fix that restacks all the queue_limits from the bottom
      of the device stack up will need to be explored if SCSI will continue to
      use this model of optimistically allowing op codes and then disabling
      them after they fail for the first time.
      
      Before this patch:
      
      EXT4-fs (dm-6): mounted filesystem with ordered data mode. Opts: (null)
      device-mapper: multipath: XXX snitm debugging: got -EREMOTEIO (-121)
      device-mapper: multipath: XXX snitm debugging: failing WRITE SAME IO with error=-121
      end_request: critical target error, dev dm-6, sector 528
      dm-6: WRITE SAME failed. Manually zeroing.
      device-mapper: multipath: Failing path 8:112.
      end_request: I/O error, dev dm-6, sector 4616
      dm-6: WRITE SAME failed. Manually zeroing.
      end_request: I/O error, dev dm-6, sector 4616
      end_request: I/O error, dev dm-6, sector 5640
      end_request: I/O error, dev dm-6, sector 6664
      end_request: I/O error, dev dm-6, sector 7688
      end_request: I/O error, dev dm-6, sector 524288
      Buffer I/O error on device dm-6, logical block 65536
      lost page write due to I/O error on dm-6
      JBD2: Error -5 detected when updating journal superblock for dm-6-8.
      end_request: I/O error, dev dm-6, sector 524296
      Aborting journal on device dm-6-8.
      end_request: I/O error, dev dm-6, sector 524288
      Buffer I/O error on device dm-6, logical block 65536
      lost page write due to I/O error on dm-6
      JBD2: Error -5 detected when updating journal superblock for dm-6-8.
      
      # cat /sys/block/sdh/queue/write_same_max_bytes
      0
      # cat /sys/block/dm-6/queue/write_same_max_bytes
      33553920
      
      After this patch:
      
      EXT4-fs (dm-6): mounted filesystem with ordered data mode. Opts: (null)
      device-mapper: multipath: XXX snitm debugging: got -EREMOTEIO (-121)
      device-mapper: multipath: XXX snitm debugging: WRITE SAME I/O failed with error=-121
      end_request: critical target error, dev dm-6, sector 528
      dm-6: WRITE SAME failed. Manually zeroing.
      
      # cat /sys/block/sdh/queue/write_same_max_bytes
      0
      # cat /sys/block/dm-6/queue/write_same_max_bytes
      0
      
      It should be noted that WRITE SAME support wasn't enabled in DM
      multipath until v3.10.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: Martin K. Petersen <martin.petersen@oracle.com>
      Cc: Hannes Reinecke <hare@suse.de>
      Cc: stable@vger.kernel.org # 3.10+
      f84cb8a4
    • Mikulas Patocka's avatar
      dm-snapshot: fix performance degradation due to small hash size · 60e356f3
      Mikulas Patocka authored
      LVM2, since version 2.02.96, creates origin with zero size, then loads
      the snapshot driver and then loads the origin.  Consequently, the
      snapshot driver sees the origin size zero and sets the hash size to the
      lower bound 64.  Such small hash table causes performance degradation.
      
      This patch changes it so that the hash size is determined by the size of
      snapshot volume, not minimum of origin and snapshot size.  It doesn't
      make sense to set the snapshot size significantly larger than the origin
      size, so we do not need to take origin size into account when
      calculating the hash size.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@vger.kernel.org
      60e356f3
    • Mikulas Patocka's avatar
      dm snapshot: workaround for a false positive lockdep warning · 5ea330a7
      Mikulas Patocka authored
      The kernel reports a lockdep warning if a snapshot is invalidated because
      it runs out of space.
      
      The lockdep warning was triggered by commit 0976dfc1
      ("workqueue: Catch more locking problems with flush_work()") in v3.5.
      
      The warning is false positive.  The real cause for the warning is that
      the lockdep engine treats different instances of md->lock as a single
      lock.
      
      This patch is a workaround - we use flush_workqueue instead of flush_work.
      This code path is not performance sensitive (it is called only on
      initialization or invalidation), thus it doesn't matter that we flush the
      whole workqueue.
      
      The real fix for the problem would be to teach the lockdep engine to treat
      different instances of md->lock as separate locks.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Acked-by: default avatarAlasdair G Kergon <agk@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@vger.kernel.org # 3.5+
      5ea330a7
  3. 18 Sep, 2013 2 commits
  4. 16 Sep, 2013 5 commits
  5. 15 Sep, 2013 7 commits
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · d8efd82e
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "These are four patches for three construction sites:
      
         - Fix register decoding for the combination of multi-core processors
           and multi-threading.
      
         - Two more fixes that are part of the ongoing DECstation resurrection
           work.  One of these touches a DECstation-only network driver.
      
         - Finally Markos' trivial build fix for the AP/SP support.
      
        (With this applied now all MIPS defconfigs are building again)"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: kernel: vpe: Make vpe_attrs an array of pointers.
        MIPS: Fix SMP core calculations when using MT support.
        MIPS: DECstation I/O ASIC DMA interrupt handling fix
        MIPS: DECstation HRT initialization rearrangement
      d8efd82e
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 · cd619e21
      Linus Torvalds authored
      Pull x86 platform updates from Matthew Garrett:
       "Nothing amazing here, almost entirely cleanups and minor bugfixes and
        one bit of hardware enablement in the amilo-rfkill driver"
      
      * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86:
        platform/x86: panasonic-laptop: reuse module_acpi_driver
        samsung-laptop: fix config build error
        platform: x86: remove unnecessary platform_set_drvdata()
        amilo-rfkill: Enable using amilo-rfkill with the FSC Amilo L1310.
        wmi: parse_wdg() should return kernel error codes
        hp_wmi: Fix unregister order in hp_wmi_rfkill_setup()
        platform: replace strict_strto*() with kstrto*()
        x86: irst: use module_acpi_driver to simplify the code
        x86: smartconnect: use module_acpi_driver to simplify the code
        platform samsung-q10: use ACPI instead of direct EC calls
        thinkpad_acpi: add the ability setting TPACPI_LED_NONE by quirk
        thinkpad_acpi: return -NODEV while operating uninitialized LEDs
      cd619e21
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 0375ec58
      Linus Torvalds authored
      Pull misc SCSI driver updates from James Bottomley:
       "This patch set is a set of driver updates (megaraid_sas, fnic, lpfc,
        ufs, hpsa) we also have a couple of bug fixes (sd out of bounds and
        ibmvfc error handling) and the first round of esas2r checker fixes and
        finally the much anticipated big endian additions for megaraid_sas"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (47 commits)
        [SCSI] fnic: fnic Driver Tuneables Exposed through CLI
        [SCSI] fnic: Kernel panic while running sh/nosh with max lun cfg
        [SCSI] fnic: Hitting BUG_ON(io_req->abts_done) in fnic_rport_exch_reset
        [SCSI] fnic: Remove QUEUE_FULL handling code
        [SCSI] fnic: On system with >1.1TB RAM, VIC fails multipath after boot up
        [SCSI] fnic: FC stat param seconds_since_last_reset not getting updated
        [SCSI] sd: Fix potential out-of-bounds access
        [SCSI] lpfc 8.3.42: Update lpfc version to driver version 8.3.42
        [SCSI] lpfc 8.3.42: Fixed issue of task management commands having a fixed timeout
        [SCSI] lpfc 8.3.42: Fixed inconsistent spin lock usage.
        [SCSI] lpfc 8.3.42: Fix driver's abort loop functionality to skip IOs already getting aborted
        [SCSI] lpfc 8.3.42: Fixed failure to allocate SCSI buffer on PPC64 platform for SLI4 devices
        [SCSI] lpfc 8.3.42: Fix WARN_ON when driver unloads
        [SCSI] lpfc 8.3.42: Avoided making pci bar ioremap call during dual-chute WQ/RQ pci bar selection
        [SCSI] lpfc 8.3.42: Fixed driver iocbq structure's iocb_flag field running out of space
        [SCSI] lpfc 8.3.42: Fix crash on driver load due to cpu affinity logic
        [SCSI] lpfc 8.3.42: Fixed logging format of setting driver sysfs attributes hard to interpret
        [SCSI] lpfc 8.3.42: Fixed back to back RSCNs discovery failure.
        [SCSI] lpfc 8.3.42: Fixed race condition between BSG I/O dispatch and timeout handling
        [SCSI] lpfc 8.3.42: Fixed function mode field defined too small for not recognizing dual-chute mode
        ...
      0375ec58
    • Linus Torvalds's avatar
      Merge branch 'slab/next' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux · bff157b3
      Linus Torvalds authored
      Pull SLAB update from Pekka Enberg:
       "Nothing terribly exciting here apart from Christoph's kmalloc
        unification patches that brings sl[aou]b implementations closer to
        each other"
      
      * 'slab/next' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:
        slab: Use correct GFP_DMA constant
        slub: remove verify_mem_not_deleted()
        mm/sl[aou]b: Move kmallocXXX functions to common code
        mm, slab_common: add 'unlikely' to size check of kmalloc_slab()
        mm/slub.c: beautify code for removing redundancy 'break' statement.
        slub: Remove unnecessary page NULL check
        slub: don't use cpu partial pages on UP
        mm/slub: beautify code for 80 column limitation and tab alignment
        mm/slub: remove 'per_cpu' which is useless variable
      bff157b3
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 8bf5e36d
      Linus Torvalds authored
      Pull input update from Dmitry Torokhov:
       "The only change is David Hermann's new EVIOCREVOKE evdev ioctl that
        allows safely passing file descriptors to input devices to session
        processes and later being able to stop delivery of events through
        these fds so that inactive sessions will no longer receive user input
        that does not belong to them"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: evdev - add EVIOCREVOKE ioctl
      8bf5e36d
    • Linus Torvalds's avatar
      vfs: fix typo in comment in recent dentry work · 05a8252b
      Linus Torvalds authored
      Sedat points out that I transposed some letters in "LRU" and wrote "RLU"
      instead in one of the new comments explaining the flow.  Let's just fix
      it.
      Reported-by: default avatarSedat Dilek <sedat.dilek@jpberlin.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      05a8252b
    • Davidlohr Bueso's avatar
      partitions/efi: loosen check fot pmbr size in lba · 6b02fa59
      Davidlohr Bueso authored
      Matt found that commit 27a7c642 ("partitions/efi: account for pmbr
      size in lba") caused his GPT formatted eMMC device not to boot.  The
      reason is that this commit enforced Linux to always check the lesser of
      the whole disk or 2Tib for the pMBR size in LBA.  While most disk
      partitioning tools out there create a pMBR with these characteristics,
      Microsoft does not, as it always sets the entry to the maximum 32-bit
      limitation - even though a drive may be smaller than that[1].
      
      Loosen this check and only verify that the size is either the whole disk
      or 0xFFFFFFFF.  No tool in its right mind would set it to any value
      other than these.
      
      [1] http://thestarman.pcministry.com/asm/mbr/GPT.htm#GPTPTReported-and-tested-by: default avatarMatt Porter <matt.porter@linaro.org>
      Signed-off-by: default avatarDavidlohr Bueso <davidlohr@hp.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6b02fa59
  6. 14 Sep, 2013 2 commits
  7. 13 Sep, 2013 17 commits
    • Björn Jacke's avatar
      81b66220
    • Sachin Prabhu's avatar
      cifs: Avoid calling unlock_page() twice in cifs_readpage() when using fscache · 466bd31b
      Sachin Prabhu authored
      When reading a single page with cifs_readpage(), we make a call to
      fscache_read_or_alloc_page() which once done, asynchronously calls
      the completion function cifs_readpage_from_fscache_complete(). This
      completion function unlocks the page once it has been populated from
      cache. The module then attempts to unlock the page a second time in
      cifs_readpage() which leads to warning messages.
      
      In case of a successful call to fscache_read_or_alloc_page() we should skip
      the second unlock_page() since this will be called by the
      cifs_readpage_from_fscache_complete() once the page has been populated by
      fscache.
      
      With the modifications to cifs_readpage_worker(), we will need to re-grab the
      page lock in cifs_write_begin().
      
      The problem was first noticed when testing new fscache patches for cifs.
      https://bugzilla.redhat.com/show_bug.cgi?id=1005737Signed-off-by: default avatarSachin Prabhu <sprabhu@redhat.com>
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      466bd31b
    • Sachin Prabhu's avatar
      cifs: Do not take a reference to the page in cifs_readpage_worker() · a9e9b7bc
      Sachin Prabhu authored
      We do not need to take a reference to the pagecache in
      cifs_readpage_worker() since the calling function will have already
      taken one before passing the pointer to the page as an argument to the
      function.
      Signed-off-by: default avatarSachin Prabhu <sprabhu@redhat.com>
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      a9e9b7bc
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · bdbdfdef
      Linus Torvalds authored
      Pull hwmon fixes from Guenter Roeck:
       "Some more low risk cleanup patches:
      
         - Remove unnecessary pci_set_drvdata in k10temp driver from Jingoo Han
         - Fix return values in several drivers from Sachin Kamat
         - Remove redundant break in amc6821 driver from Sachin Kamat"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (k10temp) remove unnecessary pci_set_drvdata()
        hwmon: (tmp421) Fix return value
        hwmon: (amc6821) Remove redundant break
        hwmon: (amc6821) Fix return value
        hwmon: (ibmaem) Fix return value
        hwmon: (emc2103) Fix return value
      bdbdfdef
    • Linus Torvalds's avatar
      Merge tag 'xtensa-next-20130912' of git://github.com/czankel/xtensa-linux · 67002151
      Linus Torvalds authored
      Pull Xtensa updates from Chris Zankel.
      
      * tag 'xtensa-next-20130912' of git://github.com/czankel/xtensa-linux:
        xtensa: Fix broken allmodconfig build
        xtensa: remove CCOUNT_PER_JIFFY
        xtensa: fix !CONFIG_XTENSA_CALIBRATE_CCOUNT build failure
        xtensa: don't use echo -e needlessly
        xtensa: new fast_alloca handler
        xtensa: keep a3 and excsave1 on entry to exception handlers
        xtensa: enable kernel preemption
        xtensa: check thread flags atomically on return from user exception
      67002151
    • Linus Torvalds's avatar
      Merge git://git.kvack.org/~bcrl/aio-next · 9bf12df3
      Linus Torvalds authored
      Pull aio changes from Ben LaHaise:
       "First off, sorry for this pull request being late in the merge window.
        Al had raised a couple of concerns about 2 items in the series below.
        I addressed the first issue (the race introduced by Gu's use of
        mm_populate()), but he has not provided any further details on how he
        wants to rework the anon_inode.c changes (which were sent out months
        ago but have yet to be commented on).
      
        The bulk of the changes have been sitting in the -next tree for a few
        months, with all the issues raised being addressed"
      
      * git://git.kvack.org/~bcrl/aio-next: (22 commits)
        aio: rcu_read_lock protection for new rcu_dereference calls
        aio: fix race in ring buffer page lookup introduced by page migration support
        aio: fix rcu sparse warnings introduced by ioctx table lookup patch
        aio: remove unnecessary debugging from aio_free_ring()
        aio: table lookup: verify ctx pointer
        staging/lustre: kiocb->ki_left is removed
        aio: fix error handling and rcu usage in "convert the ioctx list to table lookup v3"
        aio: be defensive to ensure request batching is non-zero instead of BUG_ON()
        aio: convert the ioctx list to table lookup v3
        aio: double aio_max_nr in calculations
        aio: Kill ki_dtor
        aio: Kill ki_users
        aio: Kill unneeded kiocb members
        aio: Kill aio_rw_vect_retry()
        aio: Don't use ctx->tail unnecessarily
        aio: io_cancel() no longer returns the io_event
        aio: percpu ioctx refcount
        aio: percpu reqs_available
        aio: reqs_active -> reqs_available
        aio: fix build when migration is disabled
        ...
      9bf12df3
    • Linus Torvalds's avatar
      Merge branch 'genirq' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 399a946e
      Linus Torvalds authored
      Pull generic hardirq option removal from Martin Schwidefsky:
       "All architectures now use generic hardirqs, s390 has been last to
        switch.
      
        With that the code under !CONFIG_GENERIC_HARDIRQS and the related
        HAVE_GENERIC_HARDIRQS and GENERIC_HARDIRQS config options can be
        removed.  Yay!"
      
      * 'genirq' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        Remove GENERIC_HARDIRQ config option
      399a946e
    • Linus Torvalds's avatar
      Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 183c4203
      Linus Torvalds authored
      Pull kconfig fix from Michal Marek:
       "This is a fix for a regression caused by my previous pull request.
      
        A sed command in scripts/config that used colons as separator was
        accidentally changed to use slashes, which fails when you use slashes
        in a value.  Changing it back to colons is of course not a proper fix,
        but at least it will be broken in the same way it had been for four
        years.  A proper fix is pending"
      
      * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        scripts/config: fix variable substitution command
      183c4203
    • Linus Torvalds's avatar
      Merge tag 'blackfin-for-linus' of... · 951a730a
      Linus Torvalds authored
      Merge tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux
      
      Pull blackfin updates from Steven Miao.
      
      * tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux:
        blackfin: Ignore generated uImages
        blackfin: Add STMMAC platform data to enable dwmac1000 driver on BF60x.
        bf609: adv7343: add S-Video and Component output support
        bf609: add adv7343 video encoder support
        clock: add stmmac clock for ethernet driver
        blackfin: scb: Add SCB1 to SCB9 config options and data.
        blackfin: scb: Add system crossbar init code.
      951a730a
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 0898d2aa
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes a 7+ year race condition in the crypto API that causes
        sporadic crashes when multiple threads load the same algorithm.
      
        It also fixes the crct10dif algorithm again to prevent boot failures
        on systems where the initramfs tool ignores module softdeps"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: crct10dif - Add fallback for broken initrds
        crypto: api - Fix race condition in larval lookup
      0898d2aa
    • Markos Chandras's avatar
      MIPS: kernel: vpe: Make vpe_attrs an array of pointers. · 1b467633
      Markos Chandras authored
      Commit 567b21e9
      "mips: convert vpe_class to use dev_groups"
      
      broke the build on MIPS since vpe_attrs should be an array
      of 'struct device_attribute' pointers.
      
      Fixes the following build problem:
      arch/mips/kernel/vpe.c:1372:2: error: missing braces around initializer
      [-Werror=missing-braces]
      arch/mips/kernel/vpe.c:1372:2: error: (near initialization for 'vpe_attrs[0]')
      [-Werror=missing-braces]
      
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: John Crispin <blogic@openwrt.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5819/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      1b467633
    • Martin Schwidefsky's avatar
      Remove GENERIC_HARDIRQ config option · 0244ad00
      Martin Schwidefsky authored
      After the last architecture switched to generic hard irqs the config
      options HAVE_GENERIC_HARDIRQS & GENERIC_HARDIRQS and the related code
      for !CONFIG_GENERIC_HARDIRQS can be removed.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      0244ad00
    • Clement Chauplannaz's avatar
      scripts/config: fix variable substitution command · 86eb7818
      Clement Chauplannaz authored
      Commit 229455bc02b87f7128f190c4491b4ceffff38648 accidentally changed the
      separator between sed `s' command and its parameters from ':' to '/'.
      
      Revert this change.
      Reported-and-tested-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarClement Chauplannaz <chauplac@gmail.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      86eb7818
    • Leonid Yegoshin's avatar
      MIPS: Fix SMP core calculations when using MT support. · 670bac3a
      Leonid Yegoshin authored
      The TCBIND register is only available if the core has MT support. It
      should not be read otherwise. Secondly, the number of TCs (siblings)
      are calculated differently depending on if the kernel is configured
      as SMVP or SMTC.
      Signed-off-by: default avatarLeonid Yegoshin <Leonid.Yegoshin@imgtec.com>
      Signed-off-by: default avatarSteven J. Hill <Steven.Hill@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5822/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      670bac3a
    • Maciej W. Rozycki's avatar
      MIPS: DECstation I/O ASIC DMA interrupt handling fix · 5359b938
      Maciej W. Rozycki authored
      This change complements commit d0da7c002f7b2a93582187a9e3f73891a01d8ee4
      and brings clear_ioasic_irq back, renaming it to clear_ioasic_dma_irq at
      the same time, to make I/O ASIC DMA interrupts functional.
      
      Unlike ordinary I/O ASIC interrupts DMA interrupts need to be deasserted
      by software by writing 0 to the respective bit in I/O ASIC's System
      Interrupt Register (SIR), similarly to how CP0.Cause.IP0 and CP0.Cause.IP1
      bits are handled in the CPU (the difference is SIR DMA interrupt bits are
      R/W0C so there's no need for an RMW cycle).  Otherwise the handler is
      reentered over and over again.
      
      The only current user is the DEC LANCE Ethernet driver and its extremely
      uncommon DMA memory error handler that does not care when exactly the
      interrupt is cleared.  Anticipating the use of DMA interrupts by the Zilog
      SCC driver this change however exports clear_ioasic_dma_irq for device
      drivers to choose the right application-specific sequence to clear the
      request explicitly rather than calling it implicitly in the .irq_eoi
      handler of `struct irq_chip'.  Previously these interrupts were cleared in
      the .end handler of the said structure, before it was removed.
      Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5826/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      5359b938
    • Maciej W. Rozycki's avatar
      MIPS: DECstation HRT initialization rearrangement · daed1285
      Maciej W. Rozycki authored
      Not all I/O ASIC versions have the free-running counter implemented, an
      early revision used in the 5000/1xx models aka 3MIN and 4MIN did not have
      it.  Therefore we cannot unconditionally use it as a clock source.
      Fortunately if not implemented its register slot has a fixed value so it
      is enough if we check for the value at the end of the calibration period
      being the same as at the beginning.
      
      This also means we need to look for another high-precision clock source on
      the systems affected.  The 5000/1xx can have an R4000SC processor
      installed where the CP0 Count register can be used as a clock source.
      Unfortunately all the R4k DECstations suffer from the missed timer
      interrupt on CP0 Count reads erratum, so we cannot use the CP0 timer as a
      clock source and a clock event both at a time.  However we never need an
      R4k clock event device because all DECstations have a DS1287A RTC chip
      whose periodic interrupt can be used as a clock source.
      
      This gives us the following four configuration possibilities for I/O ASIC
      DECstations:
      
      1. No I/O ASIC counter and no CP0 timer, e.g. R3k 5000/1xx (3MIN).
      
      2. No I/O ASIC counter but the CP0 timer, i.e. R4k 5000/150 (4MIN).
      
      3. The I/O ASIC counter but no CP0 timer, e.g. R3k 5000/240 (3MAX+).
      
      4. The I/O ASIC counter and the CP0 timer, e.g. R4k 5000/260 (4MAX+).
      
      For #1 and #2 this change stops the I/O ASIC free-running counter from
      being installed as a clock source of a 0Hz frequency.  For #2 it also
      arranges for the CP0 timer to be used as a clock source rather than a
      clock event device, because having an accurate wall clock is more
      important than a high-precision interval timer.  For #3 there is no
      change.  For #4 the change makes the I/O ASIC free-running counter
      installed as a clock source so that the CP0 timer can be used as a clock
      event device.
      
      Unfortunately the use of the CP0 timer as a clock event device relies on a
      succesful completion of c0_compare_interrupt.  That never happens, because
      while waiting for a CP0 Compare interrupt to happen the function spins in
      a loop reading the CP0 Count register.  This makes the CP0 Count erratum
      trigger reliably causing the interrupt waited for to be lost in all cases.
      As a result #4 resorts to using the CP0 timer as a clock source as well,
      just as #2.  However we want to keep this separate arrangement in case
      (hope) c0_compare_interrupt is eventually rewritten such that it avoids
      the erratum.
      Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5825/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      daed1285
    • Mark Brown's avatar
      blackfin: Ignore generated uImages · 08b67faa
      Mark Brown authored
      We have the build infrastructure to generate uImages so we should ignore
      the resulting generated files.
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      Acked-by: default avatarMike Frysinger <vapier@gentoo.org>
      08b67faa