1. 15 May, 2019 28 commits
  2. 10 May, 2019 1 commit
    • Stephane Eranian's avatar
      perf/x86/intel: Fix INTEL_FLAGS_EVENT_CONSTRAINT* masking · 6b89d4c1
      Stephane Eranian authored
      On Intel Westmere, a cmdline as follows:
      
        $ perf record -e cpu/event=0xc4,umask=0x2,name=br_inst_retired.near_call/p ....
      
      was failing. Yet the event+ umask support PEBS.
      
      It turns out this is due to a bug in the the PEBS event constraint table for
      westmere. All forms of BR_INST_RETIRED.* support PEBS. Therefore the constraint
      mask should ignore the umask. The name of the macro INTEL_FLAGS_EVENT_CONSTRAINT()
      hint that this is the case but it was not. That macros was checking both the
      event code and event umask. Therefore, it was only matching on 0x00c4.
      There are code+umask macros, they all have *UEVENT*.
      
      This bug fixes the issue by checking only the event code in the mask.
      Both single and range version are modified.
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vince Weaver <vincent.weaver@maine.edu>
      Cc: kan.liang@intel.com
      Link: http://lkml.kernel.org/r/20190509214556.123493-1-eranian@google.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      6b89d4c1
  3. 08 May, 2019 1 commit
  4. 07 May, 2019 6 commits
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ffa6f55e
      Linus Torvalds authored
      Pull RAS updates from Borislav Petkov:
      
       - Support for varying MCA bank numbers per CPU: this is in preparation
         for future CPU enablement (Yazen Ghannam)
      
       - MCA banks read race fix (Tony Luck)
      
       - Facility to filter MCEs which should not be logged (Yazen Ghannam)
      
       - The usual round of cleanups and fixes
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/MCE/AMD: Don't report L1 BTB MCA errors on some family 17h models
        x86/MCE: Add an MCE-record filtering function
        RAS/CEC: Increment cec_entered under the mutex lock
        x86/mce: Fix debugfs_simple_attr.cocci warnings
        x86/mce: Remove mce_report_event()
        x86/mce: Handle varying MCA bank counts
        x86/mce: Fix machine_check_poll() tests for error types
        MAINTAINERS: Fix file pattern for X86 MCE INFRASTRUCTURE
        x86/MCE: Group AMD function prototypes in <asm/mce.h>
      ffa6f55e
    • Linus Torvalds's avatar
      Merge tag 'edac_for_5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 275b103a
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - amd64_edac: Family 0x17, models 0x30-.. enablement (Yazen Ghannam)
      
       - skx_*: Librarize it so that it can be shared between drivers (Qiuxu Zhuo)
      
       - altera: Stratix10 improvements (Thor Thayer)
      
       - The usual round of fixes, fixlets and cleanups
      
      * tag 'edac_for_5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        Revert "EDAC/amd64: Support more than two controllers for chip select handling"
        arm64: dts: stratix10: Use new Stratix10 EDAC bindings
        Documentation: dt: edac: Add Stratix10 Peripheral bindings
        Documentation: dt: edac: Fix Stratix10 IRQ bindings
        EDAC/altera, firmware/intel: Add Stratix10 ECC DBE SMC call
        EDAC/altera: Initialize peripheral FIFOs in probe()
        EDAC/altera: Do less intrusive error injection
        EDAC/amd64: Adjust printed chip select sizes when interleaved
        EDAC/amd64: Support more than two controllers for chip select handling
        EDAC/amd64: Recognize x16 symbol size
        EDAC/amd64: Set maximum channel layer size depending on family
        EDAC/amd64: Support more than two Unified Memory Controllers
        EDAC/amd64: Use a macro for iterating over Unified Memory Controllers
        EDAC/amd64: Add Family 17h Model 30h PCI IDs
        MAINTAINERS: Add entry for EDAC-I10NM
        MAINTAINERS: Update entry for EDAC-SKYLAKE
        EDAC, altera: Fix S10 Double Bit Error Notification
        EDAC, skx, i10nm: Make skx_common.c a pure library
      275b103a
    • Linus Torvalds's avatar
      Merge tag 'devprop-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 4dd2ab9a
      Linus Torvalds authored
      Pull device properties framework updates from Rafael Wysocki:
       "These fix the handling of data nodes in the ACPI properties support
        code, add a new helper for endpoint lookup in property graphs and
        restore a comment inadvertently removed by one of previous changes.
      
        Specifics:
      
         - Fix the handling of data nodes in the ACPI properties support code
           for devices with child devices and hierarchical _DSD properties
           (Pierre-Louis Bossart).
      
         - Add fwnode_graph_get_endpoint_by_id() helper for endpoint lookup in
           device property graphs (Sakari Ailus).
      
         - Restore the _DSD data subnodes GUID comment inadvertently removed
           by one of previous changes (Shunyong Yang)"
      
      * tag 'devprop-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / property: fix handling of data_nodes in acpi_get_next_subnode()
        device property: Add fwnode_graph_get_endpoint_by_id()
        ACPI: property: restore _DSD data subnodes GUID comment
      4dd2ab9a
    • Linus Torvalds's avatar
      Merge tag 'pm-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 8f5e823f
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These fix the (Intel-specific) Performance and Energy Bias Hint (EPB)
        handling and expose it to user space via sysfs, fix and clean up
        several cpufreq drivers, add support for two new chips to the qoriq
        cpufreq driver, fix, simplify and clean up the cpufreq core and the
        schedutil governor, add support for "CPU" domains to the generic power
        domains (genpd) framework and provide low-level PSCI firmware support
        for that feature, fix the exynos cpuidle driver and fix a couple of
        issues in the devfreq subsystem and clean it up.
      
        Specifics:
      
         - Fix the handling of Performance and Energy Bias Hint (EPB) on Intel
           processors and expose it to user space via sysfs to avoid having to
           access it through the generic MSR I/F (Rafael Wysocki).
      
         - Improve the handling of global turbo changes made by the platform
           firmware in the intel_pstate driver (Rafael Wysocki).
      
         - Convert some slow-path static_cpu_has() callers to boot_cpu_has()
           in cpufreq (Borislav Petkov).
      
         - Fix the frequency calculation loop in the armada-37xx cpufreq
           driver (Gregory CLEMENT).
      
         - Fix possible object reference leaks in multuple cpufreq drivers
           (Wen Yang).
      
         - Fix kerneldoc comment in the centrino cpufreq driver (dongjian).
      
         - Clean up the ACPI and maple cpufreq drivers (Viresh Kumar, Mohan
           Kumar).
      
         - Add support for lx2160a and ls1028a to the qoriq cpufreq driver
           (Vabhav Sharma, Yuantian Tang).
      
         - Fix kobject memory leak in the cpufreq core (Viresh Kumar).
      
         - Simplify the IOwait boosting in the schedutil cpufreq governor and
           rework the TSC cpufreq notifier on x86 (Rafael Wysocki).
      
         - Clean up the cpufreq core and statistics code (Yue Hu, Kyle Lin).
      
         - Improve the cpufreq documentation, add SPDX license tags to some PM
           documentation files and unify copyright notices in them (Rafael
           Wysocki).
      
         - Add support for "CPU" domains to the generic power domains (genpd)
           framework and provide low-level PSCI firmware support for that
           feature (Ulf Hansson).
      
         - Rearrange the PSCI firmware support code and add support for
           SYSTEM_RESET2 to it (Ulf Hansson, Sudeep Holla).
      
         - Improve genpd support for devices in multiple power domains (Ulf
           Hansson).
      
         - Unify target residency for the AFTR and coupled AFTR states in the
           exynos cpuidle driver (Marek Szyprowski).
      
         - Introduce new helper routine in the operating performance points
           (OPP) framework (Andrew-sh.Cheng).
      
         - Add support for passing on-die termination (ODT) and auto power
           down parameters from the kernel to Trusted Firmware-A (TF-A) to the
           rk3399_dmc devfreq driver (Enric Balletbo i Serra).
      
         - Add tracing to devfreq (Lukasz Luba).
      
         - Make the exynos-bus devfreq driver suspend all devices on system
           shutdown (Marek Szyprowski).
      
         - Fix a few minor issues in the devfreq subsystem and clean it up
           somewhat (Enric Balletbo i Serra, MyungJoo Ham, Rob Herring,
           Saravana Kannan, Yangtao Li).
      
         - Improve system wakeup diagnostics (Stephen Boyd).
      
         - Rework filesystem sync messages emitted during system suspend and
           hibernation (Harry Pan)"
      
      * tag 'pm-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (72 commits)
        cpufreq: Fix kobject memleak
        cpufreq: armada-37xx: fix frequency calculation for opp
        cpufreq: centrino: Fix centrino_setpolicy() kerneldoc comment
        cpufreq: qoriq: add support for lx2160a
        x86: tsc: Rework time_cpufreq_notifier()
        PM / Domains: Allow to attach a CPU via genpd_dev_pm_attach_by_id|name()
        PM / Domains: Search for the CPU device outside the genpd lock
        PM / Domains: Drop unused in-parameter to some genpd functions
        PM / Domains: Use the base device for driver_deferred_probe_check_state()
        cpufreq: qoriq: Add ls1028a chip support
        PM / Domains: Enable genpd_dev_pm_attach_by_id|name() for single PM domain
        PM / Domains: Allow OF lookup for multi PM domain case from ->attach_dev()
        PM / Domains: Don't kfree() the virtual device in the error path
        cpufreq: Move ->get callback check outside of __cpufreq_get()
        PM / Domains: remove unnecessary unlikely()
        cpufreq: Remove needless bios_limit check in show_bios_limit()
        drivers/cpufreq/acpi-cpufreq.c: This fixes the following checkpatch warning
        firmware/psci: add support for SYSTEM_RESET2
        PM / devfreq: add tracing for scheduling work
        trace: events: add devfreq trace event file
        ...
      8f5e823f
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 59df1c2b
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These rearrange the ACPI documentation by converting it to the .rst
        format and splitting it into clear categories (admin guide, driver
        API, firmware guide), switch over multiple users of a problematic
        library function to a new better one, update the ACPICA code in the
        kernel to a new upstream release, fix a few issues, improve power
        device management diagnostics and do some cleanups.
      
        Specifics:
      
         - Convert the ACPI documentation in the kernel source tree to the
           .rst format and split it into the admin guide, driver API and
           firmware guide parts (Changbin Du).
      
         - Add a PRP0001 usage example to the ACPI documentation (Thomas
           Preston).
      
         - Switch over the users of the acpi_dev_get_first_match_name()
           library function which turned out to be problematic to a new,
           better one called acpi_dev_get_first_match_dev() (Andy Shevchenko,
           YueHaibing).
      
         - Update the ACPICA code in the kernel to upstream release 20190405
           including:
             * Null pointer dereference check in acpi_ns_delete_node() (Erik
               Schmauss).
             * Multiple macro and function name changes (Bob Moore).
             * Predefined operation region name fix (Erik Schmauss).
      
         - Fix hibernation issue on systems using the Baytrail and Cherrytrail
           Intel SoCs introduced during the 4.20 development cycle (Hans de
           Goede).
      
         - Add Sony VPCEH3U1E to the backlight quirk list (Zhang Rui).
      
         - Fix button handling during system resume (Zhang Rui).
      
         - Add a device PM diagnostic message (Rafael Wysocki).
      
         - Clean up the code, comments and white space in multiple places
           (Bjorn Helgaas, Gustavo Silva, Kefeng Wang)"
      
      * tag 'acpi-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (53 commits)
        Documentation: ACPI: move video_extension.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move ssdt-overlays.txt to admin-guide/acpi and convert to reST
        Documentation: ACPI: move lpit.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move cppc_sysfs.txt to admin-guide/acpi and convert to reST
        Documentation: ACPI: move apei/einj.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move apei/output_format.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move aml-debugger.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move method-tracing.txt to firmware-guide/acpi and convert to rsST
        Documentation: ACPI: move debug.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move dsd/data-node-references.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move dsd/graph.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move acpi-lid.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move i2c-muxes.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move dsdt-override.txt to admin-guide/acpi and convert to reST
        Documentation: ACPI: move initrd_table_override.txt to admin-guide/acpi and convert to reST
        Documentation: ACPI: move method-customizing.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move gpio-properties.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move DSD-properties-rules.txt to firmware-guide/acpi and covert to reST
        Documentation: ACPI: move scan_handlers.txt to driver-api/acpi and convert to reST
        Documentation: ACPI: move linuxized-acpica.txt to driver-api/acpi and convert to reST
        ...
      59df1c2b
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · c620f7bd
      Linus Torvalds authored
      Pull arm64 updates from Will Deacon:
       "Mostly just incremental improvements here:
      
         - Introduce AT_HWCAP2 for advertising CPU features to userspace
      
         - Expose SVE2 availability to userspace
      
         - Support for "data cache clean to point of deep persistence" (DC PODP)
      
         - Honour "mitigations=off" on the cmdline and advertise status via
           sysfs
      
         - CPU timer erratum workaround (Neoverse-N1 #1188873)
      
         - Introduce perf PMU driver for the SMMUv3 performance counters
      
         - Add config option to disable the kuser helpers page for AArch32 tasks
      
         - Futex modifications to ensure liveness under contention
      
         - Rework debug exception handling to seperate kernel and user
           handlers
      
         - Non-critical fixes and cleanup"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (92 commits)
        Documentation: Add ARM64 to kernel-parameters.rst
        arm64/speculation: Support 'mitigations=' cmdline option
        arm64: ssbs: Don't treat CPUs with SSBS as unaffected by SSB
        arm64: enable generic CPU vulnerabilites support
        arm64: add sysfs vulnerability show for speculative store bypass
        arm64: Fix size of __early_cpu_boot_status
        clocksource/arm_arch_timer: Use arch_timer_read_counter to access stable counters
        clocksource/arm_arch_timer: Remove use of workaround static key
        clocksource/arm_arch_timer: Drop use of static key in arch_timer_reg_read_stable
        clocksource/arm_arch_timer: Direcly assign set_next_event workaround
        arm64: Use arch_timer_read_counter instead of arch_counter_get_cntvct
        watchdog/sbsa: Use arch_timer_read_counter instead of arch_counter_get_cntvct
        ARM: vdso: Remove dependency with the arch_timer driver internals
        arm64: Apply ARM64_ERRATUM_1188873 to Neoverse-N1
        arm64: Add part number for Neoverse N1
        arm64: Make ARM64_ERRATUM_1188873 depend on COMPAT
        arm64: Restrict ARM64_ERRATUM_1188873 mitigation to AArch32
        arm64: mm: Remove pte_unmap_nested()
        arm64: Fix compiler warning from pte_unmap() with -Wunused-but-set-variable
        arm64: compat: Reduce address limit for 64K pages
        ...
      c620f7bd
  5. 06 May, 2019 4 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-mmiowb' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · dd4e5d61
      Linus Torvalds authored
      Pull mmiowb removal from Will Deacon:
       "Remove Mysterious Macro Intended to Obscure Weird Behaviours (mmiowb())
      
        Remove mmiowb() from the kernel memory barrier API and instead, for
        architectures that need it, hide the barrier inside spin_unlock() when
        MMIO has been performed inside the critical section.
      
        The only relatively recent changes have been addressing review
        comments on the documentation, which is in a much better shape thanks
        to the efforts of Ben and Ingo.
      
        I was initially planning to split this into two pull requests so that
        you could run the coccinelle script yourself, however it's been plain
        sailing in linux-next so I've just included the whole lot here to keep
        things simple"
      
      * tag 'arm64-mmiowb' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (23 commits)
        docs/memory-barriers.txt: Update I/O section to be clearer about CPU vs thread
        docs/memory-barriers.txt: Fix style, spacing and grammar in I/O section
        arch: Remove dummy mmiowb() definitions from arch code
        net/ethernet/silan/sc92031: Remove stale comment about mmiowb()
        i40iw: Redefine i40iw_mmiowb() to do nothing
        scsi/qla1280: Remove stale comment about mmiowb()
        drivers: Remove explicit invocations of mmiowb()
        drivers: Remove useless trailing comments from mmiowb() invocations
        Documentation: Kill all references to mmiowb()
        riscv/mmiowb: Hook up mmwiob() implementation to asm-generic code
        powerpc/mmiowb: Hook up mmwiob() implementation to asm-generic code
        ia64/mmiowb: Add unconditional mmiowb() to arch_spin_unlock()
        mips/mmiowb: Add unconditional mmiowb() to arch_spin_unlock()
        sh/mmiowb: Add unconditional mmiowb() to arch_spin_unlock()
        m68k/io: Remove useless definition of mmiowb()
        nds32/io: Remove useless definition of mmiowb()
        x86/io: Remove useless definition of mmiowb()
        arm64/io: Remove useless definition of mmiowb()
        ARM/io: Remove useless definition of mmiowb()
        mmiowb: Hook up mmiowb helpers to spinlocks and generic I/O accessors
        ...
      dd4e5d61
    • Linus Torvalds's avatar
      Merge tag 's390-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 14be4c61
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
      
       - Support for kernel address space layout randomization
      
       - Add support for kernel image signature verification
      
       - Convert s390 to the generic get_user_pages_fast code
      
       - Convert s390 to the stack unwind API analog to x86
      
       - Add support for CPU directed interrupts for PCI devices
      
       - Provide support for MIO instructions to the PCI base layer, this will
         allow the use of direct PCI mappings in user space code
      
       - Add the basic KVM guest ultravisor interface for protected VMs
      
       - Add AT_HWCAP bits for several new hardware capabilities
      
       - Update the CPU measurement facility counter definitions to SVN 6
      
       - Arnds cleanup patches for his quest to get LLVM compiles working
      
       - A vfio-ccw update with bug fixes and support for halt and clear
      
       - Improvements for the hardware TRNG code
      
       - Another round of cleanup for the QDIO layer
      
       - Numerous cleanups and bug fixes
      
      * tag 's390-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (98 commits)
        s390/vdso: drop unnecessary cc-ldoption
        s390: fix clang -Wpointer-sign warnigns in boot code
        s390: drop CONFIG_VIRT_TO_BUS
        s390: boot, purgatory: pass $(CLANG_FLAGS) where needed
        s390: only build for new CPUs with clang
        s390: simplify disabled_wait
        s390/ftrace: use HAVE_FUNCTION_GRAPH_RET_ADDR_PTR
        s390/unwind: introduce stack unwind API
        s390/opcodes: add missing instructions to the disassembler
        s390/bug: add entry size to the __bug_table section
        s390: use proper expoline sections for .dma code
        s390/nospec: rename assembler generated expoline thunks
        s390: add missing ENDPROC statements to assembler functions
        locking/lockdep: check for freed initmem in static_obj()
        s390/kernel: add support for kernel address space layout randomization (KASLR)
        s390/kernel: introduce .dma sections
        s390/sclp: do not use static sccbs
        s390/kprobes: use static buffer for insn_page
        s390/kernel: convert SYSCALL and PGM_CHECK handlers to .quad
        s390/kernel: build a relocatable kernel
        ...
      14be4c61
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v5.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · ccbc2e5e
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - drop arch_gettimeoffset and adopt clocksource API
      
       - defconfig updates
      
      * tag 'm68k-for-v5.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        Documentation/features/time: Mark m68k having modern-timekeeping
        m68k: defconfig: Update defconfigs for v5.1-rc1
        m68k: mvme16x: Handle timer counter overflow
        m68k: mvme16x: Convert to clocksource API
        m68k: mvme147: Handle timer counter overflow
        m68k: mvme147: Convert to clocksource API
        m68k: mac: Convert to clocksource API
        m68k: hp300: Handle timer counter overflow
        m68k: hp300: Convert to clocksource API
        m68k: bvme6000: Convert to clocksource API
        m68k: atari: Convert to clocksource API
        m68k: amiga: Convert to clocksource API
        m68k: Drop ARCH_USES_GETTIMEOFFSET
        m68k: apollo, q40, sun3, sun3x: Remove arch_gettimeoffset implementations
        m68k: mac: Fix VIA timer counter accesses
        m68k: Call timer_interrupt() with interrupts disabled
      ccbc2e5e
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fdafe5d1
      Linus Torvalds authored
      Pull x86 microcode loading update from Borislav Petkov:
       "A nice Intel microcode blob loading cleanup which gets rid of the ugly
        memcpy wrappers and switches the driver to use the iov_iter API. By
        Jann Horn.
      
        In addition, the /dev/cpu/microcode interface is finally deprecated as
        it is inadequate for the same reasons the late microcode loading is"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode: Deprecate MICROCODE_OLD_INTERFACE
        x86/microcode: Fix the ancient deprecated microcode loading method
        x86/microcode/intel: Refactor Intel microcode blob loading
      fdafe5d1