1. 13 Feb, 2013 7 commits
    • Timur Tabi's avatar
      powerpc/85xx: describe the PAMU topology in the device tree · 0408753f
      Timur Tabi authored
      The PAMU caches use the LIODNs to determine which cache lines hold the
      entries for the corresponding LIODs.  The LIODNs must therefore be
      carefully assigned to avoid cache thrashing -- two active LIODs with
      LIODNs that put them in the same cache line.
      
      Currently, LIODNs are statically assigned by U-Boot, but this has
      limitations.  LIODNs are assigned even for devices that may be disabled
      or unused by the kernel.  Static assignments also do not allow for device
      drivers which may know which LIODs can be used simultaneously.  In
      other words, we really should assign LIODNs dynamically in Linux.
      
      To do that, we need to describe the PAMU device and cache topologies in
      the device trees.
      Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
      Acked-by: default avatarStuart Yoder <stuart.yoder@freescale.com>
      Acked-by: default avatarScott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      0408753f
    • Vakul Garg's avatar
      crypto: caam - Added property fsl, sec-era in SEC4.0 device tree binding. · 2d1efdb2
      Vakul Garg authored
      This new property defines the era of the particular SEC version.
      The compatible property in device tree "crypto" node has been updated
      not to contain SEC era numbers.
      Signed-off-by: default avatarVakul Garg <vakul@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      2d1efdb2
    • Paul Gortmaker's avatar
      powerpc/85xx: enable MTD options in sbc8548 defconfig · d5bc813f
      Paul Gortmaker authored
      This board has soldered on flash, and a SODIMM flash module.
      Both can be used for booting, via switching JP12 and SW2.8
      and using the sbc8548-altflash.dts when booting from SODIMM.
      
      Here we enable MTD in kernel so that we can see the bootloader
      (and other flash sectors) from linux.
      
      Normal configuration:
      
       root@sbc8548:~# cat /proc/mtd
       dev:    size   erasesize  name
       mtd0: 007a0000 00020000 "space"
       mtd1: 00060000 00020000 "bootloader"
       mtd2: 03f00000 00080000 "space"
       mtd3: 00100000 00080000 "bootloader"
       root@sbc8548:~# dd if=/dev/mtd1 count=1 bs=48|hexdump -C
       1+0 records in
       1+0 records out
       00000000  27 05 19 56 55 2d 42 6f  6f 74 20 32 30 31 32 2e  |'..VU-Boot 2012.|
       00000010  31 30 2d 64 69 72 74 79  20 28 4a 61 6e 20 31 39  |10-dirty (Jan 19|
       00000020  20 32 30 31 33 20 2d 20  31 39 3a 34 30 3a 31 31  | 2013 - 19:40:11|
       00000030
       root@sbc8548:~# dd if=/dev/mtd3 count=1 bs=48|hexdump -C
       1+0 records in
       1+0 records out
       00000000  27 05 19 56 55 2d 42 6f  6f 74 20 32 30 31 32 2e  |'..VU-Boot 2012.|
       00000010  31 30 2d 64 69 72 74 79  20 28 44 65 63 20 31 33  |10-dirty (Dec 13|
       00000020  20 32 30 31 32 20 2d 20  31 35 3a 30 30 3a 30 37  | 2012 - 15:00:07|
       00000030
       root@sbc8548:~#
      
      Alternate configuration, with sbc8548-altflash.dts:
      
       root@sbc8548:~# cat /proc/mtd
       dev:    size   erasesize  name
       mtd0: 03f00000 00080000 "space"
       mtd1: 00100000 00080000 "bootloader"
       mtd2: 007a0000 00020000 "space"
       mtd3: 00060000 00020000 "bootloader"
       root@sbc8548:~# dd if=/dev/mtd1 count=1 bs=48|hexdump -C
       1+0 records in
       1+0 records out
       00000000  27 05 19 56 55 2d 42 6f  6f 74 20 32 30 31 32 2e  |'..VU-Boot 2012.|
       00000010  31 30 2d 64 69 72 74 79  20 28 44 65 63 20 31 33  |10-dirty (Dec 13|
       00000020  20 32 30 31 32 20 2d 20  31 35 3a 30 30 3a 30 37  | 2012 - 15:00:07|
       00000030
       root@sbc8548:~# dd if=/dev/mtd3 count=1 bs=48|hexdump -C
       1+0 records in
       1+0 records out
       00000000  27 05 19 56 55 2d 42 6f  6f 74 20 32 30 31 32 2e  |'..VU-Boot 2012.|
       00000010  31 30 2d 64 69 72 74 79  20 28 4a 61 6e 20 31 39  |10-dirty (Jan 19|
       00000020  20 32 30 31 33 20 2d 20  31 39 3a 34 30 3a 31 31  | 2013 - 19:40:11|
       00000030
       root@sbc8548:~#
      
      Note that in the latter, the larger SODIMM device appears 1st,
      as mtd0 and mtd1, as indicated in the sizes, and in the date
      of the u-boot image.
      
      The kernel configuration is the same in both cases; only the dtb
      needs to be changed in accordance with the JP12/SW2.8 settings.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      d5bc813f
    • Paul Gortmaker's avatar
      powerpc/85xx: add alternate dts file for sbc8548 boot via SODIMM · dcc8722a
      Paul Gortmaker authored
      By moving the two JP12 jumpers 90 degrees, and switching the
      setting of SW2.8, the sbc8548 can be configured to boot off
      the alternate 64MB SODIMM, which when populated with u-boot
      can be a handy recovery option, in case the u-boot in the
      8MB soldered on flash gets corrupted.  Here we add an alternate
      dts file to match that configuration.
      
      To better highlight the differences, the output from the u-boot
      "fli" command is shown for the normal configuration and then
      the alternate configuration.
      
      Normal:
       -----------------------
      Bank # 1: CFI conformant flash (8 x 8)  Size: 8 MB in 64 Sectors
        Intel Extended command set, Manufacturer ID: 0x89, Device ID: 0x17
        Erase timeout: 4096 ms, write timeout: 1 ms
        Buffer write timeout: 2 ms, buffer size: 32 bytes
      
        Sector Start Addresses:
        FF800000 E      FF820000 E      FF840000 E      FF860000 E      FF880000 E
       [...]
        FFEE0000 E      FFF00000 E      FFF20000 E      FFF40000 E      FFF60000 E
        FFF80000        FFFA0000   RO   FFFC0000   RO   FFFE0000   RO
      
      Bank # 2: CFI conformant flash (32 x 8)  Size: 64 MB in 128 Sectors
        Intel Extended command set, Manufacturer ID: 0x89, Device ID: 0x18
        Erase timeout: 4096 ms, write timeout: 1 ms
        Buffer write timeout: 2 ms, buffer size: 32 bytes
      
        Sector Start Addresses:
        EC000000 E      EC080000 E      EC100000 E      EC180000 E      EC200000 E
       [...]
        EFC00000 E      EFC80000 E      EFD00000 E      EFD80000 E      EFE00000 E
        EFE80000 E      EFF00000        EFF80000
       -----------------------
      
      Alternate:
       -----------------------
      Bank # 1: CFI conformant flash (32 x 8)  Size: 64 MB in 128 Sectors
        Intel Extended command set, Manufacturer ID: 0x89, Device ID: 0x18
        Erase timeout: 4096 ms, write timeout: 1 ms
        Buffer write timeout: 2 ms, buffer size: 32 bytes
      
        Sector Start Addresses:
        FC000000 E      FC080000 E      FC100000 E      FC180000 E      FC200000 E
       [...]
        FFC00000 E      FFC80000 E      FFD00000 E      FFD80000 E      FFE00000 E
        FFE80000 E      FFF00000   RO   FFF80000   RO
      
      Bank # 2: CFI conformant flash (8 x 8)  Size: 8 MB in 64 Sectors
        Intel Extended command set, Manufacturer ID: 0x89, Device ID: 0x17
        Erase timeout: 4096 ms, write timeout: 1 ms
        Buffer write timeout: 2 ms, buffer size: 32 bytes
      
        Sector Start Addresses:
        EF800000 E      EF820000 E      EF840000 E      EF860000 E      EF880000 E
       [...]
        EFEE0000 E      EFF00000 E      EFF20000 E      EFF40000 E      EFF60000 E
        EFF80000 E      EFFA0000        EFFC0000        EFFE0000
       -----------------------
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      dcc8722a
    • Paul Gortmaker's avatar
      powerpc/85xx: update sbc8548 flash information to match recent u-boot · 7e83f2ad
      Paul Gortmaker authored
      The original memory map for the sbc8548 had the 64MB SODIMM flash
      device misaligned by 8MB to allow a window of address space for
      the soldered on 8MB device -- i.e.
      
       start           end             CS<n>   width   Desc.
       ----------------------------------------------------------
       fb80_0000       ff7f_ffff       CS6     32      SODIMM flash (64MB)
       ff80_0000       ffff_ffff       CS0     8       Boot flash (8MB)
      
      However, if we want to change the configuration so that it boots
      off the 64MB flash, it is in turn then aligned with a 64MB boundary,
      starting at fc00_0000 (and the 8MB @ fb80_0000 -> fbff_ffff).
      
      This makes for complicated updates, since what is the beginning
      of the physical device is 8MB into its address space in the default
      configuration shown above.
      
      This issue was fixed as of u-boot commit 3fd673cf363bc86ed42eff713d4
      ("sbc8548: relocate 64MB user flash to sane boundary") -- in which
      the SODIMM was mapped to ec00_0000 (natively aligned under efff_ffff)
      and so when JP12/SW2.8 are switched, it will be a a simple 0xec --> 0xfc
      mapping between the two instances.
      
      Here we make the associated changes in the localbus flash memory
      map in the dts file:  indicating the 64MB device starts at ec00_0000
      and that the tail end of the 64MB device (last 2 sectors) can contain
      a bootloader image.
      
      The partitions for both flash devices get a clean-up; there were
      non-meaningful assignments in there that probably originated from
      the MPC8548CDS on which the file was based on.  Now there is just
      the categorization of free space and bootloader images.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      7e83f2ad
    • Paul Gortmaker's avatar
      powerpc/85xx: split sbc8548 dts file into pre and post chunks · d1cf1c7d
      Paul Gortmaker authored
      Updates to u-boot allow this board to boot off of either
      the 8MB soldered on flash, or the 64MB SODIMM flash.
      
      This is achieved by changing JP12 and SW2.8 which in turn
      swaps which flash device appears on /CS0 and /CS6 respectively.
      
      Since the flash devices are not the same size, this also
      changes the MTD memory map layout on the local bus.
      
      Here we split the common chunks out into a pre and post
      include, so they can be reused by an upcoming "alternative
      boot" dts file; leaving only the local bus chunk behind.
      
      No content changes are made at this point - it is just purely
      the move to using include files.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      d1cf1c7d
    • Wei Yongjun's avatar
      powerpc/85xx: use for_each_compatible_node() macro · 5444d639
      Wei Yongjun authored
      Use for_each_compatible_node() macro instead of open coding it.
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Acked-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      5444d639
  2. 12 Feb, 2013 4 commits
    • Kim Phillips's avatar
      powerpc/fsl: msi: sparse fixes · 6cce76dc
      Kim Phillips authored
      arch/powerpc/sysdev/fsl_msi.c:31:1: warning: symbol 'msi_head' was not declared. Should it be static?
      arch/powerpc/sysdev/fsl_msi.c:138:40: warning: incorrect type in argument 1 (different base types)
      arch/powerpc/sysdev/fsl_msi.c:138:40:    expected restricted __be64 const [usertype] *p
      arch/powerpc/sysdev/fsl_msi.c:138:40:    got unsigned long long const [usertype] *[assigned] reg
      Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      6cce76dc
    • Kim Phillips's avatar
      powerpc/fsl: ifc: sparse fixes · 8998a030
      Kim Phillips authored
      arch/powerpc/sysdev/fsl_ifc.c:66:38: warning: incorrect type in initializer (different base types)
      arch/powerpc/sysdev/fsl_ifc.c:66:38:    expected restricted __be32 [usertype] cspr
      arch/powerpc/sysdev/fsl_ifc.c:66:38:    got unsigned int
      arch/powerpc/sysdev/fsl_ifc.c:67:21: warning: restricted __be32 degrades to integer
      arch/powerpc/sysdev/fsl_ifc.c:67:39: warning: restricted __be32 degrades to integer
      Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      8998a030
    • Kim Phillips's avatar
      powerpc/fsl: fsl_soc: sparse fixes · 8443cc14
      Kim Phillips authored
      arch/powerpc/sysdev/fsl_soc.c:70:67: warning: incorrect type in argument 2 (different base types)
      arch/powerpc/sysdev/fsl_soc.c:70:67:    expected restricted __be32 const [usertype] *addr
      arch/powerpc/sysdev/fsl_soc.c:70:67:    got unsigned int const [usertype] *
      Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      8443cc14
    • Kim Phillips's avatar
      powerpc/fsl: lbc: sparse fixes · 01673a13
      Kim Phillips authored
      arch/powerpc/sysdev/fsl_lbc.c:77:36: warning: incorrect type in initializer (different base types)
      arch/powerpc/sysdev/fsl_lbc.c:77:36:    expected restricted __be32 [usertype] br
      arch/powerpc/sysdev/fsl_lbc.c:77:36:    got unsigned int
      arch/powerpc/sysdev/fsl_lbc.c:78:36: warning: incorrect type in initializer (different base types)
      arch/powerpc/sysdev/fsl_lbc.c:78:36:    expected restricted __be32 [usertype] or
      arch/powerpc/sysdev/fsl_lbc.c:78:36:    got unsigned int
      arch/powerpc/sysdev/fsl_lbc.c:80:21: warning: restricted __be32 degrades to integer
      arch/powerpc/sysdev/fsl_lbc.c:80:38: warning: restricted __be32 degrades to integer
      arch/powerpc/sysdev/fsl_lbc.c:111:12: warning: incorrect type in assignment (different base types)
      arch/powerpc/sysdev/fsl_lbc.c:111:12:    expected restricted __be32 [usertype] br
      arch/powerpc/sysdev/fsl_lbc.c:111:12:    got unsigned int
      arch/powerpc/sysdev/fsl_lbc.c:113:17: warning: restricted __be32 degrades to integer
      arch/powerpc/sysdev/fsl_lbc.c:127:17: warning: restricted __be32 degrades to integer
      Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      01673a13
  3. 08 Feb, 2013 4 commits
    • Ian Munsie's avatar
      powerpc: Add support for context switching the TAR register · 2468dcf6
      Ian Munsie authored
      This patch adds support for enabling and context switching the Target
      Address Register in Power8. The TAR is a new special purpose register
      that can be used for computed branches with the bctar[l] (branch
      conditional to TAR) instruction in the same manner as the count and link
      registers.
      Signed-off-by: default avatarIan Munsie <imunsie@au1.ibm.com>
      Signed-off-by: default avatarMatt Evans <matt@ozlabs.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      2468dcf6
    • Nishanth Aravamudan's avatar
      pseries/iommu: Remove DDW on kexec · 14b6f00f
      Nishanth Aravamudan authored
      pseries/iommu: remove DDW on kexec
      
      We currently insert a property in the device-tree when we successfully
      configure DDW for a given slot. This was meant to be an optimization to
      speed up kexec/kdump, so that we don't need to make the RTAS calls again
      to re-configured DDW in the new kernel.
      
      However, we end up tripping a plpar_tce_stuff failure on kexec/kdump
      because we unconditionally parse the ibm,dma-window property for the
      node at bus/dev setup time. This property contains the 32-bit DMA window
      LIOBN, which is distinct from the DDW window's. We pass that LIOBN (via
      iommu_table_init -> iommu_table_clear -> tce_free ->
      tce_freemulti_pSeriesLP) to plpar_tce_stuff, which fails because that
      32-bit window is no longer present after
      25ebc45b ("powerpc/pseries/iommu: remove
      default window before attempting DDW manipulation").
      
      I believe the simplest, easiest-to-maintain fix is to just change our
      initcall to, rather than detecting and updating the new kernel's DDW
      knowledge, just remove all DDW configurations. When the drivers
      re-initialize, we will set everything back up as it was before.
      Signed-off-by: default avatarNishanth Aravamudan <nacc@us.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      14b6f00f
    • Nishanth Aravamudan's avatar
      pseries/iommu: Restore_default_window does not use liobn parameter · a1dabade
      Nishanth Aravamudan authored
      The parameter is unused, and complicates a following fix. Just remove
      it.
      Signed-off-by: default avatarNishanth Aravamudan <nacc@us.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      a1dabade
    • Daniel Borkmann's avatar
      powerpc: fix ics_rtas_init and start_secondary section mismatch · 174ea471
      Daniel Borkmann authored
      It seems, we're fine with just annotating the two functions.
      Thus, this fixes the following build warnings on ppc64:
      
      WARNING: arch/powerpc/sysdev/xics/built-in.o(.text+0x1664):
      The function .ics_rtas_init() references
      the function __init .xics_register_ics().
      This is often because .ics_rtas_init lacks a __init
      annotation or the annotation of .xics_register_ics is wrong.
      
      WARNING: arch/powerpc/sysdev/built-in.o(.text+0x6044):
      The function .ics_rtas_init() references
      the function __init .xics_register_ics().
      This is often because .ics_rtas_init lacks a __init
      annotation or the annotation of .xics_register_ics is wrong.
      
      WARNING: arch/powerpc/kernel/built-in.o(.text+0x2db30):
      The function .start_secondary() references
      the function __cpuinit .vdso_getcpu_init().
      This is often because .start_secondary lacks a __cpuinit
      annotation or the annotation of .vdso_getcpu_init is wrong.
      
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      174ea471
  4. 29 Jan, 2013 13 commits
  5. 28 Jan, 2013 12 commits
    • Tiejun Chen's avatar
      powerpc: Max next_tb to prevent from replaying timer interrupt · 689dfa89
      Tiejun Chen authored
      With lazy interrupt, we always call __check_irq_replaysome with
      decrementers_next_tb to check if we need to replay timer interrupt.
      So in hotplug case we also need to set decrementers_next_tb as MAX
      to make sure __check_irq_replay don't replay timer interrupt
      when return as we expect, otherwise we'll trap here infinitely.
      Signed-off-by: default avatarTiejun Chen <tiejun.chen@windriver.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      689dfa89
    • Cong Ding's avatar
      powerpc: kernel/kgdb.c: Fix memory leakage · fefd9e6f
      Cong Ding authored
      the variable backup_current_thread_info isn't freed before existing the
      function.
      Signed-off-by: default avatarCong Ding <dinggnu@gmail.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      fefd9e6f
    • Tiejun Chen's avatar
      powerpc/book3e: Disable interrupt after preempt_schedule_irq · 572177d7
      Tiejun Chen authored
      In preempt case current arch_local_irq_restore() from
      preempt_schedule_irq() may enable hard interrupt but we really
      should disable interrupts when we return from the interrupt,
      and so that we don't get interrupted after loading SRR0/1.
      Signed-off-by: default avatarTiejun Chen <tiejun.chen@windriver.com>
      CC: <stable@vger.kernel.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      572177d7
    • Carl E. Love's avatar
      powerpc/oprofile: Fix error in oprofile power7_marked_instr_event() function · 46ed7a76
      Carl E. Love authored
      The calculation for the left shift of the mask OPROFILE_PM_PMCSEL_MSK has an
      error.  The calculation is should be to shift left by (max_cntrs - cntr) times
      the width of the pmsel field width.  However, the #define OPROFILE_MAX_PMC_NUM
      was used instead of OPROFILE_PMSEL_FIELD_WIDTH.  This patch fixes the
      calculation.
      Signed-off-by: default avatarCarl Love <cel@us.ibm.com>
      Acked-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      46ed7a76
    • Steven Rostedt's avatar
      powerpc/pasemi: Fix crash on reboot · 72640d88
      Steven Rostedt authored
      commit f96972f2 "kernel/sys.c: call disable_nonboot_cpus() in
      kernel_restart()"
      
      added a call to disable_nonboot_cpus() on kernel_restart(), which tries
      to shutdown all the CPUs except the first one. The issue with the PA
      Semi, is that it does not support CPU hotplug.
      
      When the call is made to __cpu_down(), it calls the notifiers
      CPU_DOWN_PREPARE, and then tries to take the CPU down.
      
      One of the notifiers to the CPU hotplug code, is the cpufreq. The
      DOWN_PREPARE will call __cpufreq_remove_dev() which calls
      cpufreq_driver->exit. The PA Semi exit handler unmaps regions of I/O
      that is used by an interrupt that goes off constantly
      (system_reset_common, but it goes off during normal system operations
      too). I'm not sure exactly what this interrupt does.
      
      Running a simple function trace, you can see it goes off quite a bit:
      
      # tracer: function
      #
      #           TASK-PID    CPU#    TIMESTAMP  FUNCTION
      #              | |       |          |         |
                <idle>-0     [001]  1558.859363: .pasemi_system_reset_exception <-.system_reset_exception
                <idle>-0     [000]  1558.860112: .pasemi_system_reset_exception <-.system_reset_exception
                <idle>-0     [000]  1558.861109: .pasemi_system_reset_exception <-.system_reset_exception
                <idle>-0     [001]  1558.861361: .pasemi_system_reset_exception <-.system_reset_exception
                <idle>-0     [000]  1558.861437: .pasemi_system_reset_exception <-.system_reset_exception
      
      When the region is unmapped, the system crashes with:
      
      Disabling non-boot CPUs ...
      Error taking CPU1 down: -38
      Unable to handle kernel paging request for data at address 0xd0000800903a0100
      Faulting instruction address: 0xc000000000055fcc
      Oops: Kernel access of bad area, sig: 11 [#1]
      PREEMPT SMP NR_CPUS=64 NUMA PA Semi PWRficient
      Modules linked in: shpchp
      NIP: c000000000055fcc LR: c000000000055fb4 CTR: c0000000000df1fc
      REGS: c0000000012175d0 TRAP: 0300   Not tainted  (3.8.0-rc4-test-dirty)
      MSR: 9000000000009032 <SF,HV,EE,ME,IR,DR,RI>  CR: 24000088  XER: 00000000
      SOFTE: 0
      DAR: d0000800903a0100, DSISR: 42000000
      TASK = c0000000010e9008[0] 'swapper/0' THREAD: c000000001214000 CPU: 0
      GPR00: d0000800903a0000 c000000001217850 c0000000012167e0 0000000000000000
      GPR04: 0000000000000000 0000000000000724 0000000000000724 0000000000000000
      GPR08: 0000000000000000 0000000000000000 0000000000000001 0000000000a70000
      GPR12: 0000000024000080 c00000000fff0000 ffffffffffffffff 000000003ffffae0
      GPR16: ffffffffffffffff 0000000000a21198 0000000000000060 0000000000000000
      GPR20: 00000000008fdd35 0000000000a21258 000000003ffffaf0 0000000000000417
      GPR24: 0000000000a226d0 c000000000000000 0000000000000000 0000000000000000
      GPR28: c00000000138b358 0000000000000000 c000000001144818 d0000800903a0100
      NIP [c000000000055fcc] .set_astate+0x5c/0xa4
      LR [c000000000055fb4] .set_astate+0x44/0xa4
      Call Trace:
      [c000000001217850] [c000000000055fb4] .set_astate+0x44/0xa4 (unreliable)
      [c0000000012178f0] [c00000000005647c] .restore_astate+0x2c/0x34
      [c000000001217980] [c000000000054668] .pasemi_system_reset_exception+0x6c/0x88
      [c000000001217a00] [c000000000019ef0] .system_reset_exception+0x48/0x84
      [c000000001217a80] [c000000000001e40] system_reset_common+0x140/0x180
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      72640d88
    • Li Zhong's avatar
      powerpc: Fix MAX_STACK_TRACE_ENTRIES too low warning for ppc32 · 41d82bdb
      Li Zhong authored
      This patch fixes MAX_STACK_TRACE_ENTRIES too low warning for ppc32,
      which is similar to commit 12660b17.
      Reported-by: default avatarChristian Kujau <lists@nerdbynature.de>
      Signed-off-by: default avatarLi Zhong <zhong@linux.vnet.ibm.com>
      Tested-by: default avatarChristian Kujau <lists@nerdbynature.de>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      41d82bdb
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes · 45e72af0
      Linus Torvalds authored
      Pull GFS2 fix from Steven Whitehouse.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes:
        GFS2: fix skip unlock condition
      45e72af0
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · ae2c3d95
      Linus Torvalds authored
      Pull IOMMU fix from Joerg Roedel:
       "One fix for the AMD IOMMU driver to work around broken BIOSes found in
        the field.  Some BIOSes forget to enable a workaround for a hardware
        problem which might cause the IOMMU to stop working under high load
        conditions.  The fix makes sure this workaround is enabled."
      
      * tag 'iommu-fixes-v3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        IOMMU, AMD Family15h Model10-1Fh erratum 746 Workaround
      ae2c3d95
    • Linus Torvalds's avatar
      Merge tag 'mfd-for-linus-3.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 · 325a86b6
      Linus Torvalds authored
      Pull MFD fixes from Samuel Ortiz:
       "This is the first pull request for MFD fixes for 3.8
      
        We have some build failure fixes (twl4030, vexpress, abx500 and
        tps65910), some actual runtime oops and lockup fixes (rtsx, da9052),
        and some more hypothetical NULL pointers dereferences fixes for
        pcf50633 and max776xx.
      
        Then we also have additional rtsx fixes for a correct switch output
        voltage and clock divider correctness for rtl8411 (rtsx driver), and
        irqdomain fix for db8550-prcmu, and some more cosmetic fixes for
        arizona and wm5102."
      
      * tag 'mfd-for-linus-3.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
        mfd: rtsx: Fix oops when rtsx_pci_sdmmc is not probed
        mfd: wm5102: Fix definition of WM5102_MAX_REGISTER
        mfd: twl4030: Don't warn about uninitialized return code
        mfd: da9052/53 lockup fix
        mfd: rtsx: Add clock divider hook
        mmc: rtsx: Call MFD hook to switch output voltage
        mfd: rtsx: Add output voltage switch hook
        mfd: Fix compile errors and warnings when !CONFIG_AB8500_BM
        mfd: vexpress: Export global functions to fix build error
        mfd: arizona: Check errors from regcache_sync()
        mfd: tc3589x: Use simple irqdomain
        mfd: pcf50633: Init pcf->dev before using it
        mfd: max77693: Init max77693->dev before using it
        mfd: max77686: Init max77686->dev before using it
        mfd: db8500-prcmu: Fix irqdomain usage
        mfd: tps65910: Select REGMAP_IRQ in Kconfig to fix build error
        mfd: arizona: Disable control interface reporting for WM5102 and WM5110
      325a86b6
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 22f83798
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "Much more accumulated than I would have liked due to an unexpected
        bout with a nasty flu:
      
         1) AH and ESP input don't set ECN field correctly because the
            transport head of the SKB isn't set correctly, fix from Li
            RongQing.
      
         2) If netfilter conntrack zones are disabled, we can return an
            uninitialized variable instead of the proper error code.  Fix from
            Borislav Petkov.
      
         3) Fix double SKB free in ath9k driver beacon handling, from Felix
            Feitkau.
      
         4) Remove bogus assumption about netns cleanup ordering in
            nf_conntrack, from Pablo Neira Ayuso.
      
         5) Remove a bogus BUG_ON in the new TCP fastopen code, from Eric
            Dumazet.  It uses spin_is_locked() in it's test and is therefore
            unsuitable for UP.
      
         6) Fix SELINUX labelling regressions added by the tuntap multiqueue
            changes, from Paul Moore.
      
         7) Fix CRC errors with jumbo frame receive in tg3 driver, from Nithin
            Nayak Sujir.
      
         8) CXGB4 driver sets interrupt coalescing parameters only on first
            queue, rather than all of them.  Fix from Thadeu Lima de Souza
            Cascardo.
      
         9) Fix regression in the dispatch of read/write registers in dm9601
            driver, from Tushar Behera.
      
        10) ipv6_append_data miscalculates header length, from Romain KUNTZ.
      
        11) Fix PMTU handling regressions on ipv4 routes, from Steffen
            Klassert, Timo Teräs, and Julian Anastasov.
      
        12) In 3c574_cs driver, add necessary parenthesis to "x << y & z"
            expression.  From Nickolai Zeldovich.
      
        13) macvlan_get_size() causes underallocation netlink message space,
            fix from Eric Dumazet.
      
        14) Avoid division by zero in xfrm_replay_advance_bmp(), from Nickolai
            Zeldovich.  Amusingly the zero check was already there, we were
            just performing it after the modulus :-)
      
        15) Some more splice bug fixes from Eric Dumazet, which fix things
            mostly eminating from how we now more aggressively use high-order
            pages in SKBs.
      
        16) Fix size calculation bug when freeing hash tables in the IPSEC
            xfrm code, from Michal Kubecek.
      
        17) Fix PMTU event propagation into socket cached routes, from Steffen
            Klassert.
      
        18) Fix off by one in TX buffer release in netxen driver, from Eric
            Dumazet.
      
        19) Fix rediculous memory allocation requirements introduced by the
            tuntap multiqueue changes, from Jason Wang.
      
        20) Remove bogus AMD platform workaround in r8169 driver that causes
            major problems in normal operation, from Timo Teräs.
      
        21) virtio-net set affinity and select queue don't handle
            discontiguous cpu numbers properly, fix from Wanlong Gao.
      
        22) Fix a route refcounting issue in loopback driver, from Eric
            Dumazet.  There's a similar fix coming that we might add to the
            macvlan driver as well.
      
        23) Fix SKB leaks in batman-adv's distributed arp table code, from
            Matthias Schiffer.
      
        24) r8169 driver gives descriptor ownership back the hardware before
            we're done reading the VLAN tag out of it, fix from Francois
            Romieu.
      
        25) Checksums not calculated properly in GRE tunnel driver fix from
            Pravin B Shelar.
      
      26) Fix SCTP memory leak on namespace exit."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (101 commits)
        dm9601: support dm9620 variant
        SCTP: Free the per-net sysctl table on net exit. v2
        net: phy: icplus: fix broken INTR pin settings
        net: phy: icplus: Use the RGMII interface mode to configure clock delays
        IP_GRE: Fix kernel panic in IP_GRE with GRE csum.
        sctp: set association state to established in dupcook_a handler
        ip6mr: limit IPv6 MRT_TABLE identifiers
        r8169: fix vlan tag read ordering.
        net: cdc_ncm: use IAD provided by the USB core
        batman-adv: filter ARP packets with invalid MAC addresses in DAT
        batman-adv: check for more types of invalid IP addresses in DAT
        batman-adv: fix skb leak in batadv_dat_snoop_incoming_arp_reply()
        net: loopback: fix a dst refcounting issue
        virtio-net: reset virtqueue affinity when doing cpu hotplug
        virtio-net: split out clean affinity function
        virtio-net: fix the set affinity bug when CPU IDs are not consecutive
        can: pch_can: fix invalid error codes
        can: ti_hecc: fix invalid error codes
        can: c_can: fix invalid error codes
        r8169: remove the obsolete and incorrect AMD workaround
        ...
      22f83798
    • Suravee Suthikulpanit's avatar
      IOMMU, AMD Family15h Model10-1Fh erratum 746 Workaround · 318fe782
      Suravee Suthikulpanit authored
      The IOMMU may stop processing page translations due to a perceived lack
      of credits for writing upstream peripheral page service request (PPR)
      or event logs. If the L2B miscellaneous clock gating feature is enabled
      the IOMMU does not properly register credits after the log request has
      completed, leading to a potential system hang.
      
      BIOSes are supposed to disable L2B micellaneous clock gating by setting
      L2_L2B_CK_GATE_CONTROL[CKGateL2BMiscDisable](D0F2xF4_x90[2]) = 1b. This
      patch corrects that for those which do not enable this workaround.
      Signed-off-by: default avatarSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
      Acked-by: default avatarBorislav Petkov <bp@suse.de>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJoerg Roedel <joro@8bytes.org>
      318fe782
    • David Teigland's avatar
      GFS2: fix skip unlock condition · d4e0bfec
      David Teigland authored
      The recent commit fb6791d1
      included the wrong logic.  The lvbptr check was incorrectly
      added after the patch was tested.
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      d4e0bfec