1. 31 3月, 2018 6 次提交
    • J
      powerpc/wii.dts: Add ngpios property · 9693d570
      Jonathan Neuschäfer 提交于
      The Hollywood GPIO controller supports 32 GPIOs, but on the Wii, only 24
      are used.
      Signed-off-by: NJonathan Neuschäfer <j.neuschaefer@gmx.net>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      9693d570
    • J
      powerpc/wii: Explicitly configure GPIO owner for poweroff pin · 9cbaaec1
      Jonathan Neuschäfer 提交于
      The Hollywood chipset's GPIO controller has two sets of registers: One
      for access by the PowerPC CPU, and one for access by the ARM coprocessor
      (but both are accessible from the PPC because the memory firewall
      (AHBPROT) is usually disabled when booting Linux, today).
      
      The wii_power_off function currently assumes that the poweroff GPIO pin
      is configured for use via the ARM side, but the upcoming GPIO driver
      configures all pins for use via the PPC side, breaking poweroff.
      
      Configure the owner register explicitly in wii_power_off to make
      wii_power_off work with and without the new GPIO driver.
      
      I think the Wii can be switched to the generic gpio-poweroff driver,
      after the GPIO driver is merged.
      Signed-off-by: NJonathan Neuschäfer <j.neuschaefer@gmx.net>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      9cbaaec1
    • J
      powerpc/wii: Probe the whole devicetree · 7ab96c0a
      Jonathan Neuschäfer 提交于
      Previously, wii_device_probe would only initialize devices under the
      /hollywood node. After this patch, platform devices placed outside of
      /hollywood will also be initialized.
      
      The intended usecase for this are devices located outside of the
      Hollywood chip, such as GPIO LEDs and GPIO buttons.
      Signed-off-by: NJonathan Neuschäfer <j.neuschaefer@gmx.net>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      7ab96c0a
    • M
      powerpc/64e: Fix oops due to deferral of paca allocation · 1d0afc0d
      Michael Ellerman 提交于
      On 64-bit Book3E systems, in setup_tlb_core_data() we reference other
      CPUs pacas. But in commit 59f57774 ("powerpc/64: Defer paca
      allocation until memory topology is discovered") the allocation of
      non-boot-CPU pacas was deferred until later in boot.
      
      This leads to an oops:
      
        CPU maps initialized for 1 thread per core
        Unable to handle kernel paging request for data at address 0x8888888888888918
        Faulting instruction address: 0xc000000000e2f0d0
        Oops: Kernel access of bad area, sig: 11 [#1]
        NIP .setup_tlb_core_data+0xdc/0x160
        Call Trace:
          .setup_tlb_core_data+0x5c/0x160 (unreliable)
          .setup_arch+0x80/0x348
          .start_kernel+0x7c/0x598
          start_here_common+0x1c/0x40
      
      Luckily setup_tlb_core_data() is called immediately prior to
      smp_setup_pacas(). So simply switching their order is sufficient to
      fix the oops and seems unlikely to have any other unwanted side
      effects.
      
      Fixes: 59f57774 ("powerpc/64: Defer paca allocation until memory topology is discovered")
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      1d0afc0d
    • A
      powerpc/kvm: Fix guest boot failure on Power9 since DAWR changes · ca9a16c3
      Aneesh Kumar K.V 提交于
      SLOF checks for 'sc 1' (hypercall) support by issuing a hcall with
      H_SET_DABR. Since the recent commit e8ebedbf ("KVM: PPC: Book3S
      HV: Return error from h_set_dabr() on POWER9") changed H_SET_DABR to
      return H_UNSUPPORTED on Power9, we see guest boot failures, the
      symptom is the boot seems to just stop in SLOF, eg:
      
        SLOF ***************************************************************
        QEMU Starting
         Build Date = Sep 24 2017 12:23:07
         FW Version = buildd@ release 20170724
        <no further output>
      
      SLOF can cope if H_SET_DABR returns H_HARDWARE. So wwitch the return
      value to H_HARDWARE instead of H_UNSUPPORTED so that we don't break
      the guest boot.
      
      That does mean we return a different error to PowerVM in this case,
      but that's probably not a big concern.
      
      Fixes: e8ebedbf ("KVM: PPC: Book3S HV: Return error from h_set_dabr() on POWER9")
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      ca9a16c3
    • M
      Merge branch 'topic/paca' into next · f437c517
      Michael Ellerman 提交于
      Bring in yet another series that touches KVM code, and might need to
      be merged into the kvm-ppc branch to resolve conflicts.
      
      This required some changes in pnv_power9_force_smt4_catch/release()
      due to the paca array becomming an array of pointers.
      f437c517
  2. 30 3月, 2018 29 次提交
  3. 28 3月, 2018 1 次提交
    • M
      Merge branch 'fixes' into next · 95dff480
      Michael Ellerman 提交于
      Merge our fixes branch from the 4.16 cycle.
      
      There were a number of important fixes merged, in particular some Power9
      workarounds that we want in next for testing purposes. There's also been
      some conflicting changes in the CPU features code which are best merged
      and tested before going upstream.
      95dff480
  4. 27 3月, 2018 4 次提交