1. 03 Oct, 2022 16 commits
    • Linus Torvalds's avatar
      Merge tag 'pm-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c79e6fa9
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These add support for some new hardware, extend the existing hardware
        support, fix some issues and clean up code
      
        Specifics:
      
         - Add isupport for Tiger Lake in no-HWP mode to intel_pstate (Doug
           Smythies)
      
         - Update the AMD P-state driver (Perry Yuan):
            - Fix wrong lowest perf fetch
            - Map desired perf into pstate scope for powersave governor
            - Update pstate frequency transition delay time
            - Fix initial highest_perf value
            - Clean up
      
         - Move max CPU capacity to sugov_policy in the schedutil cpufreq
           governor (Lukasz Luba)
      
         - Add SM6115 to cpufreq-dt blocklist (Adam Skladowski)
      
         - Add support for Tegra239 and minor cleanups (Sumit Gupta, ye
           xingchen, and Yang Yingliang)
      
         - Add freq qos for qcom cpufreq driver and minor cleanups (Xuewen
           Yan, and Viresh Kumar)
      
         - Minor cleanups around functions called at module_init() (Xiu
           Jianfeng)
      
         - Use module_init and add module_exit for bmips driver (Zhang
           Jianhua)
      
         - Add AlderLake-N support to intel_idle (Zhang Rui)
      
         - Replace strlcpy() with unused retval with strscpy() in intel_idle
           (Wolfram Sang)
      
         - Remove redundant check from cpuidle_switch_governor() (Yu Liao)
      
         - Replace strlcpy() with unused retval with strscpy() in the powernv
           cpuidle driver (Wolfram Sang)
      
         - Drop duplicate word from a comment in the coupled cpuidle driver
           (Jason Wang)
      
         - Make rpm_resume() return -EINPROGRESS if RPM_NOWAIT is passed to it
           in the flags and the device is about to resume (Rafael Wysocki)
      
         - Add extra debugging statement for multiple active IRQs to system
           wakeup handling code (Mario Limonciello)
      
         - Replace strlcpy() with unused retval with strscpy() in the core
           system suspend support code (Wolfram Sang)
      
         - Update the intel_rapl power capping driver:
            - Use standard Energy Unit for SPR Dram RAPL domain (Zhang Rui).
            - Add support for RAPTORLAKE_S (Zhang Rui).
            - Fix UBSAN shift-out-of-bounds issue (Chao Qin)
      
         - Handle -EPROBE_DEFER when regulator is not probed on
           mtk-ci-devfreq.c (AngeloGioacchino Del Regno)
      
         - Fix message typo and use dev_err_probe() in rockchip-dfi.c
           (Christophe JAILLET)"
      
      * tag 'pm-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (29 commits)
        cpufreq: qcom-cpufreq-hw: Add cpufreq qos for LMh
        cpufreq: Add __init annotation to module init funcs
        cpufreq: tegra194: change tegra239_cpufreq_soc to static
        PM / devfreq: rockchip-dfi: Fix an error message
        PM / devfreq: mtk-cci: Handle sram regulator probe deferral
        powercap: intel_rapl: Use standard Energy Unit for SPR Dram RAPL domain
        PM: runtime: Return -EINPROGRESS from rpm_resume() in the RPM_NOWAIT case
        intel_idle: Add AlderLake-N support
        powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue
        cpufreq: tegra194: Add support for Tegra239
        cpufreq: qcom-cpufreq-hw: Fix uninitialized throttled_freq warning
        cpufreq: intel_pstate: Add Tigerlake support in no-HWP mode
        powercap: intel_rapl: Add support for RAPTORLAKE_S
        cpufreq: amd-pstate: Fix initial highest_perf value
        cpuidle: Remove redundant check in cpuidle_switch_governor()
        PM: wakeup: Add extra debugging statement for multiple active IRQs
        cpufreq: tegra194: Remove the unneeded result variable
        PM: suspend: move from strlcpy() with unused retval to strscpy()
        intel_idle: move from strlcpy() with unused retval to strscpy()
        cpuidle: powernv: move from strlcpy() with unused retval to strscpy()
        ...
      c79e6fa9
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 9388076b
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "ACPI and PNP updates for 6.1-rc1.
      
        These rearrange the ACPI device object initialization code (to get rid
        of a redundant parent pointer from struct acpi_device among other
        things), unify the _UID handling, drop support for some _OSI strings
        that should not be necessary any more, add new IDs to support more
        hardware and some more quirks, fix a few issues and clean up code all
        over.
      
        Specifics:
      
         - Reimplement acpi_get_pci_dev() using the list of physical devices
           associated with the given ACPI device object (Rafael Wysocki)
      
         - Rename ACPI device object reference counting functions (Rafael
           Wysocki)
      
         - Rearrange ACPI device object initialization code (Rafael Wysocki)
      
         - Drop parent field from struct acpi_device (Rafael Wysocki)
      
         - Extend the the int3472-tps68470 driver to support multiple
           consumers of a single TPS68470 along with the requisite
           framework-level support (Daniel Scally)
      
         - Filter out non-memory resources in is_memory(), add a helper
           function to find all memory type resources of an ACPI device object
           and use that function in 3 places (Heikki Krogerus)
      
         - Add IRQ override quirks for Asus Vivobook K3402ZA/K3502ZA and ASUS
           model S5402ZA (Tamim Khan, Kellen Renshaw)
      
         - Fix acpi_dev_state_d0() kerneldoc (Sakari Ailus)
      
         - Fix up suspend-to-idle support on ASUS Rembrandt laptops (Mario
           Limonciello)
      
         - Clean up ACPI platform devices support code (Andy Shevchenko, John
           Garry)
      
         - Clean up ACPI bus management code (Andy Shevchenko, ye xingchen)
      
         - Add support for multiple DMA windows with different offsets to the
           ACPI device enumeration code and use it on LoongArch (Jianmin Lv)
      
         - Clean up the ACPI LPSS (Intel SoC) driver (Andy Shevchenko)
      
         - Add a quirk for Dell Inspiron 14 2-in-1 for StorageD3Enable (Mario
           Limonciello)
      
         - Drop unused dev_fmt() and redundant 'HMAT' prefix from the HMAT
           parsing code (Liu Shixin)
      
         - Make ACPI FPDT parsing code avoid calling acpi_os_map_memory() on
           invalid physical addresses (Hans de Goede)
      
         - Silence missing-declarations warning related to Apple device
           properties management (Lukas Wunner)
      
         - Disable frequency invariance in the CPPC library if registers used
           by cppc_get_perf_ctrs() are accessed via PCC (Jeremy Linton)
      
         - Add ACPI disabled check to acpi_cpc_valid() (Perry Yuan)
      
         - Fix Tx acknowledge in the PCC address space handler (Huisong Li)
      
         - Use wait_for_completion_timeout() for PCC mailbox operations
           (Huisong Li)
      
         - Release resources on PCC address space setup failure path (Rafael
           Mendonca)
      
         - Remove unneeded result variables from APEI code (ye xingchen)
      
         - Print total number of records found during BERT log parsing (Dmitry
           Monakhov)
      
         - Drop support for 3 _OSI strings that should not be necessary any
           more and update documentation on custom _OSI strings so that adding
           new ones is not encouraged any more (Mario Limonciello)
      
         - Drop unneeded result variable from ec_write() (ye xingchen)
      
         - Remove the leftover struct acpi_ac_bl from the ACPI AC driver
           (Hanjun Guo)
      
         - Reorder symbols to get rid of a few forward declarations in the
           ACPI fan driver (Uwe Kleine-König)
      
         - Add Toshiba Satellite/Portege Z830 ACPI backlight quirk (Arvid
           Norlander)
      
         - Add ARM DMA-330 controller to the supported list in the ACPI AMBA
           driver (Vijayenthiran Subramaniam)
      
         - Drop references to non-functional 01.org/linux-acpi web site from
           MAINTAINERS and Kconfig help texts (Rafael Wysocki)
      
         - Replace strlcpy() with unused retval with strscpy() in the ACPI
           support code (Wolfram Sang)
      
         - Do not initialize ret in main() in the pfrut utility (Shi junming)
      
         - Drop useless ACPI DSDT override documentation (Rafael Wysocki)
      
         - Fix a few typos and wording mistakes in the ACPI device enumeration
           documentation (Jean Delvare)
      
         - Introduce acpi_dev_uid_to_integer() to convert a _UID string into
           an integer value (Andy Shevchenko)
      
         - Use acpi_dev_uid_to_integer() in several places to unify _UID
           handling (Andy Shevchenko)
      
         - Drop unused pnpid32_to_pnpid() declaration from PNP code (Gaosheng
           Cui)"
      
      * tag 'acpi-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (79 commits)
        ACPI: LPSS: Deduplicate skipping device in acpi_lpss_create_device()
        ACPI: LPSS: Replace loop with first entry retrieval
        ACPI: x86: s2idle: Add another ID to s2idle_dmi_table
        ACPI: x86: s2idle: Fix a NULL pointer dereference
        MAINTAINERS: Drop records pointing to 01.org/linux-acpi
        ACPI: Kconfig: Drop link to https://01.org/linux-acpi
        ACPI: docs: Drop useless DSDT override documentation
        ACPI: DPTF: Drop stale link from Kconfig help
        ACPI: x86: s2idle: Add a quirk for ASUSTeK COMPUTER INC. ROG Flow X13
        ACPI: x86: s2idle: Add a quirk for Lenovo Slim 7 Pro 14ARH7
        ACPI: x86: s2idle: Add a quirk for ASUS ROG Zephyrus G14
        ACPI: x86: s2idle: Add a quirk for ASUS TUF Gaming A17 FA707RE
        ACPI: x86: s2idle: Add module parameter to prefer Microsoft GUID
        ACPI: x86: s2idle: If a new AMD _HID is missing assume Rembrandt
        ACPI: x86: s2idle: Move _HID handling for AMD systems into structures
        platform/x86: int3472: Add board data for Surface Go2 IR camera
        platform/x86: int3472: Support multiple gpio lookups in board data
        platform/x86: int3472: Support multiple clock consumers
        ACPI: bus: Add iterator for dependent devices
        ACPI: scan: Add acpi_dev_get_next_consumer_dev()
        ...
      9388076b
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpuidle', 'pm-core', 'pm-sleep' and 'powercap' · ac73ce39
      Rafael J. Wysocki authored
      Merge cpuidle changes, PM core changes and power capping changes for
      6.1-rc1:
      
       - Add AlderLake-N support to intel_idle (Zhang Rui).
      
       - Replace strlcpy() with unused retval with strscpy() in intel_idle
         (Wolfram Sang).
      
       - Remove redundant check from cpuidle_switch_governor() (Yu Liao).
      
       - Replace strlcpy() with unused retval with strscpy() in the powernv
         cpuidle driver (Wolfram Sang).
      
       - Drop duplicate word from a comment in the coupled cpuidle driver
         (Jason Wang).
      
       - Make rpm_resume() return -EINPROGRESS if RPM_NOWAIT is passed to it
         in the flags and the device is about to resume (Rafael Wysocki).
      
       - Add extra debugging statement for multiple active IRQs to system
         wakeup handling code (Mario Limonciello).
      
       - Replace strlcpy() with unused retval with strscpy() in the core
         system suspend support code (Wolfram Sang).
      
       - Update the intel_rapl power capping driver:
         * Use standard Energy Unit for SPR Dram RAPL domain (Zhang Rui).
         * Add support for RAPTORLAKE_S (Zhang Rui).
         * Fix UBSAN shift-out-of-bounds issue (Chao Qin).
      
      * pm-cpuidle:
        intel_idle: Add AlderLake-N support
        cpuidle: Remove redundant check in cpuidle_switch_governor()
        intel_idle: move from strlcpy() with unused retval to strscpy()
        cpuidle: powernv: move from strlcpy() with unused retval to strscpy()
        cpuidle: coupled: Drop duplicate word from a comment
      
      * pm-core:
        PM: runtime: Return -EINPROGRESS from rpm_resume() in the RPM_NOWAIT case
      
      * pm-sleep:
        PM: wakeup: Add extra debugging statement for multiple active IRQs
        PM: suspend: move from strlcpy() with unused retval to strscpy()
      
      * powercap:
        powercap: intel_rapl: Use standard Energy Unit for SPR Dram RAPL domain
        powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue
        powercap: intel_rapl: Add support for RAPTORLAKE_S
      ac73ce39
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · 0766fa2e
      Rafael J. Wysocki authored
      Merge cpufreq changes for 6.1-rc1:
      
       - Add isupport for Tiger Lake in no-HWP mode to intel_pstate (Doug
         Smythies).
      
       - Update the AMD P-state driver (Perry Yuan):
         * Fix wrong lowest perf fetch.
         * Map desired perf into pstate scope for powersave governor.
         * Update pstate frequency transition delay time.
         * Fix initial highest_perf value.
         * Clean up.
      
       - Move max CPU capacity to sugov_policy in the schedutil cpufreq
         governor (Lukasz Luba).
      
       - Add SM6115 to cpufreq-dt blocklist (Adam Skladowski).
      
       - Add support for Tegra239 and minor cleanups (Sumit Gupta, ye xingchen,
         and Yang Yingliang).
      
       - Add freq qos for qcom cpufreq driver and minor cleanups (Xuewen Yan,
         and Viresh Kumar).
      
       - Minor cleanups around functions called at module_init() (Xiu Jianfeng).
      
       - Use module_init and add module_exit for bmips driver (Zhang Jianhua).
      
      * pm-cpufreq:
        cpufreq: qcom-cpufreq-hw: Add cpufreq qos for LMh
        cpufreq: Add __init annotation to module init funcs
        cpufreq: tegra194: change tegra239_cpufreq_soc to static
        cpufreq: tegra194: Add support for Tegra239
        cpufreq: qcom-cpufreq-hw: Fix uninitialized throttled_freq warning
        cpufreq: intel_pstate: Add Tigerlake support in no-HWP mode
        cpufreq: amd-pstate: Fix initial highest_perf value
        cpufreq: tegra194: Remove the unneeded result variable
        cpufreq: amd-pstate: update pstate frequency transition delay time
        cpufreq: amd_pstate: map desired perf into pstate scope for powersave governor
        cpufreq: amd_pstate: fix wrong lowest perf fetch
        cpufreq: amd-pstate: fix white-space
        cpufreq: amd-pstate: simplify cpudata pointer assignment
        cpufreq: bmips-cpufreq: Use module_init and add module_exit
        cpufreq: schedutil: Move max CPU capacity to sugov_policy
        cpufreq: Add SM6115 to cpufreq-dt-platdev blocklist
      0766fa2e
    • Rafael J. Wysocki's avatar
      Merge branch 'pnp' · c8efe77f
      Rafael J. Wysocki authored
      Merge a PNP changes for 6.1-rc1:
      
        - Drop unused pnpid32_to_pnpid() declaration from  PNP code (Gaosheng
          Cui).
      
      * pnp:
        PNPBIOS: remove unused pnpid32_to_pnpid() declaration
      c8efe77f
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-uid' · 4aa497ca
      Rafael J. Wysocki authored
      Merge ACPI _UID handling unification changes for 6.1-rc1:
      
       - Introduce acpi_dev_uid_to_integer() to convert a _UID string into an
         integer value (Andy Shevchenko).
      
       - Use acpi_dev_uid_to_integer() in several places to unify _UID
         handling (Andy Shevchenko).
      
      * acpi-uid:
        efi/dev-path-parser: Refactor _UID handling to use acpi_dev_uid_to_integer()
        spi: pxa2xx: Refactor _UID handling to use acpi_dev_uid_to_integer()
        perf: qcom_l2_pmu: Refactor _UID handling to use acpi_dev_uid_to_integer()
        i2c: mlxbf: Refactor _UID handling to use acpi_dev_uid_to_integer()
        i2c: amd-mp2-plat: Refactor _UID handling to use acpi_dev_uid_to_integer()
        ACPI: x86: Refactor _UID handling to use acpi_dev_uid_to_integer()
        ACPI: LPSS: Refactor _UID handling to use acpi_dev_uid_to_integer()
        ACPI: utils: Add acpi_dev_uid_to_integer() helper to get _UID as integer
      4aa497ca
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-misc', 'acpi-tools' and 'acpi-docs' · a7ece531
      Rafael J. Wysocki authored
      Merge miscellaneous ACPI material, ACPI tools changes and ACPI
      documentation updates for 6.1-rc1:
      
       - Drop references to non-functional 01.org/linux-acpi web site from
         MAINTAINERS and Kconfig help texts (Rafael Wysocki).
      
       - Replace strlcpy() with unused retval with strscpy() in the ACPI
         support code (Wolfram Sang).
      
       - Do not initialize ret in main() in the pfrut utility (Shi junming).
      
       - Drop useless ACPI DSDT override documentation (Rafael Wysocki).
      
       - Fix a few typos and wording mistakes in the ACPI device enumeration
         documentation (Jean Delvare).
      
      * acpi-misc:
        MAINTAINERS: Drop records pointing to 01.org/linux-acpi
        ACPI: Kconfig: Drop link to https://01.org/linux-acpi
        ACPI: DPTF: Drop stale link from Kconfig help
        ACPI: move from strlcpy() with unused retval to strscpy()
      
      * acpi-tools:
        ACPI: tools: pfrut: Do not initialize ret in main()
      
      * acpi-docs:
        ACPI: docs: Drop useless DSDT override documentation
        ACPI: docs: enumeration: Fix a few typos and wording mistakes
      a7ece531
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-ec', 'acpi-ac', 'acpi-fan', 'acpi-video' and 'acpi-amba' · 7b4baa39
      Rafael J. Wysocki authored
      Merge EC, AC, fan and backlight driver changes and ACPI AMBA support
      update for 6.1-rc1:
      
       - Drop unneeded result variable from ec_write() (ye xingchen).
      
       - Remove the leftover struct acpi_ac_bl from the ACPI AC driver (Hanjun
         Guo).
      
       - Reorder symbols to get rid of a few forward declarations in the ACPI
         fan driver (Uwe Kleine-König).
      
       - Add Toshiba Satellite/Portege Z830 ACPI backlight quirk (Arvid
         Norlander).
      
       - Add ARM DMA-330 controller to the supported list in the ACPI AMBA
         driver (Vijayenthiran Subramaniam).
      
      * acpi-ec:
        ACPI: EC: Drop unneeded result variable from ec_write()
      
      * acpi-ac:
        ACPI: AC: Remove the leftover struct acpi_ac_bl
      
      * acpi-fan:
        ACPI: fan: Reorder symbols to get rid of a few forward declarations
      
      * acpi-video:
        ACPI: video: Add Toshiba Satellite/Portege Z830 quirk
      
      * acpi-amba:
        ACPI: AMBA: Add ARM DMA-330 controller to the supported list
      7b4baa39
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-cppc', 'acpi-pcc', 'acpi-apei' and 'acpi-osi' · b1d03b7e
      Rafael J. Wysocki authored
      Merge new material related to CPPC, PCC, APEI and OSI strings handling
      for 6.1-rc1:
      
       - Disable frequency invariance in the CPPC library if registers used
         by cppc_get_perf_ctrs() are accessed via PCC (Jeremy Linton).
      
       - Add ACPI disabled check to acpi_cpc_valid() (Perry Yuan).
      
       - Fix Tx acknowledge in the PCC address space handler (Huisong Li).
      
       - Use wait_for_completion_timeout() for PCC mailbox operations (Huisong
         Li).
      
       - Release resources on PCC address space setup failure path (Rafael
         Mendonca).
      
       - Remove unneeded result variables from APEI code (ye xingchen).
      
       - Print total number of records found during BERT log parsing (Dmitry
         Monakhov).
      
       - Drop support for 3 _OSI strings that should not be necessary any
         more and update documentation on custom _OSI strings so that adding
         new ones is not encouraged any more (Mario Limonciello).
      
      * acpi-cppc:
        ACPI: CPPC: Disable FIE if registers in PCC regions
        ACPI: CPPC: Add ACPI disabled check to acpi_cpc_valid()
      
      * acpi-pcc:
        ACPI: PCC: Fix Tx acknowledge in the PCC address space handler
        ACPI: PCC: replace wait_for_completion()
        ACPI: PCC: Release resources on address space setup failure path
      
      * acpi-apei:
        ACPI: APEI: Remove unneeded result variables
        ACPI: APEI: Add BERT error log footer
      
      * acpi-osi:
        ACPI: OSI: Update Documentation on custom _OSI strings
        ACPI: OSI: Remove Linux-HPI-Hybrid-Graphics _OSI string
        ACPI: OSI: Remove Linux-Lenovo-NV-HDMI-Audio _OSI string
        ACPI: OSI: Remove Linux-Dell-Video _OSI string
      b1d03b7e
    • Linus Torvalds's avatar
      Merge tag 'docs-6.1' of git://git.lwn.net/linux · f3dfe925
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "There's not a huge amount of activity in the docs tree this time
        around, but a few significant changes even so:
      
         - A complete rewriting of the top-level index.rst file, which mostly
           reflects itself in a redone top page in the HTML-rendered docs. The
           hope is that the new organization will be a friendlier starting
           point for both users and developers.
      
         - Some math-rendering improvements.
      
         - A coding-style.rst update on the use of BUG() and WARN()
      
         - A big maintainer-PHP guide update.
      
         - Some code-of-conduct updates
      
         - More Chinese translation work
      
        Plus the usual pile of typo fixes, corrections, and updates"
      
      * tag 'docs-6.1' of git://git.lwn.net/linux: (66 commits)
        checkpatch: warn on usage of VM_BUG_ON() and other BUG variants
        coding-style.rst: document BUG() and WARN() rules ("do not crash the kernel")
        Documentation: devres: add missing IO helper
        Documentation: devres: update IRQ helper
        Documentation/mm: modify page_referenced to folio_referenced
        Documentation/CoC: Reflect current CoC interpretation and practices
        docs/doc-guide: Add documentation on SPHINX_IMGMATH
        docs: process/5.Posting.rst: clarify use of Reported-by: tag
        docs, kprobes: Fix the wrong location of Kprobes
        docs: add a man-pages link to the front page
        docs: put atomic*.txt and memory-barriers.txt into the core-api book
        docs: move asm-annotations.rst into core-api
        docs: remove some index.rst cruft
        docs: reconfigure the HTML left column
        docs: Rewrite the front page
        docs: promote the title of process/index.rst
        Documentation: devres: add missing SPI helper
        Documentation: devres: add missing PINCTRL helpers
        docs: hugetlbpage.rst: fix a typo of hugepage size
        docs/zh_CN: Add new translation of admin-guide/bootconfig.rst
        ...
      f3dfe925
    • Linus Torvalds's avatar
      Merge tag 'rcu.2022.09.30a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 890f2420
      Linus Torvalds authored
      Pull RCU updates from Paul McKenney:
      
       - Documentation updates.
      
         This is the first in a series from an ongoing review of the RCU
         documentation. "Why are people thinking -that- about RCU? Oh. Because
         that is an entirely reasonable interpretation of its documentation."
      
       - Miscellaneous fixes.
      
       - Improved memory allocation and heuristics.
      
       - Improve rcu_nocbs diagnostic output.
      
       - Add full-sized polled RCU grace period state values.
      
         These are the same size as an rcu_head structure, which is double
         that of the traditional unsigned long state values that may still be
         obtained from et_state_synchronize_rcu(). The added size avoids
         missing overlapping grace periods. This benefit is that call_rcu()
         can be replaced by polling, which can be attractive in situations
         where RCU-protected data is aged out of memory.
      
         Early in the series, the size of this state value is three unsigned
         longs. Later in the series, the fastpaths in synchronize_rcu() and
         synchronize_rcu_expedited() are reworked to permit the full state to
         be represented by only two unsigned longs. This reworking slows these
         two functions down in SMP kernels running either on single-CPU
         systems or on systems with all but one CPU offlined, but this should
         not be a significant problem. And if it somehow becomes a problem in
         some yet-as-unforeseen situations, three-value state values can be
         provided for only those situations.
      
         Finally, a pair of functions named same_state_synchronize_rcu() and
         same_state_synchronize_rcu_full() allow grace-period state values to
         be compared for equality. This permits users to maintain lists of
         data structures having the same state value, removing the need for
         per-data-structure grace-period state values, thus decreasing memory
         footprint.
      
       - Polled SRCU grace-period updates, including adding tests to
         rcutorture and reducing the incidence of Tiny SRCU grace-period-state
         counter wrap.
      
       - Improve Tasks RCU diagnostics and quiescent-state detection.
      
      * tag 'rcu.2022.09.30a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (55 commits)
        rcutorture: Use the barrier operation specified by cur_ops
        rcu-tasks: Make RCU Tasks Trace check for userspace execution
        rcu-tasks: Ensure RCU Tasks Trace loops have quiescent states
        rcu-tasks: Convert RCU_LOCKDEP_WARN() to WARN_ONCE()
        srcu: Make Tiny SRCU use full-sized grace-period counters
        srcu: Make Tiny SRCU poll_state_synchronize_srcu() more precise
        srcu: Add GP and maximum requested GP to Tiny SRCU rcutorture output
        rcutorture: Make "srcud" option also test polled grace-period API
        rcutorture: Limit read-side polling-API testing
        rcu: Add functions to compare grace-period state values
        rcutorture: Expand rcu_torture_write_types() first "if" statement
        rcutorture: Use 1-suffixed variable in rcu_torture_write_types() check
        rcu: Make synchronize_rcu() fastpath update only boot-CPU counters
        rcutorture: Adjust rcu_poll_need_2gp() for rcu_gp_oldstate field removal
        rcu: Remove ->rgos_polled field from rcu_gp_oldstate structure
        rcu: Make synchronize_rcu_expedited() fast path update .expedited_sequence
        rcu: Remove expedited grace-period fast-path forward-progress helper
        rcu: Make synchronize_rcu() fast path update ->gp_seq counters
        rcu-tasks: Remove grace-period fast-path rcu-tasks helper
        rcu: Set rcu_data structures' initial ->gpwrap value to true
        ...
      890f2420
    • Linus Torvalds's avatar
      Merge tag 'lkmm.2022.09.30a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · b8fb65e1
      Linus Torvalds authored
      Pull LKMM (Linux Kernel Memory Model) updates from Paul McKenney:
       "Several documentation updates"
      
      * tag 'lkmm.2022.09.30a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        tools/memory-model: Clarify LKMM's limitations in litmus-tests.txt
        docs/memory-barriers.txt: Fixup long lines
        docs/memory-barriers.txt: Fix confusing name of 'data dependency barrier'
      b8fb65e1
    • Linus Torvalds's avatar
      Merge tag 'nolibc.2022.09.30a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · dda0ba40
      Linus Torvalds authored
      Pull nolibc updates from Paul McKenney:
       "Most notably greatly improved testing. These tests are located in
        tools/testing/selftests/nolibc. The output of "make help" is as
        follows:
      
          Supported targets under selftests/nolibc:
            all          call the "run" target below
            help         this help
            sysroot      create the nolibc sysroot here (uses $ARCH)
            nolibc-test  build the executable (uses $CC and $CROSS_COMPILE)
            initramfs    prepare the initramfs with nolibc-test
            defconfig    create a fresh new default config (uses $ARCH)
            kernel       (re)build the kernel with the initramfs (uses $ARCH)
            run          runs the kernel in QEMU after building it (uses $ARCH, $TEST)
            rerun        runs a previously prebuilt kernel in QEMU (uses $ARCH, $TEST)
            clean        clean the sysroot, initramfs, build and output files
      
          The output file is "run.out". Test ranges may be passed using $TEST.
      
          Currently using the following variables:
            ARCH          = x86
            CROSS_COMPILE =
            CC            = gcc
            OUTPUT        = /home/git/linux-rcu/tools/testing/selftests/nolibc/
            TEST          =
            QEMU_ARCH     = x86_64 [determined from $ARCH]
            IMAGE_NAME    = bzImage [determined from $ARCH]
      
        The output of a successful x86 "make run" is currently as follows,
        with kernel build output omitted:
      
          $ make run
          71 test(s) passed."
      
      * tag 'nolibc.2022.09.30a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        selftests/nolibc: Avoid generated files being committed
        selftests/nolibc: add a "help" target
        selftests/nolibc: "sysroot" target installs a local copy of the sysroot
        selftests/nolibc: add a "run" target to start the kernel in QEMU
        selftests/nolibc: add a "defconfig" target
        selftests/nolibc: add a "kernel" target to build the kernel with the initramfs
        selftests/nolibc: support glibc as well
        selftests/nolibc: condition some tests on /proc existence
        selftests/nolibc: recreate and populate /dev and /proc if missing
        selftests/nolibc: on x86, support exiting with isa-debug-exit
        selftests/nolibc: exit with poweroff on success when getpid() == 1
        selftests/nolibc: add a few tests for some libc functions
        selftests/nolibc: implement a few tests for various syscalls
        selftests/nolibc: support a test definition format
        selftests/nolibc: add basic infrastructure to ease creation of nolibc tests
        tools/nolibc: make sys_mmap() automatically use the right __NR_mmap definition
        tools/nolibc: fix build warning in sys_mmap() when my_syscall6 is not defined
        tools/nolibc: make argc 32-bit in riscv startup code
      dda0ba40
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 03823964
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "Three fixes for ARM:
      
         - unbreak the RiscPC build
      
         - fix wrong pg_level in page table dumper
      
         - make MT_MEMORY_RO really read-only with LPAE"
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9247/1: mm: set readonly for MT_MEMORY_RO with ARM_LPAE
        ARM: 9244/1: dump: Fix wrong pg_level in walk_pmd()
        ARM: 9243/1: riscpc: Unbreak the build
      03823964
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v6.1-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 75003fa7
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - Fix forward secrecy of RNG seed boot record handling
      
       - Make RNG seed boot record handling generic for all m68k platforms
         using bootinfo
      
       - defconfig updates
      
       - Minor fixes and improvements
      
      * tag 'm68k-for-v6.1-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Rework BI_VIRT_RNG_SEED as BI_RNG_SEED
        m68k: Process bootinfo records before saving them
        m68k: defconfig: Update defconfigs for v6.0-rc2
        m68k: Allow kexec on M68KCLASSIC with MMU enabled only
        m68k: Move from strlcpy with unused retval to strscpy
      75003fa7
    • Linus Torvalds's avatar
      Merge tag 'mips_6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · fb443f36
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
      
       - mainly cleanups
      
       - fix enabling interrupts on second VPE for Lantiq platform
      
       - switch to use gpiod API
      
       - allow firmware passing RND seed
      
      * tag 'mips_6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (29 commits)
        MIPS: pci: lantiq: switch to using gpiod API
        mips: allow firmware to pass RNG seed to kernel
        MIPS: Simplify __bswapdi2() and __bswapsi2()
        MIPS: Silence missing prototype warning
        mips: update config files
        MIPS: Lantiq: vmmc: fix compile break introduced by gpiod patch
        MIPS: IRQ: remove orphan allocate_irqno() declaration
        MIPS: remove orphan sb1250_time_init() declaration
        MIPS: Lantiq: switch vmmc to use gpiod API
        MIPS: lantiq: enable all hardware interrupts on second VPE
        MIPS: BCM47XX: Cast memcmp() of function to (void *)
        mips: ralink: convert to DEFINE_SHOW_ATTRIBUTE
        mips: kernel: convert to DEFINE_SHOW_ATTRIBUTE
        mips: cavium: convert to DEFINE_SHOW_ATTRIBUTE
        MIPS: AR7: remove orphan declarations from arch/mips/include/asm/mach-ar7/ar7.h
        MIPS: remove orphan sni_cpu_time_init() declaration
        MIPS: IRQ: remove orphan declarations from arch/mips/include/asm/irq.h
        MIPS: Octeon: remove orphan octeon_hal_setup_reserved32() declaration
        MIPS: Octeon: remove orphan cvmx_fpa_setup_pool() declaration
        MIPS: Octeon: remove orphan octeon_swiotlb declaration
        ...
      fb443f36
  2. 02 Oct, 2022 4 commits
  3. 01 Oct, 2022 11 commits
  4. 30 Sep, 2022 9 commits