1. 27 Nov, 2019 10 commits
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · dc5fa465
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for v5.5.
      
        It is pretty much business as usual, the most interesting thing I
        think is the pin controller for a new Intel chip called Lightning
        Mountain, which is according to news reports some kind of embedded
        network processor and what is surprising about it is that Intel have
        decided to use device tree to describe the system rather than ACPI
        that they have traditionally favored.
      
        Core changes:
      
         - Avoid taking direct references to device tree-supplied device
           names: these may changed at runtime under certain circumstances to
           kstrdup them.
      
        GPIO related:
      
         - Work is ongoing to move to passing the irqchip along as a templated
           struct gpio_irq_chip when adding a standard gpiolib-based irqchip
           to a GPIO controller, a few patches in this cycle switches a few
           pin control drivers over to using this method.
      
        New hardware support:
      
         - Intel Lightning Mountain SoC pin controller and GPIO support, a
           first Intel platform to use device tree rather than ACPI to
           configure the system. News reports says that this SoC is a network
           processor.
      
         - Qualcomm MSM8976 and MSM8956
      
         - Qualcomm PMIC GPIO now also supports PM6150 and PM6150L
      
         - Qualcomm SPMI MPP and SPMI GPIO for PM8950 and PMI8950
      
         - Rockchip RK3308
      
         - Renesas R8A77961
      
         - Allwinner Meson-A1
      
        Driver improvements:
      
         - get_multiple and set_multiple support for the AT91-PIO4 driver.
      
         - Convert Qualcomm SSBI GPIO to use the hierarchical IRQ helpers in
           the GPIOlib irqchip"
      
      * tag 'pinctrl-v5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (93 commits)
        pinctrl: ingenic: Add OTG VBUS pin for the JZ4770
        pinctrl: ingenic: Handle PIN_CONFIG_OUTPUT config
        pinctrl: Fix Kconfig indentation
        pinctrl: lewisburg: Update pin list according to v1.1v6
        MAINTAINERS: Replace my email by one @kernel.org
        pinctrl: armada-37xx: Fix irq mask access in armada_37xx_irq_set_type()
        dt-bindings: pinctrl: intel: Add for new SoC
        pinctrl: Add pinmux & GPIO controller driver for a new SoC
        pinctrl: rza1: remove unnecessary static inline function
        pinctrl: meson: add pinctrl driver support for Meson-A1 SoC
        pinctrl: meson: add a new callback for SoCs fixup
        pinctrl: nomadik: db8500: Add mc0_a_2 pin group without direction control
        dt-bindings: pinctrl: Convert generic pin mux and config properties to schema
        pinctrl: cherryview: Missed type change to unsigned int
        pinctrl: intel: Missed type change to unsigned int
        pinctrl: use devm_platform_ioremap_resource() to simplify code
        pinctrl: just return if no valid maps
        dt-bindings: pinctrl: qcom-pmic-mpp: Add support for PM/PMI8950
        pinctrl: qcom: spmi-mpp: Add PM/PMI8950 compatible strings
        dt-bindings: pinctrl: qcom-pmic-gpio: Add support for PM/PMI8950
        ...
      dc5fa465
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 3d9e3501
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
      
       - Add support for Texas Instruments TMP512/513
      
       - Add support for LTC2947
      
       - Add support for BEL PFE1100 and PFE3000
      
       - Various minor improvements and fixes
      
      * tag 'hwmon-for-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        dell-smm-hwmon: Add documentation
        hwmon: (dell-smm) Add support for disabling automatic BIOS fan control
        hwmon: Add driver for Texas Instruments TMP512/513 sensor chips.
        dt-bindings: hwmon: Add TMP512/513
        docs: hwmon: Document bel-pfe pmbus driver
        hwmon: (pmbus) add driver for BEL PFE1100 and PFE3000
        dt-bindings: hwmon: Add ltc2947 documentation
        hwmon: Add support for ltc2947
        hwmon: (ina3221) Add summation feature support
        hwmon: (tmp421) Allow reading at 2Hz instead of 0.5Hz
        hwmon: (w83793d) remove redundant assignment to variable res
        hwmon: (pmbus/ibm-cffps) Add version detection capability
        dt-bindings: hwmon: Document ibm,cffps compatible string
        hwmon: abituguru: make array probe_order static, makes object smaller
        hwmon: (applesmc) switch to using input device polling mode
        hwmon: (aspeed-pwm-tacho) Use devm_platform_ioremap_resource() in aspeed_pwm_tacho_probe()
        hwmon: (pmbus/ibm-cffps) Fix LED blink behavior
        hwmon: (pmbus/ibm-cffps) Switch LEDs to blocking brightness call
      3d9e3501
    • Linus Torvalds's avatar
      Merge tag 'for-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 00074a70
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
      
       - test_power: add support for current and charge_counter
      
       - cpcap-charger: improve charge calculation and limit default charge
         voltage
      
       - ab8500: convert to IIO
      
       - misc small fixes all over drivers
      
      * tag 'for-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (29 commits)
        power: supply: bd70528: Add MODULE_ALIAS to allow module auto loading
        power: supply: ab8500_charger: Fix inconsistent IS_ERR and PTR_ERR
        power: supply: cpcap-charger: cpcap_charger_voltage_to_regval() can be static
        power: supply: cpcap-battery: Add basic coulomb counter calibrate support
        power: supply: cpcap-battery: Read and save integrator register CCI
        power: supply: cpcap-battery: Simplify short term power average calculation
        power: supply: cpcap-battery: Simplify coulomb counter calculation with div_s64
        power: supply: cpcap-battery: Move coulomb counter units per lsb to ddata
        power: supply: cpcap-charger: Allow changing constant charge voltage
        power: supply: cpcap-battery: Fix handling of lowered charger voltage
        power: supply: cpcap-charger: Improve battery detection
        power: supply: cpcap-battery: Check voltage before orderly_poweroff
        power: supply: cpcap-charger: Limit voltage to 4.2V for battery
        power: supply: ab8500: Handle invalid IRQ from platform_get_irq_byname()
        power: supply: ab8500_fg: Do not free non-requested IRQs in probe's error path
        power: supply: ab8500: Cleanup probe in reverse order
        power: reset: at91: fix __le32 cast in reset code
        power: supply: abx500_chargalg: Fix code indentation
        mfd: Switch the AB8500 GPADC to IIO
        iio: adc: New driver for the AB8500 GPADC
        ...
      00074a70
    • Linus Torvalds's avatar
      Merge tag 'media/v5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 89d57ddd
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - uAPI documentation for stateless decoders
      
       - Added a new CEC ioctl together with its documentation
      
       - Improved IPU3 documentation
      
       - New i2c drivers: hi556 and imx290
      
       - Added support on Vivid driver for meta streams
      
       - Added de-interlace support for sunxi subdriver
      
       - Added a few new remote controler keymaps
      
       - Added H.265 support for Sunxi Cedrus driver
      
       - Another round of random driver cleanups, fixes and improvements
      
      * tag 'media/v5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (361 commits)
        media: Revert "media: mtk-vcodec: Remove extra area allocation in an input buffer on encoding"
        media: hantro: Set H264 FIELDPIC_FLAG_E flag correctly
        media: hantro: Remove now unused H264 pic_size
        media: hantro: Use output buffer width and height for H264 decoding
        media: hantro: Reduce H264 extra space for motion vectors
        media: hantro: Fix H264 motion vector buffer offset
        media: ti-vpe: vpe: fix compatible to match bindings
        media: dt-bindings: media: ti-vpe: Document VPE driver
        media: zr364xx: remove redundant assigmnent to idx, clean up code
        media: Documentation: media: *_DEFAULT targets for subdevs
        media: hantro: Fix s_fmt for dynamic resolution changes
        media: i2c: Use the correct style for SPDX License Identifier
        media: siano: Use the correct style for SPDX License Identifier
        media: vicodec: media_device_cleanup was called too early
        media: vim2m: media_device_cleanup was called too early
        media: cedrus: Increase maximum supported size
        media: cedrus: Fix H264 4k support
        media: cedrus: Properly signal size in mode register
        media: v4l2-ctrl: Lock main_hdl on operations of requests_queued.
        media: si470x-i2c: add missed operations in remove
        ...
      89d57ddd
    • Linus Torvalds's avatar
      Merge tag 'sound-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 3f1b210a
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "There have been some significant changes in the core side, both for
        ALSA and ASoC, while lots of development have been seen in SOF, as
        well as many small fixes/improvements for ASoC codecs and platforms.
        Below is a highlight in this cycle:
      
        Core:
         - The unification of PCM vmalloc buffer allocation helpers into the
           standard API
         - Clean up of the default PCM mmap handling for vmalloc & SG-buffer
         - Fix potential races at ALSA timer open
         - A few new PCM API extensions; just preliminary core changes, the
           actual changes in drivers will be merged in 5.6
         - Continued ASoC componentization works; now almost everything is a
           common ASoC component object. A lot of refactoring and
           simplification have been done along with it.
      
        ASoC:
         - Many fixes to the Sound Open Firmware (SOF) code
         - Wake on voice support for Chromebooks
         - SPI support and trigger word detection for RT5677
         - New drivers for Analog Devices ADAU7118, Intel Cannonlake systems
           with RT1011 and RT5682, Texas Instruments TAS2562 and TAS2770
      
        HD-audio:
         - Improved Intel DSP configuration / probe code for SOF
         - Plumbing the legacy HD-audio driver with Intel SOF HDMI
         - DP-MST support for Nvidia HDMI codecs
         - Realtek quirks cleanups and new additions as usual
      
        Others:
         - Lots of refactoring and cleanups for FireWire; period-size sharing,
           h/w IRQ interval configuration, clock recovery improvements, etc
         - USB-audio: Scarlett mixer quirks
         - Cleanups of PCM calls in various drivers (including media and USB)
           to adapt the core API changes"
      
      * tag 'sound-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (497 commits)
        ALSA: usb-audio: Fix Focusrite Scarlett 6i6 gen1 - input handling
        ALSA: hda/realtek - Enable internal speaker of ASUS UX431FLC
        ALSA: aloop: Fix dependency on timer API
        ASoC: DMI long name - avoid to add board name if matches with product name
        ASoC: improve the DMI long card code in asoc-core
        ASoC: rsnd: fix DALIGN register for SSIU
        ALSA: aloop: Avoid unexpected timer event callback tasklets
        ALSA: aloop: Remove redundant locking in timer open function
        ASoC: component: Add sync_stop PCM ops
        ASoC: pcm: Make ioctl ops optional
        ALSA: hda/hdmi - Clear codec->relaxed_resume flag at unbinding
        ALSA: hda - Disable audio component for legacy Nvidia HDMI codecs
        ALSA: cs4236: fix error return comparison of an unsigned integer
        ALSA: usb-audio: Fix NULL dereference at parsing BADD
        ALSA: usb-audio: Fix Scarlett 6i6 Gen 2 port data
        ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop
        ALSA: hda/realtek - Move some alc236 pintbls to fallback table
        ALSA: hda/realtek - Move some alc256 pintbls to fallback table
        ALSA: docs: Update about the new PCM sync_stop ops
        ALSA: pcm: Add card sync_irq field
        ...
      3f1b210a
    • Linus Torvalds's avatar
      Merge tag 'devprop-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 361b0d28
      Linus Torvalds authored
      Pull device properties framework updates from Rafael Wysocki:
       "Add support for printing fwnode names using a new conversion specifier
        "%pfw" (Sakari Ailus), clean up the software node and
        efi/apple-properties code in preparation for improved software node
        reference properties handling (Dmitry Torokhov) and fix the struct
        fwnode_operations description (Heikki Krogerus)"
      
      * tag 'devprop-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (22 commits)
        software node: simplify property_entry_read_string_array()
        software node: unify PROPERTY_ENTRY_XXX macros
        software node: remove property_entry_read_uNN_array functions
        software node: get rid of property_set_pointer()
        software node: clean up property_copy_string_array()
        software node: mark internal macros with double underscores
        efi/apple-properties: use PROPERTY_ENTRY_U8_ARRAY_LEN
        software node: introduce PROPERTY_ENTRY_XXX_ARRAY_LEN()
        software node: remove DEV_PROP_MAX
        device property: Fix the description of struct fwnode_operations
        lib/test_printf: Add tests for %pfw printk modifier
        lib/vsprintf: Add %pfw conversion specifier for printing fwnode names
        lib/vsprintf: OF nodes are first and foremost, struct device_nodes
        lib/vsprintf: Make use of fwnode API to obtain node names and separators
        lib/vsprintf: Add a note on re-using %pf or %pF
        lib/vsprintf: Remove support for %pF and %pf in favour of %pS and %ps
        device property: Add a function to obtain a node's prefix
        device property: Add fwnode_get_name for returning the name of a node
        device property: Add functions for accessing node's parents
        device property: Move fwnode_get_parent() up
        ...
      361b0d28
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6e9f8796
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These update the ACPICA code in the kernel to upstream revision
        20191018, add support for EFI specific purpose memory, update the ACPI
        EC driver to make it work on systems with hardware-reduced ACPI,
        improve ACPI-based device enumeration for some platforms, rework the
        lid blacklist handling in the button driver and add more lid quirks to
        it, unify ACPI _HID/_UID matching, fix assorted issues and clean up
        the code and documentation.
      
        Specifics:
      
         - Update the ACPICA code in the kernel to upstream revision 20191018
           including:
            * Fixes for Clang warnings (Bob Moore)
            * Fix for possible overflow in get_tick_count() (Bob Moore)
            * Introduction of acpi_unload_table() (Bob Moore)
            * Debugger and utilities updates (Erik Schmauss)
            * Fix for unloading tables loaded via configfs (Nikolaus Voss)
      
         - Add support for EFI specific purpose memory to optionally allow
           either application-exclusive or core-kernel-mm managed access to
           differentiated memory (Dan Williams)
      
         - Fix and clean up processing of the HMAT table (Brice Goglin, Qian
           Cai, Tao Xu)
      
         - Update the ACPI EC driver to make it work on systems with
           hardware-reduced ACPI (Daniel Drake)
      
         - Always build in support for the Generic Event Device (GED) to allow
           one kernel binary to work both on systems with full hardware ACPI
           and hardware-reduced ACPI (Arjan van de Ven)
      
         - Fix the table unload mechanism to unregister platform devices
           created when the given table was loaded (Andy Shevchenko)
      
         - Rework the lid blacklist handling in the button driver and add more
           lid quirks to it (Hans de Goede)
      
         - Improve ACPI-based device enumeration for some platforms based on
           Intel BayTrail SoCs (Hans de Goede)
      
         - Add an OpRegion driver for the Cherry Trail Crystal Cove PMIC and
           prevent handlers from being registered for unhandled PMIC OpRegions
           (Hans de Goede)
      
         - Unify ACPI _HID/_UID matching (Andy Shevchenko)
      
         - Clean up documentation and comments (Cao jin, James Pack, Kacper
           Piwiński)"
      
      * tag 'acpi-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (52 commits)
        ACPI: OSI: Shoot duplicate word
        ACPI: HMAT: use %u instead of %d to print u32 values
        ACPI: NUMA: HMAT: fix a section mismatch
        ACPI: HMAT: don't mix pxm and nid when setting memory target processor_pxm
        ACPI: NUMA: HMAT: Register "soft reserved" memory as an "hmem" device
        ACPI: NUMA: HMAT: Register HMAT at device_initcall level
        device-dax: Add a driver for "hmem" devices
        dax: Fix alloc_dax_region() compile warning
        lib: Uplevel the pmem "region" ida to a global allocator
        x86/efi: Add efi_fake_mem support for EFI_MEMORY_SP
        arm/efi: EFI soft reservation to memblock
        x86/efi: EFI soft reservation to E820 enumeration
        efi: Common enable/disable infrastructure for EFI soft reservation
        x86/efi: Push EFI_MEMMAP check into leaf routines
        efi: Enumerate EFI_MEMORY_SP
        ACPI: NUMA: Establish a new drivers/acpi/numa/ directory
        ACPICA: Update version to 20191018
        ACPICA: debugger: remove leading whitespaces when converting a string to a buffer
        ACPICA: acpiexec: initialize all simple types and field units from user input
        ACPICA: debugger: add field unit support for acpi_db_get_next_token
        ...
      6e9f8796
    • Linus Torvalds's avatar
      Merge tag 'pm-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 9e7a0323
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These include cpuidle changes to use nanoseconds (instead of
        microseconds) as the unit of time and to simplify checks for disabled
        idle states in the idle loop, some cpuidle fixes and governor updates,
        assorted cpufreq updates (driver updates mostly and a few core fixes
        and cleanups), devfreq updates (dominated by the tegra30 driver
        changes), new CPU IDs for the RAPL power capping driver, relatively
        minor updates of the generic power domains (genpd) and operation
        performance points (OPP) frameworks, and assorted fixes and cleanups.
      
        There are also two maintainer information updates: Chanwoo Choi will
        be maintaining the devfreq subsystem going forward and Todd Brandt is
        going to maintain the pm-graph utility (created by him).
      
        Specifics:
      
         - Use nanoseconds (instead of microseconds) as the unit of time in
           the cpuidle core and simplify checks for disabled idle states in
           the idle loop (Rafael Wysocki)
      
         - Fix and clean up the teo cpuidle governor (Rafael Wysocki)
      
         - Fix the cpuidle registration error code path (Zhenzhong Duan)
      
         - Avoid excessive vmexits in the ACPI cpuidle driver (Yin Fengwei)
      
         - Extend the idle injection infrastructure to be able to measure the
           requested duration in nanoseconds and to allow an exit latency
           limit for idle states to be specified (Daniel Lezcano)
      
         - Fix cpufreq driver registration and clarify a comment in the
           cpufreq core (Viresh Kumar)
      
         - Add NULL checks to the show() and store() methods of sysfs
           attributes exposed by cpufreq (Kai Shen)
      
         - Update cpufreq drivers:
            * Fix for a plain int as pointer warning from sparse in
              intel_pstate (Jamal Shareef)
            * Fix for a hardcoded number of CPUs and stack bloat in the
              powernv driver (John Hubbard)
            * Updates to the ti-cpufreq driver and DT files to support new
              platforms and migrate bindings from opp-v1 to opp-v2 (Adam Ford,
              H. Nikolaus Schaller)
            * Merging of the arm_big_little and vexpress-spc drivers and
              related cleanup (Sudeep Holla)
            * Fix for imx's default speed grade value (Anson Huang)
            * Minor cleanup of the s3c64xx driver (Nathan Chancellor)
            * CPU speed bin detection fix for sun50i (Ondrej Jirman)
      
         - Appoint Chanwoo Choi as the new devfreq maintainer.
      
         - Update the devfreq core:
            * Check NULL governor in available_governors_show sysfs to prevent
              showing wrong governor information and fix a race condition
              between devfreq_update_status() and trans_stat_show() (Leonard
              Crestez)
            * Add new 'interrupt-driven' flag for devfreq governors to allow
              interrupt-driven governors to prevent the devfreq core from
              polling devices for status (Dmitry Osipenko)
            * Improve an error message in devfreq_add_device() (Matthias
              Kaehlcke)
      
         - Update devfreq drivers:
            * tegra30 driver fixes and cleanups (Dmitry Osipenko)
            * Removal of unused property from dt-binding documentation for the
              exynos-bus driver (Kamil Konieczny)
            * exynos-ppmu cleanup and DT bindings update (Lukasz Luba, Marek
              Szyprowski)
      
         - Add new CPU IDs for CometLake Mobile and Desktop to the Intel RAPL
           power capping driver (Zhang Rui)
      
         - Allow device initialization in the generic power domains (genpd)
           framework to be more straightforward and clean it up (Ulf Hansson)
      
         - Add support for adjusting OPP voltages at run time to the OPP
           framework (Stephen Boyd)
      
         - Avoid freeing memory that has never been allocated in the
           hibernation core (Andy Whitcroft)
      
         - Clean up function headers in a header file and coding style in the
           wakeup IRQs handling code (Ulf Hansson, Xiaofei Tan)
      
         - Clean up the SmartReflex adaptive voltage scaling (AVS) driver for
           ARM (Ben Dooks, Geert Uytterhoeven)
      
         - Wrap power management documentation to fit in 80 columns (Bjorn
           Helgaas)
      
         - Add pm-graph utility entry to MAINTAINERS (Todd Brandt)
      
         - Update the cpupower utility:
            * Fix the handling of set and info subcommands (Abhishek Goel)
            * Fix build warnings (Nathan Chancellor)
            * Improve mperf_monitor handling (Janakarajan Natarajan)"
      
      * tag 'pm-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (83 commits)
        PM: Wrap documentation to fit in 80 columns
        cpuidle: Pass exit latency limit to cpuidle_use_deepest_state()
        cpuidle: Allow idle injection to apply exit latency limit
        cpuidle: Introduce cpuidle_driver_state_disabled() for driver quirks
        cpuidle: teo: Avoid code duplication in conditionals
        cpufreq: Register drivers only after CPU devices have been registered
        cpuidle: teo: Avoid using "early hits" incorrectly
        cpuidle: teo: Exclude cpuidle overhead from computations
        PM / Domains: Convert to dev_to_genpd_safe() in genpd_syscore_switch()
        mmc: tmio: Avoid boilerplate code in ->runtime_suspend()
        PM / Domains: Implement the ->start() callback for genpd
        PM / Domains: Introduce dev_pm_domain_start()
        ARM: OMAP2+: SmartReflex: add omap_sr_pdata definition
        PM / wakeirq: remove unnecessary parentheses
        power: avs: smartreflex: Remove superfluous cast in debugfs_create_file() call
        cpuidle: Use nanoseconds as the unit of time
        PM / OPP: Support adjusting OPP voltages at runtime
        PM / core: Clean up some function headers in power.h
        cpufreq: Add NULL checks to show() and store() methods of cpufreq
        cpufreq: intel_pstate: Fix plain int as pointer warning from sparse
        ...
      9e7a0323
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c2da5bdc
      Linus Torvalds authored
      Pull x86 merge fix from Ingo Molnar:
       "I missed one other semantic conflict that can result in build failures
        on certain stripped down x86 32-bit configs, for example 32-bit
        'allnoconfig' where CONFIG_X86_IOPL_IOPERM gets turned off"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/iopl: Make 'struct tss_struct' constant size again
      c2da5bdc
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 168829ad
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - A comprehensive rewrite of the robust/PI futex code's exit handling
           to fix various exit races. (Thomas Gleixner et al)
      
         - Rework the generic REFCOUNT_FULL implementation using
           atomic_fetch_* operations so that the performance impact of the
           cmpxchg() loops is mitigated for common refcount operations.
      
           With these performance improvements the generic implementation of
           refcount_t should be good enough for everybody - and this got
           confirmed by performance testing, so remove ARCH_HAS_REFCOUNT and
           REFCOUNT_FULL entirely, leaving the generic implementation enabled
           unconditionally. (Will Deacon)
      
         - Other misc changes, fixes, cleanups"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
        lkdtm: Remove references to CONFIG_REFCOUNT_FULL
        locking/refcount: Remove unused 'refcount_error_report()' function
        locking/refcount: Consolidate implementations of refcount_t
        locking/refcount: Consolidate REFCOUNT_{MAX,SATURATED} definitions
        locking/refcount: Move saturation warnings out of line
        locking/refcount: Improve performance of generic REFCOUNT_FULL code
        locking/refcount: Move the bulk of the REFCOUNT_FULL implementation into the <linux/refcount.h> header
        locking/refcount: Remove unused refcount_*_checked() variants
        locking/refcount: Ensure integer operands are treated as signed
        locking/refcount: Define constants for saturation and max refcount values
        futex: Prevent exit livelock
        futex: Provide distinct return value when owner is exiting
        futex: Add mutex around futex exit
        futex: Provide state handling for exec() as well
        futex: Sanitize exit state handling
        futex: Mark the begin of futex exit explicitly
        futex: Set task::futex_state to DEAD right after handling futex exit
        futex: Split futex_mm_release() for exit/exec
        exit/exec: Seperate mm_release()
        futex: Replace PF_EXITPIDONE with a state
        ...
      168829ad
  2. 26 Nov, 2019 30 commits
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1ae78780
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Dynamic tick (nohz) updates, perhaps most notably changes to force
           the tick on when needed due to lengthy in-kernel execution on CPUs
           on which RCU is waiting.
      
         - Linux-kernel memory consistency model updates.
      
         - Replace rcu_swap_protected() with rcu_prepace_pointer().
      
         - Torture-test updates.
      
         - Documentation updates.
      
         - Miscellaneous fixes"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
        security/safesetid: Replace rcu_swap_protected() with rcu_replace_pointer()
        net/sched: Replace rcu_swap_protected() with rcu_replace_pointer()
        net/netfilter: Replace rcu_swap_protected() with rcu_replace_pointer()
        net/core: Replace rcu_swap_protected() with rcu_replace_pointer()
        bpf/cgroup: Replace rcu_swap_protected() with rcu_replace_pointer()
        fs/afs: Replace rcu_swap_protected() with rcu_replace_pointer()
        drivers/scsi: Replace rcu_swap_protected() with rcu_replace_pointer()
        drm/i915: Replace rcu_swap_protected() with rcu_replace_pointer()
        x86/kvm/pmu: Replace rcu_swap_protected() with rcu_replace_pointer()
        rcu: Upgrade rcu_swap_protected() to rcu_replace_pointer()
        rcu: Suppress levelspread uninitialized messages
        rcu: Fix uninitialized variable in nocb_gp_wait()
        rcu: Update descriptions for rcu_future_grace_period tracepoint
        rcu: Update descriptions for rcu_nocb_wake tracepoint
        rcu: Remove obsolete descriptions for rcu_barrier tracepoint
        rcu: Ensure that ->rcu_urgent_qs is set before resched IPI
        workqueue: Convert for_each_wq to use built-in list check
        rcu: Several rcu_segcblist functions can be static
        rcu: Remove unused function hlist_bl_del_init_rcu()
        Documentation: Rename rcu_node_context_switch() to rcu_note_context_switch()
        ...
      1ae78780
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 77a05940
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The biggest changes in this cycle were:
      
         - Make kcpustat vtime aware (Frederic Weisbecker)
      
         - Rework the CFS load_balance() logic (Vincent Guittot)
      
         - Misc cleanups, smaller enhancements, fixes.
      
        The load-balancing rework is the most intrusive change: it replaces
        the old heuristics that have become less meaningful after the
        introduction of the PELT metrics, with a grounds-up load-balancing
        algorithm.
      
        As such it's not really an iterative series, but replaces the old
        load-balancing logic with the new one. We hope there are no
        performance regressions left - but statistically it's highly probable
        that there *is* going to be some workload that is hurting from these
        chnages. If so then we'd prefer to have a look at that workload and
        fix its scheduling, instead of reverting the changes"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
        rackmeter: Use vtime aware kcpustat accessor
        leds: Use all-in-one vtime aware kcpustat accessor
        cpufreq: Use vtime aware kcpustat accessors for user time
        procfs: Use all-in-one vtime aware kcpustat accessor
        sched/vtime: Bring up complete kcpustat accessor
        sched/cputime: Support other fields on kcpustat_field()
        sched/cpufreq: Move the cfs_rq_util_change() call to cpufreq_update_util()
        sched/fair: Add comments for group_type and balancing at SD_NUMA level
        sched/fair: Fix rework of find_idlest_group()
        sched/uclamp: Fix overzealous type replacement
        sched/Kconfig: Fix spelling mistake in user-visible help text
        sched/core: Further clarify sched_class::set_next_task()
        sched/fair: Use mul_u32_u32()
        sched/core: Simplify sched_class::pick_next_task()
        sched/core: Optimize pick_next_task()
        sched/core: Make pick_next_task_idle() more consistent
        sched/fair: Better document newidle_balance()
        leds: Use vtime aware kcpustat accessor to fetch CPUTIME_SYSTEM
        cpufreq: Use vtime aware kcpustat accessor to fetch CPUTIME_SYSTEM
        procfs: Use vtime aware kcpustat accessor to fetch CPUTIME_SYSTEM
        ...
      77a05940
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3f59dbca
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "The main kernel side changes in this cycle were:
      
         - Various Intel-PT updates and optimizations (Alexander Shishkin)
      
         - Prohibit kprobes on Xen/KVM emulate prefixes (Masami Hiramatsu)
      
         - Add support for LSM and SELinux checks to control access to the
           perf syscall (Joel Fernandes)
      
         - Misc other changes, optimizations, fixes and cleanups - see the
           shortlog for details.
      
        There were numerous tooling changes as well - 254 non-merge commits.
        Here are the main changes - too many to list in detail:
      
         - Enhancements to core tooling infrastructure, perf.data, libperf,
           libtraceevent, event parsing, vendor events, Intel PT, callchains,
           BPF support and instruction decoding.
      
         - There were updates to the following tools:
      
              perf annotate
              perf diff
              perf inject
              perf kvm
              perf list
              perf maps
              perf parse
              perf probe
              perf record
              perf report
              perf script
              perf stat
              perf test
              perf trace
      
         - And a lot of other changes: please see the shortlog and Git log for
           more details"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (279 commits)
        perf parse: Fix potential memory leak when handling tracepoint errors
        perf probe: Fix spelling mistake "addrees" -> "address"
        libtraceevent: Fix memory leakage in copy_filter_type
        libtraceevent: Fix header installation
        perf intel-bts: Does not support AUX area sampling
        perf intel-pt: Add support for decoding AUX area samples
        perf intel-pt: Add support for recording AUX area samples
        perf pmu: When using default config, record which bits of config were changed by the user
        perf auxtrace: Add support for queuing AUX area samples
        perf session: Add facility to peek at all events
        perf auxtrace: Add support for dumping AUX area samples
        perf inject: Cut AUX area samples
        perf record: Add aux-sample-size config term
        perf record: Add support for AUX area sampling
        perf auxtrace: Add support for AUX area sample recording
        perf auxtrace: Move perf_evsel__find_pmu()
        perf record: Add a function to test for kernel support for AUX area sampling
        perf tools: Add kernel AUX area sampling definitions
        perf/core: Make the mlock accounting simple again
        perf report: Jump to symbol source view from total cycles view
        ...
      3f59dbca
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · df28204b
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Wire up the EFI RNG code for x86. This enables an additional source
           of entropy during early boot.
      
         - Enable the TPM event log code on ARM platforms.
      
         - Update Ard's email address"
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi: libstub/tpm: enable tpm eventlog function for ARM platforms
        x86: efi/random: Invoke EFI_RNG_PROTOCOL to seed the UEFI RNG table
        efi/random: use arch-independent efi_call_proto()
        MAINTAINERS: update Ard's email address to @kernel.org
      df28204b
    • Linus Torvalds's avatar
      Merge branch 'core-stacktrace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3f612813
      Linus Torvalds authored
      Pull stacktrace cleanup from Ingo Molnar:
       "A minor cleanup"
      
      * 'core-stacktrace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        stacktrace: Get rid of unneeded '!!' pattern
      3f612813
    • Ingo Molnar's avatar
      x86/iopl: Make 'struct tss_struct' constant size again · 0bcd7762
      Ingo Molnar authored
      After the following commit:
      
        05b042a1: ("x86/pti/32: Calculate the various PTI cpu_entry_area sizes correctly, make the CPU_ENTRY_AREA_PAGES assert precise")
      
      'struct cpu_entry_area' has to be Kconfig invariant, so that we always
      have a matching CPU_ENTRY_AREA_PAGES size.
      
      This commit added a CONFIG_X86_IOPL_IOPERM dependency to tss_struct:
      
        111e7b15: ("x86/ioperm: Extend IOPL config to control ioperm() as well")
      
      Which, if CONFIG_X86_IOPL_IOPERM is turned off, reduces the size of
      cpu_entry_area by two pages, triggering the assert:
      
        ./include/linux/compiler.h:391:38: error: call to ‘__compiletime_assert_202’ declared with attribute error: BUILD_BUG_ON failed: (CPU_ENTRY_AREA_PAGES+1)*PAGE_SIZE != CPU_ENTRY_AREA_MAP_SIZE
      
      Simplify the Kconfig dependencies and make cpu_entry_area constant
      size on 32-bit kernels again.
      
      Fixes: 05b042a1: ("x86/pti/32: Calculate the various PTI cpu_entry_area sizes correctly, make the CPU_ENTRY_AREA_PAGES assert precise")
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andy Lutomirski <luto@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      0bcd7762
    • Linus Torvalds's avatar
      Revert "vfs: properly and reliably lock f_pos in fdget_pos()" · 2be7d348
      Linus Torvalds authored
      This reverts commit 0be0ee71.
      
      I was hoping it would be benign to switch over entirely to FMODE_STREAM,
      and we'd have just a couple of small fixups we'd need, but it looks like
      we're not quite there yet.
      
      While it worked fine on both my desktop and laptop, they are fairly
      similar in other respects, and run mostly the same loads.  Kenneth
      Crudup reports that it seems to break both his vmware installation and
      the KDE upower service.  In both cases apparently leading to timeouts
      due to waitinmg for the f_pos lock.
      
      There are a number of character devices in particular that definitely
      want stream-like behavior, but that currently don't get marked as
      streams, and as a result get the exclusion between concurrent
      read()/write() on the same file descriptor.  Which doesn't work well for
      them.
      
      The most obvious example if this is /dev/console and /dev/tty, which use
      console_fops and tty_fops respectively (and ptmx_fops for the pty master
      side).  It may be that it's just this that causes problems, but we
      clearly weren't ready yet.
      
      Because there's a number of other likely common cases that don't have
      llseek implementations and would seem to act as stream devices:
      
        /dev/fuse		(fuse_dev_operations)
        /dev/mcelog		(mce_chrdev_ops)
        /dev/mei0		(mei_fops)
        /dev/net/tun		(tun_fops)
        /dev/nvme0		(nvme_dev_fops)
        /dev/tpm0		(tpm_fops)
        /proc/self/ns/mnt	(ns_file_operations)
        /dev/snd/pcm*		(snd_pcm_f_ops[])
      
      and while some of these could be trivially automatically detected by the
      vfs layer when the character device is opened by just noticing that they
      have no read or write operations either, it often isn't that obvious.
      
      Some character devices most definitely do use the file position, even if
      they don't allow seeking: the firmware update code, for example, uses
      simple_read_from_buffer() that does use f_pos, but doesn't allow seeking
      back and forth.
      
      We'll revisit this when there's a better way to detect the problem and
      fix it (possibly with a coccinelle script to do more of the FMODE_STREAM
      annotations).
      Reported-by: default avatarKenneth R. Crudup <kenny@panix.com>
      Cc: Kirill Smelkov <kirr@nexedi.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2be7d348
    • Linus Torvalds's avatar
      Merge branch 'x86-iopl-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ab851d49
      Linus Torvalds authored
      Pull x86 iopl updates from Ingo Molnar:
       "This implements a nice simplification of the iopl and ioperm code that
        Thomas Gleixner discovered: we can implement the IO privilege features
        of the iopl system call by using the IO permission bitmap in
        permissive mode, while trapping CLI/STI/POPF/PUSHF uses in user-space
        if they change the interrupt flag.
      
        This implements that feature, with testing facilities and related
        cleanups"
      
      [ "Simplification" may be an over-statement. The main goal is to avoid
        the cli/sti of iopl by effectively implementing the IO port access
        parts of iopl in terms of ioperm.
      
        This may end up not workign well in case people actually depend on
        cli/sti being available, or if there are mixed uses of iopl and
        ioperm. We will see..       - Linus ]
      
      * 'x86-iopl-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
        x86/ioperm: Fix use of deprecated config option
        x86/entry/32: Clarify register saving in __switch_to_asm()
        selftests/x86/iopl: Extend test to cover IOPL emulation
        x86/ioperm: Extend IOPL config to control ioperm() as well
        x86/iopl: Remove legacy IOPL option
        x86/iopl: Restrict iopl() permission scope
        x86/iopl: Fixup misleading comment
        selftests/x86/ioperm: Extend testing so the shared bitmap is exercised
        x86/ioperm: Share I/O bitmap if identical
        x86/ioperm: Remove bitmap if all permissions dropped
        x86/ioperm: Move TSS bitmap update to exit to user work
        x86/ioperm: Add bitmap sequence number
        x86/ioperm: Move iobitmap data into a struct
        x86/tss: Move I/O bitmap data into a seperate struct
        x86/io: Speedup schedule out of I/O bitmap user
        x86/ioperm: Avoid bitmap allocation if no permissions are set
        x86/ioperm: Simplify first ioperm() invocation logic
        x86/iopl: Cleanup include maze
        x86/tss: Fix and move VMX BUILD_BUG_ON()
        x86/cpu: Unify cpu_init()
        ...
      ab851d49
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1d872004
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Cross-arch changes to move the linker sections for NOTES and
           EXCEPTION_TABLE into the RO_DATA area, where they belong on most
           architectures. (Kees Cook)
      
         - Switch the x86 linker fill byte from x90 (NOP) to 0xcc (INT3), to
           trap jumps into the middle of those padding areas instead of
           sliding execution. (Kees Cook)
      
         - A thorough cleanup of symbol definitions within x86 assembler code.
           The rather randomly named macros got streamlined around a
           (hopefully) straightforward naming scheme:
      
              SYM_START(name, linkage, align...)
              SYM_END(name, sym_type)
      
              SYM_FUNC_START(name)
              SYM_FUNC_END(name)
      
              SYM_CODE_START(name)
              SYM_CODE_END(name)
      
              SYM_DATA_START(name)
              SYM_DATA_END(name)
      
           etc - with about three times of these basic primitives with some
           label, local symbol or attribute variant, expressed via postfixes.
      
           No change in functionality intended. (Jiri Slaby)
      
         - Misc other changes, cleanups and smaller fixes"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (67 commits)
        x86/entry/64: Remove pointless jump in paranoid_exit
        x86/entry/32: Remove unused resume_userspace label
        x86/build/vdso: Remove meaningless CFLAGS_REMOVE_*.o
        m68k: Convert missed RODATA to RO_DATA
        x86/vmlinux: Use INT3 instead of NOP for linker fill bytes
        x86/mm: Report actual image regions in /proc/iomem
        x86/mm: Report which part of kernel image is freed
        x86/mm: Remove redundant address-of operators on addresses
        xtensa: Move EXCEPTION_TABLE to RO_DATA segment
        powerpc: Move EXCEPTION_TABLE to RO_DATA segment
        parisc: Move EXCEPTION_TABLE to RO_DATA segment
        microblaze: Move EXCEPTION_TABLE to RO_DATA segment
        ia64: Move EXCEPTION_TABLE to RO_DATA segment
        h8300: Move EXCEPTION_TABLE to RO_DATA segment
        c6x: Move EXCEPTION_TABLE to RO_DATA segment
        arm64: Move EXCEPTION_TABLE to RO_DATA segment
        alpha: Move EXCEPTION_TABLE to RO_DATA segment
        x86/vmlinux: Move EXCEPTION_TABLE to RO_DATA segment
        x86/vmlinux: Actually use _etext for the end of the text segment
        vmlinux.lds.h: Allow EXCEPTION_TABLE to live in RO_DATA
        ...
      1d872004
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5c4a1c09
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "These are the fixes left over from the v5.4 cycle:
      
         - Various low level 32-bit entry code fixes and improvements by Andy
           Lutomirski, Peter Zijlstra and Thomas Gleixner.
      
         - Fix 32-bit Xen PV breakage, by Jan Beulich"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/entry/32: Fix FIXUP_ESPFIX_STACK with user CR3
        x86/pti/32: Calculate the various PTI cpu_entry_area sizes correctly, make the CPU_ENTRY_AREA_PAGES assert precise
        selftests/x86/sigreturn/32: Invalidate DS and ES when abusing the kernel
        selftests/x86/mov_ss_trap: Fix the SYSENTER test
        x86/entry/32: Fix NMI vs ESPFIX
        x86/entry/32: Unwind the ESPFIX stack earlier on exception entry
        x86/entry/32: Move FIXUP_FRAME after pushing %fs in SAVE_ALL
        x86/entry/32: Use %ss segment where required
        x86/entry/32: Fix IRET exception
        x86/cpu_entry_area: Add guard page for entry stack on 32bit
        x86/pti/32: Size initial_page_table correctly
        x86/doublefault/32: Fix stack canaries in the double fault handler
        x86/xen/32: Simplify ring check in xen_iret_crit_fixup()
        x86/xen/32: Make xen_iret_crit_fixup() independent of frame layout
        x86/stackframe/32: Repair 32-bit Xen PV
      5c4a1c09
    • Linus Torvalds's avatar
      Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 53a07a14
      Linus Torvalds authored
      Pull x86 PTI updates from Ingo Molnar:
       "Fix reporting bugs of the MDS and TAA mitigation status, if one or
        both are set via a boot option.
      
        No change to mitigation behavior intended"
      
      * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/speculation: Fix redundant MDS mitigation message
        x86/speculation: Fix incorrect MDS/TAA mitigation status
      53a07a14
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · da42761d
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "UV platform updates (with a 'hubless' variant) and Jailhouse updates
        for better UART support"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/jailhouse: Only enable platform UARTs if available
        x86/jailhouse: Improve setup data version comparison
        x86/platform/uv: Account for UV Hubless in is_uvX_hub Ops
        x86/platform/uv: Check EFI Boot to set reboot type
        x86/platform/uv: Decode UVsystab Info
        x86/platform/uv: Add UV Hubbed/Hubless Proc FS Files
        x86/platform/uv: Setup UV functions for Hubless UV Systems
        x86/platform/uv: Add return code to UV BIOS Init function
        x86/platform/uv: Return UV Hubless System Type
        x86/platform/uv: Save OEM_ID from ACPI MADT probe
      da42761d
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1c134b19
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - A PAT series from Davidlohr Bueso, which simplifies the memtype
           rbtree by using the interval tree helpers. (There's more cleanups
           in this area queued up, but they didn't make the merge window.)
      
         - Also flip over CONFIG_X86_5LEVEL to default-y. This might draw in a
           few more testers, as all the major distros are going to have
           5-level paging enabled by default in their next iterations.
      
         - Misc cleanups"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/pat: Rename pat_rbtree.c to pat_interval.c
        x86/mm/pat: Drop the rbt_ prefix from external memtype calls
        x86/mm/pat: Do not pass 'rb_root' down the memtype tree helper functions
        x86/mm/pat: Convert the PAT tree to a generic interval tree
        x86/mm: Clean up the pmd_read_atomic() comments
        x86/mm: Fix function name typo in pmd_read_atomic() comment
        x86/cpu: Clean up intel_tlb_table[]
        x86/mm: Enable 5-level paging support by default
      1c134b19
    • Linus Torvalds's avatar
      Merge branch 'x86-kdump-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 24ee25a6
      Linus Torvalds authored
      Pull x86 kdump updates from Ingo Molnar:
       "This solves a kdump artifact where encrypted memory contents are
        dumped, instead of unencrypted ones.
      
        The solution also happens to simplify the kdump code, to everyone's
        delight"
      
      * 'x86-kdump-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/crash: Align function arguments on opening braces
        x86/kdump: Remove the backup region handling
        x86/kdump: Always reserve the low 1M when the crashkernel option is specified
        x86/crash: Add a forward declaration of struct kimage
      24ee25a6
    • Linus Torvalds's avatar
      Merge branch 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 64d6a120
      Linus Torvalds authored
      Pull x86 hyperv updates from Ingo Molnar:
       "Misc updates to the hyperv guest code:
      
         - Rework clockevents initialization to better support hibernation
      
         - Allow guests to enable InvariantTSC
      
         - Micro-optimize send_ipi_one"
      
      * 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/hyperv: Initialize clockevents earlier in CPU onlining
        x86/hyperv: Allow guests to enable InvariantTSC
        x86/hyperv: Micro-optimize send_ipi_one()
      64d6a120
    • Linus Torvalds's avatar
      Merge branch 'x86-entry-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cd4771f7
      Linus Torvalds authored
      Pull x86 syscall entry updates from Ingo Molnar:
       "These changes relate to the preparatory cleanup of syscall function
        type signatures - to fix indirect call mismatches with Control-Flow
        Integrity (CFI) checking.
      
        No change in behavior intended"
      
      * 'x86-entry-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Use the correct function type for native_set_fixmap()
        syscalls/x86: Fix function types in COND_SYSCALL
        syscalls/x86: Use the correct function type for sys_ni_syscall
        syscalls/x86: Use COMPAT_SYSCALL_DEFINE0 for IA32 (rt_)sigreturn
        syscalls/x86: Wire up COMPAT_SYSCALL_DEFINE0
        syscalls/x86: Use the correct function type in SYSCALL_DEFINE0
      cd4771f7
    • Linus Torvalds's avatar
      Merge branches 'x86-cpu-for-linus' and 'x86-fpu-for-linus' of... · a25bbc26
      Linus Torvalds authored
      Merge branches 'x86-cpu-for-linus' and 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull x86 cpu and fpu updates from Ingo Molnar:
      
       - math-emu fixes
      
       - CPUID updates
      
       - sanity-check RDRAND output to see whether the CPU at least pretends
         to produce random data
      
       - various unaligned-access across cachelines fixes in preparation of
         hardware level split-lock detection
      
       - fix MAXSMP constraints to not allow !CPUMASK_OFFSTACK kernels with
         larger than 512 NR_CPUS
      
       - misc FPU related cleanups
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu: Align the x86_capability array to size of unsigned long
        x86/cpu: Align cpu_caps_cleared and cpu_caps_set to unsigned long
        x86/umip: Make the comments vendor-agnostic
        x86/Kconfig: Rename UMIP config parameter
        x86/Kconfig: Enforce limit of 512 CPUs with MAXSMP and no CPUMASK_OFFSTACK
        x86/cpufeatures: Add feature bit RDPRU on AMD
        x86/math-emu: Limit MATH_EMULATION to 486SX compatibles
        x86/math-emu: Check __copy_from_user() result
        x86/rdrand: Sanity-check RDRAND output
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Use XFEATURE_FP/SSE enum values instead of hardcoded numbers
        x86/fpu: Shrink space allocated for xstate_comp_offsets
        x86/fpu: Update stale variable name in comment
      a25bbc26
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 85fbf15b
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "The main changes were:
      
         - Extend the boot protocol to allow future extensions without hitting
           the setup_header size limit.
      
         - Add quirk to devicetree systems to disable the RTC unless it's
           listed as a supported device.
      
         - Fix ld.lld linker pedantry"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Introduce setup_indirect
        x86/boot: Introduce kernel_info.setup_type_max
        x86/boot: Introduce kernel_info
        x86/init: Allow DT configured systems to disable RTC at boot time
        x86/realmode: Explicitly set entry point via ENTRY in linker script
      85fbf15b
    • Linus Torvalds's avatar
      Merge branches 'core-objtool-for-linus', 'x86-cleanups-for-linus' and... · fd261590
      Linus Torvalds authored
      Merge branches 'core-objtool-for-linus', 'x86-cleanups-for-linus' and 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull x86 objtool, cleanup, and apic updates from Ingo Molnar:
       "Objtool:
      
         - Fix a gawk 5.0 incompatibility in gen-insn-attr-x86.awk. Most
           distros are still on gawk 4.2.x.
      
        Cleanup:
      
         - Misc cleanups, plus the removal of obsolete code such as Calgary
           IOMMU support, which code hasn't seen any real testing in a long
           time and there's no known users left.
      
        apic:
      
         - Two changes: a cleanup and a fix for an (old) race for oneshot
           threaded IRQ handlers"
      
      * 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/insn: Fix awk regexp warnings
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Remove unused asm/rio.h
        x86: Fix typos in comments
        x86/pci: Remove #ifdef __KERNEL__ guard from <asm/pci.h>
        x86/pci: Remove pci_64.h
        x86: Remove the calgary IOMMU driver
        x86/apic, x86/uprobes: Correct parameter names in kernel-doc comments
        x86/kdump: Remove the unused crash_copy_backup_region()
        x86/nmi: Remove stale EDAC include leftover
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ioapic: Rename misnamed functions
        x86/ioapic: Prevent inconsistent state when moving an interrupt
      fd261590
    • Mauro Carvalho Chehab's avatar
      Merge branch 'patchwork' into v4l_for_linus · 0ca40f41
      Mauro Carvalho Chehab authored
      * patchwork: (360 commits)
        media: Revert "media: mtk-vcodec: Remove extra area allocation in an input buffer on encoding"
        media: hantro: Set H264 FIELDPIC_FLAG_E flag correctly
        media: hantro: Remove now unused H264 pic_size
        media: hantro: Use output buffer width and height for H264 decoding
        media: hantro: Reduce H264 extra space for motion vectors
        media: hantro: Fix H264 motion vector buffer offset
        media: ti-vpe: vpe: fix compatible to match bindings
        media: dt-bindings: media: ti-vpe: Document VPE driver
        media: zr364xx: remove redundant assigmnent to idx, clean up code
        media: Documentation: media: *_DEFAULT targets for subdevs
        media: hantro: Fix s_fmt for dynamic resolution changes
        media: i2c: Use the correct style for SPDX License Identifier
        media: siano: Use the correct style for SPDX License Identifier
        media: vicodec: media_device_cleanup was called too early
        media: vim2m: media_device_cleanup was called too early
        media: cedrus: Increase maximum supported size
        media: cedrus: Fix H264 4k support
        media: cedrus: Properly signal size in mode register
        media: v4l2-ctrl: Lock main_hdl on operations of requests_queued.
        media: si470x-i2c: add missed operations in remove
        ...
      0ca40f41
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-mm' · 782b5971
      Rafael J. Wysocki authored
      * acpi-mm:
        ACPI: HMAT: use %u instead of %d to print u32 values
        ACPI: NUMA: HMAT: fix a section mismatch
        ACPI: HMAT: don't mix pxm and nid when setting memory target processor_pxm
        ACPI: NUMA: HMAT: Register "soft reserved" memory as an "hmem" device
        ACPI: NUMA: HMAT: Register HMAT at device_initcall level
        device-dax: Add a driver for "hmem" devices
        dax: Fix alloc_dax_region() compile warning
        lib: Uplevel the pmem "region" ida to a global allocator
        x86/efi: Add efi_fake_mem support for EFI_MEMORY_SP
        arm/efi: EFI soft reservation to memblock
        x86/efi: EFI soft reservation to E820 enumeration
        efi: Common enable/disable infrastructure for EFI soft reservation
        x86/efi: Push EFI_MEMMAP check into leaf routines
        efi: Enumerate EFI_MEMORY_SP
        ACPI: NUMA: Establish a new drivers/acpi/numa/ directory
      782b5971
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-utils', 'acpi-platform', 'acpi-video' and 'acpi-doc' · 995e2ef0
      Rafael J. Wysocki authored
      * acpi-utils:
        iommu/amd: Switch to use acpi_dev_hid_uid_match()
        mmc: sdhci-acpi: Switch to use acpi_dev_hid_uid_match()
        ACPI / LPSS: Switch to use acpi_dev_hid_uid_match()
        ACPI / utils: Introduce acpi_dev_hid_uid_match() helper
        ACPI / utils: Move acpi_dev_get_first_match_dev() under CONFIG_ACPI
        ACPI / utils: Describe function parameters in kernel-doc
      
      * acpi-platform:
        ACPI: platform: Unregister stale platform devices
        ACPI: Always build evged in
      
      * acpi-video:
        ACPI: video: update doc for acpi_video_bus_DOS()
      
      * acpi-doc:
        ACPI: Documentation: Minor spelling fix in namespace.rst
      995e2ef0
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-ec', 'acpi-soc', 'acpi-pmic' and 'acpi-button' · 1fca7e0e
      Rafael J. Wysocki authored
      * acpi-ec:
        ACPI: EC: add support for hardware-reduced systems
        ACPI: EC: tweak naming in preparation for GpioInt support
      
      * acpi-soc:
        ACPI: LPSS: Add dmi quirk for skipping _DEP check for some device-links
        ACPI: LPSS: Add LNXVIDEO -> BYT I2C1 to lpss_device_links
        ACPI: LPSS: Add LNXVIDEO -> BYT I2C7 to lpss_device_links
      
      * acpi-pmic:
        ACPI / PMIC: Add Cherry Trail Crystal Cove PMIC OpRegion driver
        ACPI / PMIC: Add byt prefix to Crystal Cove PMIC OpRegion driver
        ACPI / PMIC: Do not register handlers for unhandled OpRegions
      
      * acpi-button:
        ACPI: button: Remove unused acpi_lid_notifier_[un]register() functions
        ACPI: button: Add DMI quirk for Asus T200TA
        ACPI: button: Add DMI quirk for Medion Akoya E2215T
        ACPI: button: Turn lid_blacklst DMI table into a generic quirk table
        ACPI: button: Allow disabling LID support with the lid_init_state module option
        ACPI: button: Refactor lid_init_state module parsing code
      1fca7e0e
    • Rafael J. Wysocki's avatar
      Merge branch 'acpica' · 713608a3
      Rafael J. Wysocki authored
      * acpica:
        ACPICA: Update version to 20191018
        ACPICA: debugger: remove leading whitespaces when converting a string to a buffer
        ACPICA: acpiexec: initialize all simple types and field units from user input
        ACPICA: debugger: add field unit support for acpi_db_get_next_token
        ACPICA: debugger: surround field unit output with braces '{'
        ACPICA: debugger: add command to dump all fields of particular subtype
        ACPICA: utilities: add flag to only display data when dumping buffers
        ACPICA: make acpi_load_table() return table index
        ACPICA: Add new external interface, acpi_unload_table()
        ACPICA: More Clang changes
        ACPICA: Win OSL: Replace get_tick_count with get_tick_count64
        ACPICA: Results from Clang
      713608a3
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-avs', 'pm-docs' and 'pm-tools' · e350b60f
      Rafael J. Wysocki authored
      * pm-avs:
        ARM: OMAP2+: SmartReflex: add omap_sr_pdata definition
        power: avs: smartreflex: Remove superfluous cast in debugfs_create_file() call
      
      * pm-docs:
        PM: Wrap documentation to fit in 80 columns
      
      * pm-tools:
        cpupower: ToDo: Update ToDo with ideas for per_cpu_schedule handling
        cpupower: mperf_monitor: Update cpupower to use the RDPRU instruction
        cpupower: mperf_monitor: Introduce per_cpu_schedule flag
        cpupower: Move needs_root variable into a sub-struct
        cpupower : Handle set and info subcommands correctly
        pm-graph info added to MAINTAINERS
        tools/power/cpupower: Fix initializer override in hsw_ext_cstates
      e350b60f
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-sleep', 'pm-domains', 'pm-opp' and 'powercap' · 5a97aa5b
      Rafael J. Wysocki authored
      * pm-sleep:
        PM / wakeirq: remove unnecessary parentheses
        PM / core: Clean up some function headers in power.h
        PM / hibernate: memory_bm_find_bit(): Tighten node optimisation
      
      * pm-domains:
        PM / Domains: Convert to dev_to_genpd_safe() in genpd_syscore_switch()
        mmc: tmio: Avoid boilerplate code in ->runtime_suspend()
        PM / Domains: Implement the ->start() callback for genpd
        PM / Domains: Introduce dev_pm_domain_start()
      
      * pm-opp:
        PM / OPP: Support adjusting OPP voltages at runtime
      
      * powercap:
        powercap/intel_rapl: add support for Cometlake desktop
        powercap/intel_rapl: add support for CometLake Mobile
      5a97aa5b
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-devfreq' · fa6a599e
      Rafael J. Wysocki authored
      * pm-devfreq: (26 commits)
        PM / devfreq: tegra30: Tune up MCCPU boost-down coefficient
        PM / devfreq: tegra30: Support variable polling interval
        PM / devfreq: Add new interrupt_driven flag for governors
        PM / devfreq: tegra30: Use kHz units for dependency threshold
        PM / devfreq: tegra30: Disable consecutive interrupts when appropriate
        PM / devfreq: tegra30: Don't enable already enabled consecutive interrupts
        PM / devfreq: tegra30: Include appropriate header
        PM / devfreq: tegra30: Constify structs
        PM / devfreq: tegra30: Don't enable consecutive-down interrupt on startup
        PM / devfreq: tegra30: Reset boosting on startup
        PM / devfreq: tegra30: Move clk-notifier's registration to governor's start
        PM / devfreq: tegra30: Use CPUFreq notifier
        PM / devfreq: tegra30: Use kHz units uniformly in the code
        PM / devfreq: tegra30: Fix integer overflow on CPU's freq max out
        PM / devfreq: tegra30: Drop write-barrier
        PM / devfreq: tegra30: Handle possible round-rate error
        PM / devfreq: tegra30: Keep interrupt disabled while governor is stopped
        PM / devfreq: tegra30: Change irq type to unsigned int
        PM / devfreq: exynos-ppmu: remove useless assignment
        PM / devfreq: Lock devfreq in trans_stat_show
        ...
      fa6a599e
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · c48b90f8
      Rafael J. Wysocki authored
      * pm-cpufreq: (23 commits)
        cpufreq: Register drivers only after CPU devices have been registered
        cpufreq: Add NULL checks to show() and store() methods of cpufreq
        cpufreq: intel_pstate: Fix plain int as pointer warning from sparse
        cpufreq: sun50i: Fix CPU speed bin detection
        cpufreq: powernv: fix stack bloat and hard limit on number of CPUs
        cpufreq: Clarify the comment in cpufreq_set_policy()
        cpufreq: vexpress-spc: find and skip duplicates when merging frequencies
        cpufreq: vexpress-spc: use macros instead of hardcoded values for cluster ids
        cpufreq: s3c64xx: Remove pointless NULL check in s3c64xx_cpufreq_driver_init
        cpufreq: imx-cpufreq-dt: Correct i.MX8MN's default speed grade value
        cpufreq: vexpress-spc: fix some coding style issues
        cpufreq: vexpress-spc: remove lots of debug messages
        cpufreq: vexpress-spc: drop unnessary cpufreq_arm_bL_ops abstraction
        cpufreq: merge arm_big_little and vexpress-spc
        cpufreq: scpi: remove stale/outdated comment about the driver
        ARM: dts: Add OPP-V2 table for AM3517
        cpufreq: ti-cpufreq: Add support for AM3517
        ARM: dts: omap36xx: using OPP1G needs to control the abb_ldo
        cpufreq: ti-cpufreq: omap36xx use "cpu0","vbb" if run in multi_regulator mode
        ARM: dts: omap3: bulk convert compatible to be explicitly ti,omap3430 or ti,omap3630 or ti,am3517
        ...
      c48b90f8
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpuidle' · 62214039
      Rafael J. Wysocki authored
      * pm-cpuidle:
        cpuidle: Pass exit latency limit to cpuidle_use_deepest_state()
        cpuidle: Allow idle injection to apply exit latency limit
        cpuidle: Introduce cpuidle_driver_state_disabled() for driver quirks
        cpuidle: teo: Avoid code duplication in conditionals
        cpuidle: teo: Avoid using "early hits" incorrectly
        cpuidle: teo: Exclude cpuidle overhead from computations
        cpuidle: Use nanoseconds as the unit of time
        cpuidle: Consolidate disabled state checks
        ACPI: processor_idle: Skip dummy wait if kernel is in guest
        cpuidle: Do not unset the driver if it is there already
        cpuidle: teo: Fix "early hits" handling for disabled idle states
        cpuidle: teo: Consider hits and misses metrics of disabled states
        cpuidle: teo: Rename local variable in teo_select()
        cpuidle: teo: Ignore disabled idle states that are too deep
      62214039
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.5-1' of git://github.com/cminyard/linux-ipmi · be2eca94
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "Some small fixes accumulated for IPMI, nothing major"
      
      * tag 'for-linus-5.5-1' of git://github.com/cminyard/linux-ipmi:
        ipmi: fix ipmb_poll()'s return type
        ipmi: kill off 'timespec' usage again
        drivers: ipmi: Support for both IPMB Req and Resp
        ipmi: Fix memory leak in __ipmi_bmc_register
        ipmi: bt-bmc: use devm_platform_ioremap_resource() to simplify code
        ipmi: use %*ph to print small buffer
        ipmi: Don't allow device module unload when in use
      be2eca94