20 Aug, 2013

14 commits


05 Aug, 2013

1 commit


30 Jul, 2013

1 commit


25 Jul, 2013

8 commits

  • Both old URLs are broken, so update them.

    Signed-off-by: Martin Nordholts
    Acked-by: Rob Landley
    Signed-off-by: Jiri Kosina

    Martin Nordholts
     
  • When building the htmldocs (in verbose mode), scripts/kernel-doc reports the
    following type of warnings:
    Warning(include/linux/ktime.h:75): No description found for return value of
    'ktime_set'

    Fix them by using a "Return:" section to describe the return values.
    (Also apply some minor reformatting along the way.)

    Signed-off-by: Yacine Belkadi
    Acked-by: Rob Landley
    Signed-off-by: Jiri Kosina

    Yacine Belkadi
     
  • Correct typo (double words) in documentations.

    Signed-off-by: Masanari Iida
    Acked-by: Randy Dunlap
    Signed-off-by: Jiri Kosina

    Masanari Iida
     
  • Fixes a trivial typo.

    Signed-off-by: Sachin Kamat
    Signed-off-by: Jiri Kosina

    Sachin Kamat
     
  • Correct spelling typo in devicetree/bindings.

    Singed-off-by: Masanari Iida

    Signed-off-by: Jiri Kosina

    Masanari Iida
     
  • Sync with Linus' master to be able to apply
    trivial patche to newer code.

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Pull powerpc fixes from Ben Herrenschmidt:
    "Here is a series of powerpc fixes. It's a bit big, mostly because of
    the series of 11 "EEH" patches from Gavin. The EEH (Our IBM specific
    PCI/PCIe Enhanced Error Handling) code had been rotting for a while
    and this merge window saw a significant rework & fixing of it by Gavin
    Shan.

    However, that wasn't complete and left some open issues. There were
    still a few corner cases that didn't work properly, for example in
    relation to hotplug and devices without explicit error handlers. We
    had some patches but they weren't quite good enough yet so I left them
    off the 3.11 merge window.

    Gavin since then fixed it all up, we ran quite a few rounds of testing
    and it seems fairly solid (at least probably more than it has ever
    been). This should probably have made -rc1 but both Gavin and I took
    some vacation so it had to wait for -rc2.

    The rest is more bug fixes, mostly to new features recently added, for
    example, we missed the cpu table entry for one of the two models of P8
    (we didn't realize they had different PVR [Processor Version Register]
    values), some module CRC issues, etc..."

    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (23 commits)
    powerpc/perf: BHRB filter configuration should follow the task
    powerpc/perf: Ignore separate BHRB privilege state filter request
    powerpc/powernv: Mark pnv_pci_init_ioda2_phb() as __init
    powerpc/mm: Use the correct SLB(LLP) encoding in tlbie instruction
    powerpc/mm: Fix fallthrough bug in hpte_decode
    powerpc/pseries: Fix a typo in pSeries_lpar_hpte_insert()
    powerpc/eeh: Introdce flag to protect sysfs
    powerpc/eeh: Fix unbalanced enable for IRQ
    powerpc/eeh: Don't use pci_dev during BAR restore
    powerpc/eeh: Use partial hotplug for EEH unaware drivers
    powerpc/pci: Partial tree hotplug support
    powerpc/eeh: Use safe list traversal when walking EEH devices
    powerpc/eeh: Keep PE during hotplug
    powerpc/pci/hotplug: Don't need to remove from EEH cache twice
    powerpc/pci: Override pcibios_release_device()
    powerpc/eeh: Export functions for hotplug
    powerpc/eeh: Remove reference to PCI device
    powerpc: Fix the corrupt r3 error during MCE handling.
    powerpc/perf: Set PPC_FEATURE2_EBB when we register the power8 PMU
    powerpc/pseries: Drop "select HOTPLUG"
    ...

    Linus Torvalds
     
  • Pull crypto fixes from Herbert Xu:
    "This push fixes a memory corruption issue in caam, as well as
    reverting the new optimised crct10dif implementation as it breaks boot
    on initrd systems.

    Hopefully crct10dif will be reinstated once the supporting code is
    added so that it doesn't break boot"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    Revert "crypto: crct10dif - Wrap crc_t10dif function all to use crypto transform framework"
    crypto: caam - Fixed the memory out of bound overwrite issue

    Linus Torvalds
     

24 Jul, 2013

