1. 22 5月, 2015 4 次提交
    • A
      powerpc/powernv: Reorder OPAL subsystem initialisation · 96e023e7
      Alistair Popple 提交于
      Most of the OPAL subsystems are always compiled in for PowerNV and
      many of them need to be initialised before or after other OPAL
      subsystems. Rather than trying to control this ordering through
      machine initcalls it is clearer and easier to control initialisation
      order with explicit calls in opal_init.
      Signed-off-by: NAlistair Popple <alistair@popple.id.au>
      Cc: Mahesh Jagannath Salgaonkar <mahesh@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      96e023e7
    • S
      powerpc/powernv: Introduce sysfs control for fastsleep workaround behavior · 5703d2f4
      Shreyas B. Prabhu 提交于
      Fastsleep is one of the idle state which cpuidle subsystem currently
      uses on power8 machines. In this state L2 cache is brought down to a
      threshold voltage. Therefore when the core is in fastsleep, the
      communication between L2 and L3 needs to be fenced. But there is a bug
      in the current power8 chips surrounding this fencing.
      
      OPAL provides a workaround which precludes the possibility of hitting
      this bug. But running with this workaround applied causes checkstop
      if any correctable error in L2 cache directory is detected. Hence OPAL
      also provides a way to undo the workaround.
      
      In the existing implementation, workaround is applied by the last thread
      of the core entering fastsleep and undone by the first thread waking up.
      But this has a performance cost. These OPAL calls account for roughly
      4000 cycles everytime the core has to enter or wakeup from fastsleep.
      
      This patch introduces a sysfs attribute (fastsleep_workaround_applyonce)
      to choose the behavior of this workaround.
      
      By default, fastsleep_workaround_applyonce = 0. In this case, workaround
      is applied/undone everytime the core enters/exits fastsleep.
      
      fastsleep_workaround_applyonce = 1. In this case the workaround is
      applied once on all the cores and never undone. This can be triggered by
      echo 1 > /sys/devices/system/cpu/fastsleep_workaround_applyonce
      
      For simplicity this attribute can be modified only once. Implying, once
      fastsleep_workaround_applyonce is changed to 1, it cannot be reverted
      to the default state.
      Signed-off-by: NShreyas B. Prabhu <shreyas@linux.vnet.ibm.com>
      Reviewed-by: NPreeti U Murthy <preeti@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      5703d2f4
    • S
      powerpc/powernv: Move cpuidle related code from setup.c to new file · d405a98c
      Shreyas B. Prabhu 提交于
      This is a cleanup patch; doesn't change any functionality. Moves
      all cpuidle related code from setup.c to a new file.
      Signed-off-by: NShreyas B. Prabhu <shreyas@linux.vnet.ibm.com>
      Reviewed-by: NPreeti U Murthy <preeti@linux.vnet.ibm.com>
      [mpe: Fix the SMP=n build by including asm/smp.h in idle.c]
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      d405a98c
    • S
      powerpc: Fix cpu_online_cores_map to return only online threads mask · e602ffb2
      Shreyas B. Prabhu 提交于
      Currently, cpu_online_cores_map returns a mask, which for every core with
      at least one online thread, has the bit for thread 0 of the core set to 1,
      and the bits for all other threads of the core set to 0. But thread 0 of
      the core itself may not be online always. In such cases, if the returned
      mask is used for IPI, then it'll cause IPIs to be skipped on cores where
      the first thread is offline, because the IPI code refuses to send IPIs to
      offline threads.
      
      Fix this by setting the bit of the first online thread in the core.
      This is done by fixing this in the underlying function
      cpu_thread_mask_to_cores.
      
      The result has the property that for all cores with online threads, there
      is one bit set in the returned map. And further, all bits that are set in
      the returned map correspond to online threads.
      Signed-off-by: NShreyas B. Prabhu <shreyas@linux.vnet.ibm.com>
      Reviewed-by: NPreeti U Murthy <preeti@linux.vnet.ibm.com>
      [ Changelog from Michael Ellerman <mpe@ellerman.id.au> ]
      Reviewed-by: NGautham R. Shenoy <ego@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      e602ffb2
  2. 20 5月, 2015 1 次提交
    • L
      powerpc: Enable sys_kcmp() for CRIU · 7978f76c
      Laurent Dufour 提交于
      The commit 8170a83f ("powerpc: Wireup the kcmp syscall to sys_ni") has
      disabled the kcmp syscall for powerpc.  This has been done due to the use
      of unsigned long parameters which may require a dedicated wrapper to handle
      32bit process on top of 64bit kernel.  However in the kcmp() case, the 2
      unsigned long parameters are currently only used to carry file descriptors
      from user space to the kernel.  Since such a parameter is passed through
      register, and file descriptor doesn't need to get extended, there is,
      today, no need for a wrapper.
      
      In the case there will be a need to pass address in or out of this system
      call, then a wrapper could be required, it will then be to care of it.
      
      As today this is not the case, it is safe to enable kcmp() on powerpc.
      
      Tested (by Laurent) on 64-bit, 32-bit, and 32-bit userspace on 64-bit
      kernel using tools/testing/selftests/kcmp [mpe].
      Signed-off-by: NLaurent Dufour <ldufour@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      7978f76c
  3. 18 5月, 2015 1 次提交
  4. 13 5月, 2015 4 次提交
  5. 12 5月, 2015 3 次提交
  6. 11 5月, 2015 18 次提交
    • J
      powerpc/powernv: Silence SYSPARAM warning on boot · 38c04887
      Joel Stanley 提交于
      OpenPower BMC machines do not place any sysparams in the device tree, so
      at every boot we get a warning:
      
       [    0.437176] SYSPARAM: Opal sysparam node not found
      
      Remove the warning, and reorder the init so we don't peform allocations
      when there is no sysparam node in the device tree.
      Signed-off-by: NJoel Stanley <joel@jms.id.au>
      Acked-by: NNeelesh Gupta <neelegup@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      38c04887
    • M
      powerpc/cell: Drop cbe-oss-dev mailing list from MAINTAINERS · a14ab6b6
      Michael Ellerman 提交于
      Traffic on the cbe-oss-dev list is more or less non-existent, other than
      CC's from linuxppc.
      
      It's seems like we may as well just send everyone to linuxppc and
      archive the list.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      Acked-by: NJeremy Kerr <jk@ozlabs.org>
      a14ab6b6
    • M
      powerpc/vdso: Disable building the 32-bit VDSO on little endian · e0d00591
      Michael Ellerman 提交于
      The only little endian configuration we support is ppc64le. As such if
      we're building little endian we don't need a 32-bit VDSO, because there
      is no 32-bit userspace.
      
      This patch is a fairly ugly mess of #ifdefs, but is the minimal logic
      required to disable the 32-bit VDSO. We can hopefully clean up the
      result in future with some further refactoring.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      e0d00591
    • M
      powerpc/vdso: Combine start/size variables · 6e5c0775
      Michael Ellerman 提交于
      In vdso_fixup_features() we have start64/start32 and size64/size32, but
      they have the same types, ie. void * and unsigned long.
      
      They're only used to save the return value from find_sectionXX() for the
      subsequent call to do_feature_fixups(), so there's no overlap in their
      usage either.
      
      So we can just consolidate them into start/size and avoid the
      duplication.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      6e5c0775
    • M
      powerpc/vdso: Remove unused debug code · 63da88dd
      Michael Ellerman 提交于
      It's in the git history if we ever need it back.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      63da88dd
    • M
      powerpc: Reject binutils 2.24 when building little endian · 60e065f7
      Michael Ellerman 提交于
      There is a bug in binutils 2.24 which causes miscompilation if we're
      building little endian and using weak symbols (which the kernel does).
      
      It is fixed in binutils commit 57fa7b8c7e59 "Correct elf_merge_st_other
      arguments for weak symbols", which is in binutils 2.25 and has been
      backported to the binutils 2.24 branch and has been picked up by most
      distros it seems.
      
      However if we're running stock 2.24 (no extra version) then the bug is
      present, so check for that and bail.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      60e065f7
    • M
      powerpc: Don't do gcc version checks if we're building with clang · e79c8385
      Michael Ellerman 提交于
      We have several checks for bad gcc versions in our Makefile. These don't
      apply if we're building with clang, so skip them in that case.
      
      The obvious check would be for ${COMPILER} = "gcc", but because of the
      way the logic in the top level Makefile conditionally sets COMPILER,
      it's possible that we're building with gcc but COMPILER was not set.
      
      So instead check for ${COMPILER} != "clang", which we know is currently
      the only other possibility.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      e79c8385
    • M
      powerpc: Show utsname->machine in boot-up banner · 5c0aebf6
      Michael Ellerman 提交于
      Currently we print "Starting Linux PPC64" at boot. But we don't mention
      anywhere whether the kernel is big or little endian.
      
      If we print the utsname->machine value instead we get either "ppc64" or
      "ppc64le" which is much more informative, eg:
      
        Starting Linux ppc64le #1 SMP Wed Apr 15 12:12:20 AEST 2015
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      5c0aebf6
    • M
      powerpc/pasemi: Only the build the pasemi MSI code for PASEMI=y · 5af7a6f3
      Michael Ellerman 提交于
      The pasemi MSI code is currently always built when MPIC=y && PCI_MSI=y.
      It should not have any effect on other platforms, because it immediately
      checks the MPIC's compatible property for "pasemi,pwrficient-openpic".
      
      However it's odd that it's still built even when PASEMI=n. It also
      needn't be in sysdev, as it's only used by pasemi. So move it into
      platforms/pasemi, whereby it will only be built for PASEMI=y.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      5af7a6f3
    • M
      powerpc: Make STRICT_MM_TYPECHECKS a config option · f1e7c202
      Michael Ellerman 提交于
      The STRICT_MM_TYPECHECKS code has bit-rotted over the years. To make it
      possible to easily build test it, make it a CONFIG option.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      f1e7c202
    • N
      powerpc/pseries: Fix possible leaked device node reference · 2222ce0f
      Nathan Fontenot 提交于
      Failure return from dlpar_configure_connector when dlpar adding cpus
      results in leaking references to the cpus parent device node. Move the
      call to of_node_put() prior to checking the result of
      dlpar_configure_connector.
      
      Fixes: 8d5ff320 ("powerpc/pseries: Make dlpar_configure_connector parent node aware")
      Signed-off-by: NNathan Fontenot <nfont@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      2222ce0f
    • K
      powerpc: Constify irq_domain_ops · 202648a6
      Krzysztof Kozlowski 提交于
      The irq_domain_ops are not modified by the driver and the irqdomain core
      code accepts pointer to a const data.
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski.k@gmail.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      202648a6
    • L
      Linux 4.1-rc3 · 030bbdbf
      Linus Torvalds 提交于
      030bbdbf
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 01d07351
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "I really need to get back to sending these on my Friday, instead of my
        Monday morning, but nothing too amazing in here: a few amdkfd fixes, a
        few radeon fixes, i915 fixes, one tegra fix and one core fix"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm: Zero out invalid vblank timestamp in drm_update_vblank_count.
        drm/tegra: Don't use vblank_disable_immediate on incapable driver.
        drm/radeon: stop trying to suspend UVD sessions
        drm/radeon: more strictly validate the UVD codec
        drm/radeon: make UVD handle checking more strict
        drm/radeon: make VCE handle check more strict
        drm/radeon: fix userptr lockup
        drm/radeon: fix userptr BO unpin bug v3
        drm/amdkfd: Initialize sdma vm when creating sdma queue
        drm/amdkfd: Don't report local memory size
        drm/amdkfd: allow unregister process with queues
        drm/i915: Drop PIPE-A quirk for 945GSE HP Mini
        drm/i915: Sink rate read should be saved in deca-kHz
        drm/i915/dp: there is no audio on port A
        drm/i915: Add missing MacBook Pro models with dual channel LVDS
        drm/i915: Assume dual channel LVDS if pixel clock necessitates it
        drm/radeon: don't setup audio on asics that don't support it
        drm/radeon: disable semaphores for UVD V1 (v2)
      01d07351
    • D
      Merge tag 'drm-intel-fixes-2015-05-08' of git://anongit.freedesktop.org/drm-intel into drm-fixes · 332545b3
      Dave Airlie 提交于
      misc i915 fixes.
      
      * tag 'drm-intel-fixes-2015-05-08' of git://anongit.freedesktop.org/drm-intel:
        drm/i915: Drop PIPE-A quirk for 945GSE HP Mini
        drm/i915: Sink rate read should be saved in deca-kHz
        drm/i915/dp: there is no audio on port A
        drm/i915: Add missing MacBook Pro models with dual channel LVDS
        drm/i915: Assume dual channel LVDS if pixel clock necessitates it
      332545b3
    • M
      drm: Zero out invalid vblank timestamp in drm_update_vblank_count. · fdb68e09
      Mario Kleiner 提交于
      Since commit 844b03f2 we make
      sure that after vblank irq off, we return the last valid
      (vblank count, vblank timestamp) pair to clients, e.g., during
      modesets, which is good.
      
      An overlooked side effect of that commit for kms drivers without
      support for precise vblank timestamping is that at vblank irq
      enable, when we update the vblank counter from the hw counter, we
      can't update the corresponding vblank timestamp, so now we have a
      totally mismatched timestamp for the new count to confuse clients.
      
      Restore old client visible behaviour from before Linux 3.17, but
      zero out the timestamp at vblank counter update (instead of disable
      as in original implementation) if we can't generate a meaningful
      timestamp immediately for the new vblank counter. This will fix
      this regression, so callers know they need to retry again later
      if they need a valid timestamp, but at the same time preserves
      the improvements made in the commit mentioned above.
      Signed-off-by: NMario Kleiner <mario.kleiner.de@gmail.com>
      Cc: <stable@vger.kernel.org> #v3.17+
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      fdb68e09
    • L
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 41f2a93c
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "A set of ARM fixes:
      
         - fix an off-by-one error in the iommu DMA ops, which caused errors
           with a 4GiB size.
      
         - remove comments mentioning the non-existent CONFIG_CPU_ARM1020_CPU_IDLE
           macro.
      
         - remove useless CONFIG_CPU_ICACHE_STREAMING_DISABLE blocks, where
           this symbol never appeared in any Kconfig.
      
         - fix Feroceon code to cope with a previous change correctly (it
           incorrectly left an additional word in an assembly structure
           definition)
      
         - avoid a misleading IRQ affinity warning in the ARM PMU code for
           IRQs which are already affine to their CPUs.
      
         - fix the node name printed in the IRQ affinity warning"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8352/1: perf: Fix the pmu node name in warning message
        ARM: 8351/1: perf: don't warn about missing interrupt-affinity property for PPIs
        ARM: 8350/1: proc-feroceon: Fix feroceon_proc_info macro
        ARM: 8349/1: arch/arm/mm/proc-arm925.S: remove dead #ifdef block
        ARM: 8348/1: remove comments on CPU_ARM1020_CPU_IDLE
        ARM: 8347/1: dma-mapping: fix off-by-one check in arm_setup_iommu_dma_ops
      41f2a93c
    • L
      Merge tag 'samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung · 8425ac7a
      Linus Torvalds 提交于
      Pull samsung fixes from Kukjin Kim:
       "Here is Samsung fixes for v4.1.  Since I've missed to send this via
        arm-soc tree before v4.1-rc3, so I'm sending this to you directly
      
         - fix commit ea08de16 ("ARM: dts: Add DISP1 power domain for
           exynos5420") which causes 'unhandled fault: imprecise external
           abort' error when PD turned off.  ("make DP a consumer of DISP1
           power domain")
      
         - fix 's3c-rtc' probe failure on Odriod-X2/U2/U3 boards ("add
           'rtc_src' clock to rtc node for source clock of rtc")
      
         - fix typo for 'cpu-crit-0' trip point on exynos5420/5440
      
         - fix S2R failure on exynos5250-snow due to card power of Marvell
           WiFi driver (suspend/resume) ("add keep-power-in-susped to WiFi
           SDIO node")"
      
      * tag 'samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
        ARM: dts: Add keep-power-in-suspend to WiFi SDIO node for exynos5250-snow
        ARM: dts: Fix typo in trip point temperature for exynos5420/5440
        ARM: dts: add 'rtc_src' clock to rtc node for exynos4412-odroid boards
        ARM: dts: Make DP a consumer of DISP1 power domain on Exynos5420
      8425ac7a
  7. 10 5月, 2015 6 次提交
    • L
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8f59ae06
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Arnd Bergmann:
       "A few patches have come up since the merge window.  The largest one is
        a rewrite of the PXA lubbock/mainstone IRQ handling.  This was already
        broken in 2011 by a change to the GPIO code and only noticed now.
      
        The other changes contained here are:
      
        MAINTAINERS file updates:
      
         - Ray Jui and Scott Branden are now co-maintainers for some of the
           mach-bcm chips, while Christian Daudt and Marc Carino have stepped
           down.
      
         - Andrew Victor is no longer maintaining at91.  Instead, Alexandre
           Belloni now becomes an official maintainer, after having done a
           bulk of the work for a while.
      
         - Baruch Siach, who added the mach-digicolor platform in 4.1 is now
           listed as maintainer
      
         - The git URL for mach-socfpga has changed
      
        Bug fixes:
      
         - Three bug fixes for new rockchip rk3288 code
      
         - A regression fix to make SD card support work on certain ux500
           boards
      
         - multiple smaller dts fixes for imx, omap, mvebu, and shmobile
      
         - a regression fiix for omap3 power consumption
      
         - a fix for regression in the ARM CCI bus driver
      
        Configuration changes:
      
         - more imx platforms are now enabled in multi_v7_defconfig"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (39 commits)
        MAINTAINERS: add Conexant Digicolor machines entry
        MAINTAINERS: socfpga: update the git repo for SoCFPGA
        ARM: multi_v7_defconfig: Select more FSL SoCs
        MAINTAINERS: replace an AT91 maintainer
        drivers: CCI: fix used_mask init in validate_group()
        bus: omap_l3_noc: Fix master id address decoding for OMAP5
        bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance
        ARM: dts: dra7: Fix efuse register size for ABB
        ARM: dts: am57xx-beagle-x15: Switch GPIO fan number
        ARM: dts: am57xx-beagle-x15: Switch UART mux pins
        ARM: dts: am437x-sk: reduce col-scan-delay-us
        ARM: dts: am437x-sk: fix for new newhaven display module revision
        ARM: dts: am57xx-beagle-x15: Fix RTC aliases
        ARM: dts: am57xx-beagle-x15: Fix IRQ type for mcp7941x
        ARM: dts: omap3: Add #iommu-cells to isp and iva iommu
        ARM: omap2plus_defconfig: Enable EXTCON_USB_GPIO
        ARM: dts: OMAP3-N900: Add microphone bias voltages
        ARM: OMAP2+: Fix omap off idle power consumption creeping up
        MAINTAINERS: Update brcmstb entry
        MAINTAINERS: Remove Christian Daudt for mach-bcm
        ...
      8f59ae06
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 51dfcb07
      Linus Torvalds 提交于
      Pull user-namespace fix from Eric Biederman:
       "Eric Windish recently reported a really bug that allows mounting fresh
        copies of proc and sysfs when it really should not be allowed.  The
        code attempted to verify that proc and sysfs were fully visible but
        there is a test missing to ensure that the root of the filesystem is
        visible.  Doh!
      
        The following patch fixes that.
      
        This fixes a containment issue that the docker folks are seeing"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        mnt: Fix fs_fully_visible to verify the root directory is visible
      51dfcb07
    • L
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9d88f22a
      Linus Torvalds 提交于
      Pull irq updates from Thomas Gleixner:
       "Two patches from the irq departement:
      
         - a simple fix to make dummy_irq_chip usable for wakeup scenarios
      
         - removal of the gic arch_extn hackery.  Now that all users are
           converted we really want to get rid of the interface so people wont
           come up with new use cases"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip: gic: Drop support for gic_arch_extn
        genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip
      9d88f22a
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 95f3b1f4
      Linus Torvalds 提交于
      Pull timer fix from Thomas Gleixner:
       "A simple fix to actually shut down a detached device instead of
        keeping it active"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clockevents: Shutdown detached clockevent device
      95f3b1f4
    • R
      m32r: make flush_cpumask non-volatile. · 1a9f064f
      Rusty Russell 提交于
      We cast away the volatile, but really, why make it volatile at all?
      We already do a mb() inside the cpumask_empty() loop.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1a9f064f
    • E
      mnt: Fix fs_fully_visible to verify the root directory is visible · 7e96c1b0
      Eric W. Biederman 提交于
      This fixes a dumb bug in fs_fully_visible that allows proc or sys to
      be mounted if there is a bind mount of part of /proc/ or /sys/ visible.
      
      Cc: stable@vger.kernel.org
      Reported-by: NEric Windisch <ewindisch@docker.com>
      Signed-off-by: N"Eric W. Biederman" <ebiederm@xmission.com>
      7e96c1b0
  8. 09 5月, 2015 3 次提交