Commit bb7a3fc2c976 for kernel

commit bb7a3fc2c976b5d0deb35a54ca237519816d7ba9
Merge: 348e77b81456 efdc383d1cc2
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Feb 15 08:29:26 2026 -0800

    Merge tag 'i2c-for-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

    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()
      ...

diff --cc drivers/i2c/busses/i2c-imx-lpi2c.c
index d882126c1778,f97f73faec82..a01c23696481
--- a/drivers/i2c/busses/i2c-imx-lpi2c.c
+++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
@@@ -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.