16 commits

  • This reverts commits
    67822649d7305caf3dd50ed46c27b99c94eff996
    39761214eefc6b070f29402aa1165f24d789b3f7
    0b95a7f85718adcbba36407ef88bba0a7379ed03
    31d939625a9a20b1badd2d4e6bf6fd39fa523405
    2d31e518a42828df7877bca23a958627d60408bc

    Unfortunately this change broke boot on some systems that used an
    initrd which does not include the newly created crct10dif modules.
    As these modules are required by sd_mod under certain configurations
    this is a serious problem.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • When the task moves around the system, the corresponding cpuhw
    per cpu strcuture should be popullated with the BHRB filter
    request value so that PMU could be configured appropriately with
    that during the next call into power_pmu_enable().

    Signed-off-by: Anshuman Khandual
    Acked-by: Michael Neuling
    Signed-off-by: Benjamin Herrenschmidt

    Anshuman Khandual
     
  • Completely ignore BHRB privilege state filter request as we are
    already configuring that with privilege state filtering attribute
    for the accompanying PMU event. This would help achieve cleaner
    user space interaction for BHRB.

    This patch fixes a situation like this

    Before patch:-
    ------------
    ./perf record -j any -e branch-misses:k ls
    Error:
    The sys_perf_event_open() syscall returned with 95 (Operation not
    supported) for event (branch-misses:k).
    /bin/dmesg may provide additional information.
    No CONFIG_PERF_EVENTS=y kernel support configured?

    Here 'perf record' actually copies over ':k' filter request into BHRB
    privilege state filter config and our previous check in kernel would
    fail that.

    After patch:-
    -------------
    ./perf record -j any -e branch-misses:k ls
    perf perf.data perf.data.old test-mmap-ring
    [ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.002 MB perf.data (~102 samples)]

    Signed-off-by: Anshuman Khandual
    Acked-by: Michael Neuling
    Signed-off-by: Benjamin Herrenschmidt

    Anshuman Khandual
     
  • Mark pnv_pci_init_ioda2_phb() as __init. It is called only from an
    init function (pnv_pci_init()), and it calls an init function
    (pnv_pci_init_ioda_phb()):

    pnv_pci_init # init
    pnv_pci_init_ioda2_phb # non-init
    pnv_pci_init_ioda_phb # init

    This should fix a section mismatch warning.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Benjamin Herrenschmidt

    Bjorn Helgaas
     
  • The sllp value is stored in mmu_psize_defs in such a way that we can easily OR
    the value to get the operand for slbmte instruction. ie, the L and LP bits are
    not contiguous. Decode the bits and use them correctly in tlbie.
    regression is introduced by 1f6aaaccb1b3af8613fe45781c1aefee2ae8c6b3
    "powerpc: Update tlbie/tlbiel as per ISA doc"

    Reported-by: Paul Mackerras
    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Benjamin Herrenschmidt

    Aneesh Kumar K.V
     
  • We should not fallthrough different case statements in hpte_decode. Add
    break statement to break out of the switch. The regression is introduced by
    dcda287a9b26309ae43a091d0ecde16f8f61b4c0 "powerpc/mm: Simplify hpte_decode"

    Reported-by: Paul Mackerras
    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Benjamin Herrenschmidt

    Aneesh Kumar K.V
     
  • Commit 801eb73f45371accc78ca9d6d22d647eeb722c11 introduced
    a bug while checking PTE flags. We have to drop the _PAGE_COHERENT flag
    when __PAGE_NO_CACHE is set and the cache update policy is not write-through
    (i.e. _PAGE_WRITETHRU is not set)

    Signed-off-by: Denis Kirjanov
    Reviewed-by: Aneesh Kumar K.V
    CC: Michael Ellerman
    Signed-off-by: Benjamin Herrenschmidt

    Denis Kirjanov
     
  • The patch introduces flag EEH_DEV_SYSFS to keep track that the sysfs
    entries for the corresponding EEH device (then PCI device) has been
    added or removed, in order to avoid race condition.

    Signed-off-by: Gavin Shan
    Signed-off-by: Benjamin Herrenschmidt

    Gavin Shan
     
  • The patch fixes following issue:

    Unbalanced enable for IRQ 23
    ------------[ cut here ]------------
    WARNING: at kernel/irq/manage.c:437
    :
    NIP [c00000000016de8c] .__enable_irq+0x11c/0x140
    LR [c00000000016de88] .__enable_irq+0x118/0x140
    Call Trace:
    [c000003ea1f23880] [c00000000016de88] .__enable_irq+0x118/0x140 (unreliable)
    [c000003ea1f23910] [c00000000016df08] .enable_irq+0x58/0xa0
    [c000003ea1f239a0] [c0000000000388b4] .eeh_enable_irq+0xc4/0xe0
    [c000003ea1f23a30] [c000000000038a28] .eeh_report_reset+0x78/0x130
    [c000003ea1f23ac0] [c000000000037508] .eeh_pe_dev_traverse+0x98/0x170
    [c000003ea1f23b60] [c0000000000391ac] .eeh_handle_normal_event+0x2fc/0x3d0
    [c000003ea1f23bf0] [c000000000039538] .eeh_handle_event+0x2b8/0x2c0
    [c000003ea1f23c90] [c000000000039600] .eeh_event_handler+0xc0/0x170
    [c000003ea1f23d30] [c0000000000da9a0] .kthread+0xf0/0x100
    [c000003ea1f23e30] [c00000000000a1dc] .ret_from_kernel_thread+0x5c/0x80

    Signed-off-by: Gavin Shan
    Signed-off-by: Benjamin Herrenschmidt

    Gavin Shan
     
  • While restoring BARs for one specific PCI device, the pci_dev
    instance should have been released. So it's not reliable to use
    the pci_dev instance on restoring BARs. However, we still need
    some information (e.g. PCIe capability position, header type) from
    the pci_dev instance. So we have to store those information to
    EEH device in advance.

    Signed-off-by: Gavin Shan
    Signed-off-by: Benjamin Herrenschmidt

    Gavin Shan
     
  • When EEH error happens to one specific PE, some devices with drivers
    supporting EEH won't except hotplug on the device. However, there
    might have other deivces without driver, or with driver without EEH
    support. For the case, we need do partial hotplug in order to make
    sure that the PE becomes absolutely quite during reset. Otherise,
    the PE reset might fail and leads to failure of error recovery.

    The current code doesn't handle that 'mixed' case properly, it either
    uses the error callbacks to the drivers, or tries hotplug, but doesn't
    handle a PE (EEH domain) composed of a combination of the two.

    The patch intends to support so-called "partial" hotplug for EEH:
    Before we do reset, we stop and remove those PCI devices without
    EEH sensitive driver. The corresponding EEH devices are not detached
    from its PE, but with special flag. After the reset is done, those
    EEH devices with the special flag will be scanned one by one.

    Signed-off-by: Gavin Shan
    Signed-off-by: Benjamin Herrenschmidt

    Gavin Shan
     
  • When EEH error happens to one specific PE, the device drivers
    of its attached EEH devices (PCI devices) are checked to see
    the further action: reset with complete hotplug, or reset without
    hotplug. However, that's not enough for those PCI devices whose
    drivers can't support EEH, or those PCI devices without driver.
    So we need do so-called "partial hotplug" on basis of PCI devices.
    In the situation, part of PCI devices of the specific PE are
    unplugged and plugged again after PE reset.

    The patch changes pcibios_add_pci_devices() so that it can support
    full hotplug and so-called "partial" hotplug based on device-tree
    or real hardware. It's notable that pci_of_scan.c has been changed
    for a bit in order to support the "partial" hotplug based on dev-tree.

    Most of the generic code already supports that, we just need to
    plumb it properly on our side.

    Signed-off-by: Gavin Shan
    Signed-off-by: Benjamin Herrenschmidt

    Gavin Shan
     
  • Currently, we're trasversing the EEH devices list using list_for_each_entry().
    That's not safe enough because the EEH devices might be removed from
    its parent PE while doing iteration. The patch replaces that with
    list_for_each_entry_safe().

    Signed-off-by: Gavin Shan
    Signed-off-by: Benjamin Herrenschmidt

    Gavin Shan
     
  • When we do normal hotplug, the PE (shadow EEH structure) shouldn't be
    kept around.

    However, we need to keep it if the hotplug an artifial one caused by
    EEH errors recovery.

    Since we remove EEH device through the PCI hook pcibios_release_device(),
    the flag "purge_pe" passed to various functions is meaningless. So the patch
    removes the meaningless flag and introduce new flag "EEH_PE_KEEP"
    to save the PE while doing hotplug during EEH error recovery.

    Signed-off-by: Gavin Shan
    Signed-off-by: Benjamin Herrenschmidt

    Gavin Shan
     
  • Since pcibios_release_device() called by pci_stop_and_remove_bus_device()
    has removed the device from the EEH cache, we needn't do that again.

    Cc: Bjorn Helgaas
    Acked-by: Bjorn Helgaas
    Signed-off-by: Gavin Shan
    Signed-off-by: Benjamin Herrenschmidt

    Gavin Shan
     
  • The patch overrides pcibios_release_device() to release EEH
    resources (EEH cache, unbinding EEH device) for the indicated PCI
    device.

    Signed-off-by: Gavin Shan
    Signed-off-by: Benjamin Herrenschmidt

    Gavin Shan