1. 10 Feb, 2022 1 commit
  2. 07 Feb, 2022 1 commit
  3. 03 Feb, 2022 7 commits
    • Srinivas Pandruvada's avatar
      thermal: intel: hfi: Notify user space for HFI events · bd30cdfd
      Srinivas Pandruvada authored
      When the hardware issues an HFI event, relay a notification to user space.
      This allows user space to respond by reading performance and efficiency of
      each CPU and take appropriate action.
      
      For example, when the performance and efficiency of a CPU is 0, user space
      can either offline the CPU or inject idle. Also, if user space notices a
      downward trend in performance, it may proactively adjust power limits to
      avoid future situations in which performance drops to 0.
      
      To avoid excessive notifications, the rate is limited by one HZ per event.
      To limit the netlink message size, send parameters for up to 16 CPUs in a
      single message. If there are more than 16 CPUs, issue as many messages as
      needed to notify the status of all CPUs.
      
      In the HFI specification, both performance and efficiency capabilities are
      defined in the [0, 255] range. The existing implementations of HFI hardware
      do not scale the maximum values to 255. Since userspace cares about
      capability values that are either 0 or show a downward/upward trend, this
      fact does not matter much. Relative changes in capabilities are enough. To
      comply with the thermal netlink ABI, scale both performance and efficiency
      capabilities to the [0, 1023] interval.
      Reviewed-by: default avatarLen Brown <len.brown@intel.com>
      Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      bd30cdfd
    • Srinivas Pandruvada's avatar
      thermal: netlink: Add a new event to notify CPU capabilities change · e4b1eb24
      Srinivas Pandruvada authored
      Add a new netlink event to notify change in CPU capabilities in terms of
      performance and efficiency.
      
      Firmware may change CPU capabilities as a result of thermal events in the
      system or to account for changes in the TDP (thermal design power) level.
      
      This notification type will allow user space to avoid running workloads
      on certain CPUs or proactively adjust power limits to avoid future events.
      
      The netlink message consists of a nested attribute
      (THERMAL_GENL_ATTR_CPU_CAPABILITY) with three attributes:
      
       * THERMAL_GENL_ATTR_CPU_CAPABILITY_ID (type u32):
         -- logical CPU number
       * THERMAL_GENL_ATTR_CPU_CAPABILITY_PERFORMANCE (type u32):
         -- Scaled performance from 0-1023
       * THERMAL_GENL_ATTR_CPU_CAPABILITY_EFFICIENCY (type u32):
         -- Scaled efficiency from 0-1023
      Reviewed-by: default avatarLen Brown <len.brown@intel.com>
      Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      e4b1eb24
    • Ricardo Neri's avatar
      thermal: intel: hfi: Enable notification interrupt · ab09b074
      Ricardo Neri authored
      When hardware wants to inform the operating system about updates in the HFI
      table, it issues a package-level thermal event interrupt. For this,
      hardware has new interrupt and status bits in the IA32_PACKAGE_THERM_
      INTERRUPT and IA32_PACKAGE_THERM_STATUS registers. The existing thermal
      throttle driver already handles thermal event interrupts: it initializes
      the thermal vector of the local APIC as well as per-CPU and package-level
      interrupt reporting. It also provides routines to service such interrupts.
      Extend its functionality to also handle HFI interrupts.
      
      The frequency of the thermal HFI interrupt is specific to each processor
      model. On some processors, a single interrupt happens as soon as the HFI is
      enabled and hardware will never update HFI capabilities afterwards. On
      other processors, thermal and power constraints may cause thermal HFI
      interrupts every tens of milliseconds.
      
      To not overwhelm consumers of the HFI data, use delayed work to throttle
      the rate at which HFI updates are processed. Use a dedicated workqueue to
      not overload system_wq if hardware issues many HFI updates.
      Reviewed-by: default avatarLen Brown <len.brown@intel.com>
      Signed-off-by: default avatarRicardo Neri <ricardo.neri-calderon@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      ab09b074
    • Ricardo Neri's avatar
      thermal: intel: hfi: Handle CPU hotplug events · 2d74e631
      Ricardo Neri authored
      All CPUs in a package are represented in an HFI table. There exists an
      HFI table per package. Thus, CPUs in a package need to coordinate to
      initialize and access the table. Do such coordination during CPU hotplug.
      Use the first CPU to come online in a package to initialize the HFI
      instance and the data structure representing it. Other CPUs in the same
      package need only to register or unregister themselves in that data
      structure.
      
      The HFI depends on both the package-level thermal management and the local
      APIC thermal local vector. Thus, to ensure that a CPU coming online has an
      associated HFI instance when the hardware issues an HFI event, enable the
      HFI only after having enabled the local APIC thermal vector. The thermal
      throttle driver takes care of the needed package-level initialization.
      Reviewed-by: default avatarLen Brown <len.brown@intel.com>
      Signed-off-by: default avatarRicardo Neri <ricardo.neri-calderon@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      2d74e631
    • Ricardo Neri's avatar
      thermal: intel: hfi: Minimally initialize the Hardware Feedback Interface · 1cb19cab
      Ricardo Neri authored
      The Intel Hardware Feedback Interface provides guidance to the operating
      system about the performance and energy efficiency capabilities of each
      CPU in the system. Capabilities are numbers between 0 and 255 where a
      higher number represents a higher capability. For each CPU, energy
      efficiency and performance are reported as separate capabilities.
      
      Hardware computes these capabilities based on the operating conditions of
      the system such as power and thermal limits. These capabilities are shared
      with the operating system in a table resident in memory. Each package in
      the system has its own HFI instance. Every logical CPU in the package is
      represented in the table. More than one logical CPUs may be represented in
      a single table entry. When the hardware updates the table, it generates a
      package-level thermal interrupt.
      
      The size and format of the HFI table depend on the supported features and
      can only be determined at runtime. To minimally initialize the HFI, parse
      its features and allocate one instance per package of a data structure with
      the necessary parameters to read and navigate a local copy (i.e., owned by
      the driver) of individual HFI tables.
      
      A subsequent changeset will provide per-CPU initialization and interrupt
      handling.
      Reviewed-by: default avatarLen Brown <len.brown@intel.com>
      Co-developed by: Aubrey Li <aubrey.li@linux.intel.com>
      Signed-off-by: default avatarAubrey Li <aubrey.li@linux.intel.com>
      Signed-off-by: default avatarRicardo Neri <ricardo.neri-calderon@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      1cb19cab
    • Ricardo Neri's avatar
      x86/cpu: Add definitions for the Intel Hardware Feedback Interface · 7b8f40b3
      Ricardo Neri authored
      Add the CPUID feature bit and the model-specific registers needed to
      identify and configure the Intel Hardware Feedback Interface.
      Acked-by: default avatarBorislav Petkov <bp@suse.de>
      Signed-off-by: default avatarRicardo Neri <ricardo.neri-calderon@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      7b8f40b3
    • Ricardo Neri's avatar
      x86/Documentation: Describe the Intel Hardware Feedback Interface · 4a960e89
      Ricardo Neri authored
      Start a documentation file to describe the purpose and operation of Intel's
      Hardware Feedback Interface. Describe how this interface is used in Linux
      to relay performance and energy efficiency updates to userspace.
      Reviewed-by: default avatarLen Brown <len.brown@intel.com>
      Suggested-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarRicardo Neri <ricardo.neri-calderon@linux.intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      4a960e89
  4. 30 Jan, 2022 18 commits
  5. 29 Jan, 2022 12 commits
    • Thomas Gleixner's avatar
      Merge tag 'irqchip-fixes-5.17-1' of... · 243d3080
      Thomas Gleixner authored
      Merge tag 'irqchip-fixes-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/urgent
      
      Pull irqchip fixes from Marc Zyngier:
      
        - Drop an unused private data field in the AIC driver
      
        - Various fixes to the realtek-rtl driver
      
        - Make the GICv3 ITS driver compile again in !SMP configurations
      
        - Force reset of the GICv3 ITSs at probe time to avoid issues during kexec
      
        - Yet another kfree/bitmap_free conversion
      
        - Various DT updates (Renesas, SiFive)
      
      Link: https://lore.kernel.org/r/20220128174217.517041-1-maz@kernel.org
      243d3080
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.17-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · f8c7e4ed
      Linus Torvalds authored
      Pull pci fixes from Bjorn Helgaas:
      
       - Fix compilation warnings in new mt7621 driver (Sergio Paracuellos)
      
       - Restore the sysfs "rom" file for VGA shadow ROMs, which was broken
         when converting "rom" to be a static attribute (Bjorn Helgaas)
      
      * tag 'pci-v5.17-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI/sysfs: Find shadow ROM before static attribute initialization
        PCI: mt7621: Remove unused function pcie_rmw()
        PCI: mt7621: Drop of_match_ptr() to avoid unused variable
      f8c7e4ed
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 4cd90083
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
       "Two fixes for the gpio-simulator:
      
         - fix a bug with hogs not being set-up in gpio-sim when user-space
           sets the chip label to an empty string
      
         - include the gpio-sim documentation in the index"
      
      * tag 'gpio-fixes-for-v5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: sim: add doc file to index file
        gpio: sim: check the label length when setting up device properties
      4cd90083
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · e255759e
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are two small char/misc driver fixes for 5.17-rc2 that fix some
        reported issues. They are:
      
         - fix up a merge issue in the at25.c driver that ended up dropping
           some lines in the driver. The removed lines ended being needed, so
           this restores it and the driver works again.
      
         - counter core fix where the wrong error was being returned, NULL
           should be the correct error for when memory is gone here, like the
           kmalloc() core does.
      
        Both of these have been in linux-next this week with no reported
        issues"
      
      * tag 'char-misc-5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        counter: fix an IS_ERR() vs NULL bug
        eeprom: at25: Restore missing allocation
      e255759e
    • Linus Torvalds's avatar
      Merge tag 'tty-5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · bb37101b
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are some small bug fixes and reverts for reported problems with
        the tty core and drivers. They include:
      
         - revert the fifo use for the 8250 console mode. It caused too many
           regressions and problems, and had a bug in it as well. This is
           being reworked and should show up in a later -rc1 release, but it's
           not ready for 5.17
      
         - rpmsg tty race fix
      
         - restore the cyclades.h uapi header file. Turns out a compiler test
           suite used it for some unknown reason. Bring it back just for the
           parts that are used by the builder test so they continue to build.
           No functionality is restored as no one actually has this hardware
           anymore, nor is it really tested.
      
         - stm32 driver fixes
      
         - n_gsm flow control fixes
      
         - pl011 driver fix
      
         - rs485 initialization fix
      
        All of these have been in linux-next this week with no reported
        problems"
      
      * tag 'tty-5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        kbuild: remove include/linux/cyclades.h from header file check
        serial: core: Initialize rs485 RTS polarity already on probe
        serial: pl011: Fix incorrect rs485 RTS polarity on set_mctrl
        serial: stm32: fix software flow control transfer
        serial: stm32: prevent TDR register overwrite when sending x_char
        tty: n_gsm: fix SW flow control encoding/handling
        serial: 8250: of: Fix mapped region size when using reg-offset property
        tty: rpmsg: Fix race condition releasing tty port
        tty: Partially revert the removal of the Cyclades public API
        tty: Add support for Brainboxes UC cards.
        Revert "tty: serial: Use fifo in 8250 console driver"
      bb37101b
    • Linus Torvalds's avatar
      Merge tag 'usb-5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 44aa31a2
      Linus Torvalds authored
      Pull USB driver fixes from Greg KH:
       "Here are some small USB driver fixes for 5.17-rc2 that resolve a
        number of reported problems. These include:
      
         - typec driver fixes
      
         - xhci platform driver fixes for suspending
      
         - ulpi core fix
      
         - role.h build fix
      
         - new device ids
      
         - syzbot-reported bugfixes
      
         - gadget driver fixes
      
         - dwc3 driver fixes
      
         - other small fixes
      
        All of these have been in linux-next this week with no reported
        issues"
      
      * tag 'usb-5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: cdnsp: Fix segmentation fault in cdns_lost_power function
        usb: dwc2: gadget: don't try to disable ep0 in dwc2_hsotg_suspend
        usb: gadget: at91_udc: fix incorrect print type
        usb: dwc3: xilinx: Fix error handling when getting USB3 PHY
        usb: dwc3: xilinx: Skip resets and USB3 register settings for USB2.0 mode
        usb: xhci-plat: fix crash when suspend if remote wake enable
        usb: common: ulpi: Fix crash in ulpi_match()
        usb: gadget: f_sourcesink: Fix isoc transfer for USB_SPEED_SUPER_PLUS
        ucsi_ccg: Check DEV_INT bit only when starting CCG4
        USB: core: Fix hang in usb_kill_urb by adding memory barriers
        usb-storage: Add unusual-devs entry for VL817 USB-SATA bridge
        usb: typec: tcpm: Do not disconnect when receiving VSAFE0V
        usb: typec: tcpm: Do not disconnect while receiving VBUS off
        usb: typec: Don't try to register component master without components
        usb: typec: Only attempt to link USB ports if there is fwnode
        usb: typec: tcpci: don't touch CC line if it's Vconn source
        usb: roles: fix include/linux/usb/role.h compile issue
      44aa31a2
    • Linus Torvalds's avatar
      Merge tag 'block-5.17-2022-01-28' of git://git.kernel.dk/linux-block · cb323ee7
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request
            - add the IGNORE_DEV_SUBNQN quirk for Intel P4500/P4600 SSDs (Wu
              Zheng)
            - remove the unneeded ret variable in nvmf_dev_show (Changcheng
              Deng)
      
       - Fix for a hang regression introduced with a patch in the merge
         window, where low queue depth devices would not always get woken
         correctly (Laibin)
      
       - Small series fixing an IO accounting issue with bio backed dm devices
         (Mike, Yu)
      
      * tag 'block-5.17-2022-01-28' of git://git.kernel.dk/linux-block:
        dm: properly fix redundant bio-based IO accounting
        dm: revert partial fix for redundant bio-based IO accounting
        block: add bio_start_io_acct_time() to control start_time
        blk-mq: Fix wrong wakeup batch configuration which will cause hang
        nvme-fabrics: remove the unneeded ret variable in nvmf_dev_show
        nvme-pci: add the IGNORE_DEV_SUBNQN quirk for Intel P4500/P4600 SSDs
        blk-mq: fix missing blk_account_io_done() in error path
        block: fix memory leak in disk_register_independent_access_ranges
      cb323ee7
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.17-2022-01-28' of git://git.kernel.dk/linux-block · 3b58e9f3
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Just two small fixes this time:
      
         - Fix a bug that can lead to node registration taking 1 second, when
           it should finish much quicker (Dylan)
      
         - Remove an unused argument from a function (Usama)"
      
      * tag 'io_uring-5.17-2022-01-28' of git://git.kernel.dk/linux-block:
        io_uring: remove unused argument from io_rsrc_node_alloc
        io_uring: fix bug in slow unregistering of nodes
      3b58e9f3
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · d66c1e79
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix VM debug warnings on boot triggered via __set_fixmap().
      
       - Fix a debug warning in the 64-bit Book3S PMU handling code.
      
       - Fix nested guest HFSCR handling with multiple vCPUs on Power9 or
         later.
      
       - Fix decrementer storm caused by a recent change, seen with some
         configs.
      
      Thanks to Alexey Kardashevskiy, Athira Rajeev, Christophe Leroy,
      Fabiano Rosas, Maxime Bizon, Nicholas Piggin, and Sachin Sant.
      
      * tag 'powerpc-5.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/64s/interrupt: Fix decrementer storm
        KVM: PPC: Book3S HV Nested: Fix nested HFSCR being clobbered with multiple vCPUs
        powerpc/perf: Fix power_pmu_disable to call clear_pmi_irq_pending only if PMI is pending
        powerpc/fixmap: Fix VM debug warning on unmap
      d66c1e79
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 216e2aed
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Errata workarounds for Cortex-A510: broken hardware dirty bit
         management, detection code for the TRBE (tracing) bugs with the
         actual fixes going in via the CoreSight tree.
      
       - Cortex-X2 errata handling for TRBE (inheriting the workarounds from
         Cortex-A710).
      
       - Fix ex_handler_load_unaligned_zeropad() to use the correct struct
         members.
      
       - A couple of kselftest fixes for FPSIMD.
      
       - Silence the vdso "no previous prototype" warning.
      
       - Mark start_backtrace() notrace and NOKPROBE_SYMBOL.
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: cpufeature: List early Cortex-A510 parts as having broken dbm
        kselftest/arm64: Correct logging of FPSIMD register read via ptrace
        kselftest/arm64: Skip VL_INHERIT tests for unsupported vector types
        arm64: errata: Add detection for TRBE trace data corruption
        arm64: errata: Add detection for TRBE invalid prohibited states
        arm64: errata: Add detection for TRBE ignored system register writes
        arm64: Add Cortex-A510 CPU part definition
        arm64: extable: fix load_unaligned_zeropad() reg indices
        arm64: Mark start_backtrace() notrace and NOKPROBE_SYMBOL
        arm64: errata: Update ARM64_ERRATUM_[2119858|2224489] with Cortex-X2 ranges
        arm64: Add Cortex-X2 CPU part definition
        arm64: vdso: Fix "no previous prototype" warning
      216e2aed
    • Linus Torvalds's avatar
      Merge tag 'fixes-v5.17-lsm-ceph-null' of... · d1e7f091
      Linus Torvalds authored
      Merge tag 'fixes-v5.17-lsm-ceph-null' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
      
      Pull security sybsystem fix from James Morris:
       "Fix NULL pointer crash in LSM via Ceph, from Vivek Goyal"
      
      * tag 'fixes-v5.17-lsm-ceph-null' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        security, lsm: dentry_init_security() Handle multi LSM registration
      d1e7f091
    • Linus Torvalds's avatar
      Merge tag 'docs-5.17-3' of git://git.lwn.net/linux · 246e179d
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "A few documentation fixes for 5.17"
      
      * tag 'docs-5.17-3' of git://git.lwn.net/linux:
        docs/vm: Fix typo in *harden*
        Documentation: arm: marvell: Extend Avanta list
        docs: fix typo in Documentation/kernel-hacking/locking.rst
        docs: Hook the RTLA documents into the kernel docs build
      246e179d
  6. 28 Jan, 2022 1 commit