1. 19 Apr, 2023 2 commits
    • Greg Kroah-Hartman's avatar
      Merge tag 'icc-6.4-rc1' of... · 3fcf52b7
      Greg Kroah-Hartman authored
      Merge tag 'icc-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc into char-misc-next
      
      Georgi writes:
      
      interconnect changes for 6.4
      
      This pull request contains the interconnect changes for the 6.4-rc1 merge
      window, which this time are mostly cleanups.
      
      Core changes:
        interconnect: Skip call into provider if initial bw is zero
        interconnect: Use of_property_present() for testing DT property presence
        interconnect: drop racy registration API
        interconnect: drop unused icc_link_destroy() interface
      
      Driver changes:
        interconnect: qcom: Drop obsolete dependency on COMPILE_TEST
        interconnect: qcom: drop obsolete OSM_L3/EPSS defines
        interconnect: qcom: osm-l3: drop unuserd header inclusion
        interconnect: qcom: rpm: drop bogus pm domain attach
        interconnect: qcom: rpm: make QoS INVALID default
        interconnect: qcom: rpm: Add support for specifying channel num
        interconnect: qcom: Sort kerneldoc entries
        dt-bindings: interconnect: OSM L3: Add SM6375 CPUCP compatible
        dt-bindings: interconnect: qcom,msm8998-bwmon: Resolve MSM8998 support
      Signed-off-by: default avatarGeorgi Djakov <djakov@kernel.org>
      
      * tag 'icc-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc:
        dt-bindings: interconnect: qcom,msm8998-bwmon: Resolve MSM8998 support
        dt-bindings: interconnect: OSM L3: Add SM6375 CPUCP compatible
        interconnect: qcom: Sort kerneldoc entries
        interconnect: qcom: rpm: Add support for specifying channel num
        interconnect: qcom: rpm: make QoS INVALID default
        interconnect: qcom: rpm: drop bogus pm domain attach
        interconnect: drop unused icc_link_destroy() interface
        interconnect: drop racy registration API
        interconnect: Use of_property_present() for testing DT property presence
        interconnect: qcom: osm-l3: drop unuserd header inclusion
        interconnect: qcom: drop obsolete OSM_L3/EPSS defines
        interconnect: Skip call into provider if initial bw is zero
        interconnect: qcom: Drop obsolete dependency on COMPILE_TEST
      3fcf52b7
    • Greg Kroah-Hartman's avatar
      Merge tag 'mhi-for-v6.4' of... · 2a1dd5c8
      Greg Kroah-Hartman authored
      Merge tag 'mhi-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi into char-misc-next
      
      Manivannan writes:
      
      MHI Host
      ========
      
      Core
      ----
      
      - Removed the "mhi_poll()" API as there are no in-kernel users available at the
        moment.
      
      - Added range check for the CHDBOFF and ERDBOFF registers in case the device
        reports bad values.
      
      - Fixed the errno for the rest of the range checks to use -ERANGE.
      
      - Modified the event ring handlers to ring the doorbell only if there are
        any pending elements in the ring to process for the device.
      
      - Removed the check for EE (Execution Environment) while processing the SYS_ERR
        transition as it creates device recovery issues when SBL (Secondary
        Bootloader) crashes early.
      
      - Used mhi_tryset_pm_state() API to set the error state instead of open coding
        if the firmware loading fails. This avoids the race with other pm_state
        updates.
      
      pci_generic
      -----------
      
      - Dropped the dedundant pci_{enable/disable}_pcie_error_reporting() calls from
        driver probe's error path as the PCI core itself takes care of that now.
      
      - Revered the commit 2d5253a0 ("bus: mhi: host: pci_generic: Add a secondary
        AT port to Telit FN990") as it turned out to be erroneous. This happened due
        to the patch adding secondary AT port for FN990 getting applied through NET
        and MHI trees and this caused two commits for the same functionality but one
        of them ended up wrong.
      
      - Added support for Foxconn T99W510 modem based on SDX24 chipset from Qualcomm.
      
      MHI Endpoint
      ============
      
      - Demoted the channel not supported error log to debug as not all devices will
        support all channels defined in MHI spec and this may spam users.
      
      * tag 'mhi-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi:
        bus: mhi: host: Use mhi_tryset_pm_state() for setting fw error state
        bus: mhi: host: Remove duplicate ee check for syserr
        bus: mhi: host: Avoid ringing EV DB if there are no elements to process
        bus: mhi: pci_generic: Add Foxconn T99W510
        bus: mhi: host: Use ERANGE for BHIOFF/BHIEOFF range check
        bus: mhi: host: Range check CHDBOFF and ERDBOFF
        bus: mhi: host: pci_generic: Revert "Add a secondary AT port to Telit FN990"
        bus: mhi: host: pci_generic: Drop redundant pci_enable_pcie_error_reporting()
        bus: mhi: ep: Demote unsupported channel error log to debug
        bus: mhi: host: Remove mhi_poll() API
      2a1dd5c8
  2. 15 Apr, 2023 1 commit
    • Greg Kroah-Hartman's avatar
      Merge tag 'iio-for-6.4b' of... · 7e9fa830
      Greg Kroah-Hartman authored
      Merge tag 'iio-for-6.4b' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-next
      
      Jonathan writes:
      
      2nd set of IIO features and cleanups for the 6.4 cycle.
      
      A few more changes. Some were dependent on fixes that are now upstream
      and in char-misc-next.
      
      st,lsm6dsx:
       - Add an ACPI ID (SMO8B30) and mount matrix (ROTM) seen in the wild.
      ti,palmas
       - Take probe fully devm managed.
       - Add threshold event support (after some rework)
       - Stop changing the event config on suspend and resume.
      
      * tag 'iio-for-6.4b' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio:
        iio: adc: palmas: don't alter event config on suspend/resume
        iio: adc: palmas: add support for iio threshold events
        iio: adc: palmas: always reset events on unload
        iio: adc: palmas: move eventX_enable into palmas_adc_event
        iio: adc: palmas: use iio_event_direction for threshold polarity
        iio: adc: palmas: replace "wakeup" with "event"
        iio: adc: palmas: remove adc_wakeupX_data
        iio: adc: palmas: Take probe fully device managed.
        iio: imu: lsm6dsx: Add ACPI mount matrix retrieval
        iio: imu: lsm6dsx: Support SMO8B30 ACPI ID for LSM6DS3TR-C
      7e9fa830
  3. 13 Apr, 2023 9 commits
  4. 12 Apr, 2023 2 commits
    • Jonathan Cameron's avatar
      iio: imu: lsm6dsx: Support SMO8B30 ACPI ID for LSM6DS3TR-C · bd66b6ac
      Jonathan Cameron authored
      ID seen in the wild and it is a valid ST micro ID.
      An offset of 1 for the device ID enum is needed when adding support for
      retrieving the ID from device_get_match_data() to allow detection of
      NULL pointer and fallback to i2c_device_id table.
      
      DSDT chunk cropped for relevant parts.
      
         Scope (_SB.PCI0.I2C5)
          {
              Device (DEV)
              {
                  Name (_HID, EisaId ("SMO8B30"))  // _HID: Hardware ID
                  Name (_CID, EisaId ("SMO8B30"))  // _CID: Compatible ID
                  Name (_UID, Zero)  // _UID: Unique ID
                  Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                  {
                      Name (RBUF, ResourceTemplate ()
                      {
                          I2cSerialBusV2 (0x006A, ControllerInitiated, 0x00061A80,
                              AddressingMode7Bit, "\\_SB.PCI0.I2C5",
                              0x00, ResourceConsumer, , Exclusive,
                              )
                      })
                      Return (RBUF) /* \_SB_.PCI0.I2C5.DEV_._CRS.RBUF */
                  }
      
                  Method (ROTM, 0, NotSerialized)
                  {
                      Name (RBUF, Package (0x03)
                      {
                          "0 -1 0",
                          "1 0 0",
                          "0 0 1"
                      })
                      Return (RBUF) /* \_SB_.PCI0.I2C5.DEV_.ROTM.RBUF */
                  }
      ...
      
      Link: https://lore.kernel.org/all/20230129182441.082f29d0@jic23-huawei/Reported-by: default avatarDarrell Kavanagh <darrell.kavanagh@gmail.com>
      Tested-by: default avatarDarrell Kavanagh <darrell.kavanagh@gmail.org>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      Link: https://lore.kernel.org/r/20230130201018.981024-2-jic23@kernel.org
      bd66b6ac
    • Greg Kroah-Hartman's avatar
      Merge tag 'iio-for-6.4a' of... · fba51482
      Greg Kroah-Hartman authored
      Merge tag 'iio-for-6.4a' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-next
      
      Jonathan writes:
      
      1st set of IIO new device support, features and cleanups for the 6.4 cycle.
      
      New device support
      * bosch,bmp280
        - Add support for BMP580 - includes significant refactoring and general
          driver cleanup + support for non-volatile memory for trimming and config
          parameters.
      * rohm BU27034
        - New driver for this 3 channel ambient light sensor.
        - New support library for devices where both integration time and
          amplifier gain are configurable.  In these cases a scale change
          may require changing bother underlying values. This library module
          provides code to help with this.
      * st,accel
        - Add support for IIS328DQ (ID only as compatible wtih LIS331DL)
      * st,lsm6dsx
        - Add support for ASM330LHB automotive MEMS sensor.
      * ti,ads1100, ads1000
        - New driver for these 16 bit ADCs.
      * ti,tmp117
        - Add support for older tmp116 device. Includes some general driver cleanup.
      
      Staging driver drops
      * adi,ade7854
        - Driver was a very long way from compliant with IIO infrastructure and ABI.
          If anyone wants a non staging version of this driver they are better off
          starting from scratch. Hence drop it and the associated meter.h header.
      
      Features
      * adi,ad7441r
        - Add DT binding to set sink current for digital input.
      * semtech,sx9324,9360
        - Support older register mapping from firmware designed for windows.
      
      Core improvements.
      * Move iio_trigger_poll() docs to next to the implementation and add a note
        on expected caller context.
      * Rename iio_trigger_poll_chained() to iio_trigger_poll_nested() so
        as to use more standard / common terminology.
      * Improve main ABI docs references to offset and scale for raw values by
        making them consistent and clear.
      
      Cleanups and minor fixes:
      * adi,ad5592r
        - Add GPIO names - useful for debug.
      * adi,ad7441r
        - Fix current input, loop powered mode configuration setup.
      * adi,adis16475
        - Fix wrong commented value for minimum advised lower rate.
      * adi,admv1013
        - Use devm_clk_get_enabled() to reduce boilerplate.
      * adi,ads1210
        - Fix wrong bits for writing config register (late fix and has
          been broken a long time so not rushed upstream)
      * amlogic,meson-saradc
        - Improve cleanup in error handling if BL30 handshake fails.
      * apex-embedded,stx104
        - Migrate to regmap and use regmap_read_poll_timeout() to neatly handle
          retries.
        - Add local mutex to close various races.
        - Use define U16_MAX rather than value for limit.
        - Improve code readability with minor reorganization.
      * atmel,ad91-sama5d2
        - Drop trivial dead code.
      * kionix,kx022a
        - Drop unused structure element.
      * linear,ltc2983
        - Reorganize bindings doc to enable unevaluatedProperties to be set
          in one place for all child nodes.
        - Make binding for adi,custom-thermocouple accept signed values.
      * maxim,max44000
        - Add OF Device matching (of_match_table was not correctly set).
      * maxim,max5522
        - Missing static
      * measurement-computing,cio-dac
        - Fix wrong part name in comments.
        - Migrate to regmap.
        - Improve includes by replacing bitops.h with more direct bits.h
      * qcom,pm8xxx-xoadc
        - Remove a check that can never fail.
      * renesas,rcar-gyroadc
        - DT binding documentation improvements.
        - Tidy up an unused warning with __maybe_unused.
      * semtech,sx_common
        - Drop docs for a structure element that doesn't exist.
      * semtech,sx9500
        - Drop ACPI_PTR() and of_match_ptr() protections that just complicate
          the code / block some firmware registration types that would otherwise
          work.
      * sensiron,sps30
        - Comment formatting tidy up.
      * st,sensors
        - Drop duplicate text in DT binding.
      * st,stm32-adc
        - Add some missing static markings.
      * ti,ads1100
        - Use correct return code in dev_err_probe() call.
      * x-powers,axp20x_adc - precursor series to simplify addition of AXP192.
        - General code cleanup / minor refactoring for better readabilty of code.
        - Switch from boolean value to mask for adc_en2 field to avoid hard coding
          a mask that will be different in AXP192
      
      * tag 'iio-for-6.4a' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (63 commits)
        MAINTAINERS: Add ROHM BU27034
        iio: light: ROHM BU27034 Ambient Light Sensor
        dt-bindings: iio: light: Support ROHM BU27034
        MAINTAINERS: Add IIO gain-time-scale helpers
        iio: light: Add gain-time-scale helpers
        doc: Make sysfs-bus-iio doc more exact
        iio: dac: set variable max5522_channels storage-class-specifier to static
        dt-bindings: iio: temperature: ltc2983: Make 'adi,custom-thermocouple' signed
        dt-bindings: iio: temperature: ltc2983: Fix child node unevaluated properties
        iio: addac: stx104: Use regmap_read_poll_timeout() for conversion poll
        iio: addac: stx104: Migrate to the regmap API
        iio: addac: stx104: Improve indentation in stx104_write_raw()
        iio: addac: stx104: Use define rather than hardcoded limit for write val
        iio: addac: stx104: Fix race condition when converting analog-to-digital
        iio: addac: stx104: Fix race condition for stx104_write_raw()
        dt-bindings: iio: st-sensors: Fix repeated text
        staging: iio: resolver: ads1210: fix config mode
        iio: adc: ti-ads1100: fix error code in probe()
        iio: accel: add support for IIS328DQ variant
        dt-bindings: iio: st-sensors: Add IIS328DQ accelerometer
        ...
      fba51482
  5. 10 Apr, 2023 22 commits
  6. 09 Apr, 2023 4 commits
    • Linus Torvalds's avatar
      Linux 6.3-rc6 · 09a9639e
      Linus Torvalds authored
      09a9639e
    • Linus Torvalds's avatar
      Merge tag 'perf_urgent_for_v6.3_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · faf8f418
      Linus Torvalds authored
      Pull perf fixes from Borislav Petkov:
      
       - Fix "same task" check when redirecting event output
      
       - Do not wait unconditionally for RCU on the event migration path if
         there are no events to migrate
      
      * tag 'perf_urgent_for_v6.3_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Fix the same task check in perf_event_set_output
        perf: Optimize perf_pmu_migrate_context()
      faf8f418
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v6.3_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4ba115e2
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
      
       - Add a new Intel Arrow Lake CPU model number
      
       - Fix a confusion about how to check the version of the ACPI spec which
         supports a "online capable" bit in the MADT table which lead to a
         bunch of boot breakages with Zen1 systems and VMs
      
      * tag 'x86_urgent_for_v6.3_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu: Add model number for Intel Arrow Lake processor
        x86/acpi/boot: Correct acpi_is_processor_usable() check
        x86/ACPI/boot: Use FADT version to check support for online capable
      4ba115e2
    • Linus Torvalds's avatar
      Merge tag 'cxl-fixes-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · c08cfd67
      Linus Torvalds authored
      Pull compute express link (cxl) fixes from Dan Williams:
       "Several fixes for driver startup regressions that landed during the
        merge window as well as some older bugs.
      
        The regressions were due to a lack of testing with what the CXL
        specification calls Restricted CXL Host (RCH) topologies compared to
        the testing with Virtual Host (VH) CXL topologies. A VH topology is
        typical PCIe while RCH topologies map CXL endpoints as Root Complex
        Integrated endpoints. The impact is some driver crashes on startup.
      
        This merge window also added compatibility for range registers (the
        mechanism that CXL 1.1 defined for mapping memory) to treat them like
        HDM decoders (the mechanism that CXL 2.0 defined for mapping
        Host-managed Device Memory). That work collided with the new region
        enumeration code that was tested with CXL 2.0 setups, and fails with
        crashes at startup.
      
        Lastly, the DOE (Data Object Exchange) implementation for retrieving
        an ACPI-like data table from CXL devices is being reworked for v6.4.
        Several fixes fell out of that work that are suitable for v6.3.
      
        All of this has been in linux-next for a while, and all reported
        issues [1] have been addressed.
      
        Summary:
      
         - Fix several issues with region enumeration in RCH topologies that
           can trigger crashes on driver startup or shutdown.
      
         - Fix CXL DVSEC range register compatibility versus region
           enumeration that leads to startup crashes
      
         - Fix CDAT endiannes handling
      
         - Fix multiple buffer handling boundary conditions
      
         - Fix Data Object Exchange (DOE) workqueue usage vs
           CONFIG_DEBUG_OBJECTS warn splats"
      
      Link: http://lore.kernel.org/r/20230405075704.33de8121@canb.auug.org.au [1]
      
      * tag 'cxl-fixes-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl:
        cxl/hdm: Extend DVSEC range register emulation for region enumeration
        cxl/hdm: Limit emulation to the number of range registers
        cxl/region: Move coherence tracking into cxl_region_attach()
        cxl/region: Fix region setup/teardown for RCDs
        cxl/port: Fix find_cxl_root() for RCDs and simplify it
        cxl/hdm: Skip emulation when driver manages mem_enable
        cxl/hdm: Fix double allocation of @cxlhdm
        PCI/DOE: Fix memory leak with CONFIG_DEBUG_OBJECTS=y
        PCI/DOE: Silence WARN splat with CONFIG_DEBUG_OBJECTS=y
        cxl/pci: Handle excessive CDAT length
        cxl/pci: Handle truncated CDAT entries
        cxl/pci: Handle truncated CDAT header
        cxl/pci: Fix CDAT retrieval on big endian
      c08cfd67