]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Merge tag 'i2c-for-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 15 Feb 2026 16:29:26 +0000 (08:29 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 15 Feb 2026 16:29:26 +0000 (08:29 -0800)
Pull i2c updates from Wolfram Sang:
 - core: cleaner fwnode usage
 - tegra: timing improvements and Tegra264 support
 - lpi2c: fix SMBus block read NACK after byte count
 - amd-mp2, designware, mlxbf, rtl9300, spacemit, tegra: cleanups
 - designware:
    - use a dedicated algorithm for AMD Navi
    - replace magic numbers with named constants
    - replace min_t() with min() to avoid u8 truncation
    - refactor core to enable mode switching
 - imx-lpi2c: add runtime PM support for IRQ and clock handling
 - lan9691-i2c: add new driver
 - rtl9300: use OF helpers directly and avoid fwnode handling
 - spacemit: add bus reset support
 - units: add HZ_PER_GHZ and use it in several i2c drivers
 - at24 i2c eeprom:
    - add a set of new compatibles to DT bindings
    - use dev_err_probe() consistently in the driver

* tag 'i2c-for-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (46 commits)
  i2c: imx-lpi2c: fix SMBus block read NACK after byte count
  i2c: designware: Remove an unnecessary condition
  i2c: designware: Enable mode swapping
  i2c: designware: Combine the init functions
  i2c: designware: Combine some of the common functions
  i2c: designware: Use device_is_compatible() instead of custom approach
  dt-bindings: eeprom: at24: Add compatible for Puya P24C128F
  drivers/i2c/busses: use min() instead of min_t()
  i2c: imx-lpi2c: Add runtime PM support for IRQ and clock management on i.MX8QXP/8QM
  i2c: amd-mp2: clean up amd_mp2_find_device()
  i2c: designware: Replace magic numbers with named constants
  i2c: rtl9300: use of instead of fwnode
  i2c: rtl9300: remove const cast
  i2c: tegra: remove unused rst
  i2c: designware: Remove not-going-to-be-supported code for Baikal SoC
  i2c: spacemit: drop useless spaces
  i2c: mlxbf: Use HZ_PER_KHZ in the driver
  i2c: mlxbf: Remove unused bus speed definitions
  i2c: core: Use dev_fwnode()
  i2c: core: Replace custom implementation of device_match_fwnode()
  ...

1  2 
drivers/i2c/busses/i2c-imx-lpi2c.c
drivers/i2c/busses/i2c-k1.c

index d882126c1778cbfd7434c66a6213ab773d41329f,f97f73faec82dc7e405057bc30268ebd9592a96e..a01c2369648196c72a37fcb46a3ea3c4aa82e134
@@@ -592,13 -660,10 +660,17 @@@ static bool is_use_dma(struct lpi2c_imx
        if (!lpi2c_imx->can_use_dma)
                return false;
  
+       /* DMA is not suitable for SMBus block read */
+       if (msg->flags & I2C_M_RECV_LEN)
+               return false;
 +      /*
 +       * A system-wide suspend or resume transition is in progress. LPI2C should use PIO to
 +       * transfer data to avoid issue caused by no ready DMA HW resource.
 +       */
 +      if (pm_suspend_in_progress())
 +              return false;
 +
        /*
         * When the length of data is less than I2C_DMA_THRESHOLD,
         * cpu mode is used directly to avoid low performance.
Simple merge