1. 09 Jun, 2023 1 commit
  2. 08 Jun, 2023 2 commits
    • Biju Das's avatar
      MAINTAINERS: Add entries for Renesas RZ/V2M I2C driver · 8d38800a
      Biju Das authored
      Add the MAINTAINERS entries for the Renesas RZ/V2M I2C driver.
      Signed-off-by: default avatarBiju Das <biju.das.jz@bp.renesas.com>
      Acked-by: default avatarFabrizio Castro <fabrizio.castro.jz@renesas.com>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      8d38800a
    • Randy Dunlap's avatar
      eeprom: at24: also select REGMAP · 7f3c782b
      Randy Dunlap authored
      Selecting only REGMAP_I2C can leave REGMAP unset, causing build errors,
      so also select REGMAP to prevent the build errors.
      
      ../drivers/misc/eeprom/at24.c:540:42: warning: 'struct regmap_config' declared inside parameter list will not be visible outside of this definition or declaration
        540 |                                   struct regmap_config *regmap_config)
      ../drivers/misc/eeprom/at24.c: In function 'at24_make_dummy_client':
      ../drivers/misc/eeprom/at24.c:552:18: error: implicit declaration of function 'devm_regmap_init_i2c' [-Werror=implicit-function-declaration]
        552 |         regmap = devm_regmap_init_i2c(dummy_client, regmap_config);
      ../drivers/misc/eeprom/at24.c:552:16: warning: assignment to 'struct regmap *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
        552 |         regmap = devm_regmap_init_i2c(dummy_client, regmap_config);
      ../drivers/misc/eeprom/at24.c: In function 'at24_probe':
      ../drivers/misc/eeprom/at24.c:586:16: error: variable 'regmap_config' has initializer but incomplete type
        586 |         struct regmap_config regmap_config = { };
      ../drivers/misc/eeprom/at24.c:586:30: error: storage size of 'regmap_config' isn't known
        586 |         struct regmap_config regmap_config = { };
      ../drivers/misc/eeprom/at24.c:586:30: warning: unused variable 'regmap_config' [-Wunused-variable]
      
      Fixes: 5c015258 ("eeprom: at24: add basic regmap_i2c support")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
      7f3c782b
  3. 07 Jun, 2023 1 commit
  4. 05 Jun, 2023 5 commits
    • Marek Behún's avatar
      i2c: mv64xxx: Fix reading invalid status value in atomic mode · 5578d0a7
      Marek Behún authored
      There seems to be a bug within the mv64xxx I2C controller, wherein the
      status register may not necessarily contain valid value immediately
      after the IFLG flag is set in the control register.
      
      My theory is that the controller:
      - first sets the IFLG in control register
      - then updates the status register
      - then raises an interrupt
      
      This may sometime cause weird bugs when in atomic mode, since in this
      mode we do not wait for an interrupt, but instead we poll the control
      register for IFLG and read status register immediately after.
      
      I encountered -ENXIO from mv64xxx_i2c_fsm() due to this issue when using
      this driver in atomic mode.
      
      Note that I've only seen this issue on Armada 385, I don't know whether
      other SOCs with this controller are also affected. Also note that this
      fix has been in U-Boot for over 4 years [1] without anybody complaining,
      so it should not cause regressions.
      
      [1] https://source.denx.de/u-boot/u-boot/-/commit/d50e29662f78
      
      Fixes: 544a8d75 ("i2c: mv64xxx: Add atomic_xfer method to driver")
      Signed-off-by: default avatarMarek Behún <kabel@kernel.org>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      5578d0a7
    • David Zheng's avatar
      i2c: designware: fix idx_write_cnt in read loop · 1acfc6e7
      David Zheng authored
      With IC_INTR_RX_FULL slave interrupt handler reads data in a loop until
      RX FIFO is empty. When testing with the slave-eeprom, each transaction
      has 2 bytes for address/index and 1 byte for value, the address byte
      can be written as data byte due to dropping STOP condition.
      
      In the test below, the master continuously writes to the slave, first 2
      bytes are index, 3rd byte is value and follow by a STOP condition.
      
       i2c_write: i2c-3 #0 a=04b f=0000 l=3 [00-D1-D1]
       i2c_write: i2c-3 #0 a=04b f=0000 l=3 [00-D2-D2]
       i2c_write: i2c-3 #0 a=04b f=0000 l=3 [00-D3-D3]
      
      Upon receiving STOP condition slave eeprom would reset `idx_write_cnt` so
      next 2 bytes can be treated as buffer index for upcoming transaction.
      Supposedly the slave eeprom buffer would be written as
      
       EEPROM[0x00D1] = 0xD1
       EEPROM[0x00D2] = 0xD2
       EEPROM[0x00D3] = 0xD3
      
      When CPU load is high the slave irq handler may not read fast enough,
      the interrupt status can be seen as 0x204 with both DW_IC_INTR_STOP_DET
      (0x200) and DW_IC_INTR_RX_FULL (0x4) bits. The slave device may see
      the transactions below.
      
       0x1 STATUS SLAVE_ACTIVITY=0x1 : RAW_INTR_STAT=0x1594 : INTR_STAT=0x4
       0x1 STATUS SLAVE_ACTIVITY=0x1 : RAW_INTR_STAT=0x1594 : INTR_STAT=0x4
       0x1 STATUS SLAVE_ACTIVITY=0x1 : RAW_INTR_STAT=0x1594 : INTR_STAT=0x4
       0x1 STATUS SLAVE_ACTIVITY=0x1 : RAW_INTR_STAT=0x1794 : INTR_STAT=0x204
       0x1 STATUS SLAVE_ACTIVITY=0x0 : RAW_INTR_STAT=0x1790 : INTR_STAT=0x200
       0x1 STATUS SLAVE_ACTIVITY=0x1 : RAW_INTR_STAT=0x1594 : INTR_STAT=0x4
       0x1 STATUS SLAVE_ACTIVITY=0x1 : RAW_INTR_STAT=0x1594 : INTR_STAT=0x4
       0x1 STATUS SLAVE_ACTIVITY=0x1 : RAW_INTR_STAT=0x1594 : INTR_STAT=0x4
      
      After `D1` is received, read loop continues to read `00` which is the
      first bype of next index. Since STOP condition is ignored by the loop,
      eeprom buffer index increased to `D2` and `00` is written as value.
      
      So the slave eeprom buffer becomes
      
       EEPROM[0x00D1] = 0xD1
       EEPROM[0x00D2] = 0x00
       EEPROM[0x00D3] = 0xD3
      
      The fix is to use `FIRST_DATA_BYTE` (bit 11) in `IC_DATA_CMD` to split
      the transactions. The first index byte in this case would have bit 11
      set. Check this indication to inject I2C_SLAVE_WRITE_REQUESTED event
      which will reset `idx_write_cnt` in slave eeprom.
      Signed-off-by: default avatarDavid Zheng <david.zheng@intel.com>
      Acked-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      1acfc6e7
    • Simon Horman's avatar
      i2c: mchp-pci1xxxx: Avoid cast to incompatible function type · 7ebfd881
      Simon Horman authored
      Rather than casting pci1xxxx_i2c_shutdown to an incompatible function type,
      update the type to match that expected by __devm_add_action.
      
      Reported by clang-16 with W-1:
      
       .../i2c-mchp-pci1xxxx.c:1159:29: error: cast from 'void (*)(struct pci1xxxx_i2c *)' to 'void (*)(void *)' converts to incompatible function type [-Werror,-Wcast-function-type-strict]
               ret = devm_add_action(dev, (void (*)(void *))pci1xxxx_i2c_shutdown, i2c);
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       ./include/linux/device.h:251:29: note: expanded from macro 'devm_add_action'
               __devm_add_action(release, action, data, #action)
                                         ^~~~~~
      
      No functional change intended.
      Compile tested only.
      Signed-off-by: default avatarSimon Horman <horms@kernel.org>
      Reviewed-by: default avatarHoratiu Vultur <horatiu.vultur@microchip.com>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@kernel.org>
      Reviewed-by: Tharun Kumar P<tharunkumar.pasumarthi@microchip.com>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      7ebfd881
    • Christian Heusel's avatar
      i2c: img-scb: Fix spelling mistake "innacurate" -> "inaccurate" · 8110bf24
      Christian Heusel authored
      There is a spelling mistake in a comment. Fix it.
      Signed-off-by: default avatarChristian Heusel <christian@heusel.eu>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      8110bf24
    • Andi Shyti's avatar
      MAINTAINERS: Add myself as I2C host drivers maintainer · 63b679a9
      Andi Shyti authored
      I will help Wolfram out with the i2c controllers patches.
      Signed-off-by: default avatarAndi Shyti <andi.shyti@kernel.org>
      Acked-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      63b679a9
  5. 04 Jun, 2023 9 commits
    • Linus Torvalds's avatar
      Linux 6.4-rc5 · 9561de3a
      Linus Torvalds authored
      9561de3a
    • Linus Torvalds's avatar
      Merge tag 'irq_urgent_for_v6.4_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6f64a5eb
      Linus Torvalds authored
      Pull irq fix from Borislav Petkov:
      
       - Fix open firmware quirks validation so that they don't get applied
         wrongly
      
      * tag 'irq_urgent_for_v6.4_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic: Correctly validate OF quirk descriptors
      6f64a5eb
    • Linus Torvalds's avatar
      Merge tag 'media/v6.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 5e89d62e
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
       "Some driver fixes:
         - a regression fix for the verisilicon driver
         - uvcvideo: don't expose unsupported video formats to userspace
         - camss-video: don't zero subdev format after init
         - mediatek: some fixes for 4K decoder formats
         - fix a Sphinx build warning (missing doc for client_caps)
         - some fixes for imx and atomisp staging drivers
      
        And two CEC core fixes:
         - don't set last_initiator if TX in progress
         - disable adapter in cec_devnode_unregister"
      
      * tag 'media/v6.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        media: uvcvideo: Don't expose unsupported formats to userspace
        media: v4l2-subdev: Fix missing kerneldoc for client_caps
        media: staging: media: imx: initialize hs_settle to avoid warning
        media: v4l2-mc: Drop subdev check in v4l2_create_fwnode_links_to_pad()
        media: staging: media: atomisp: init high & low vars
        media: cec: core: don't set last_initiator if tx in progress
        media: cec: core: disable adapter in cec_devnode_unregister
        media: mediatek: vcodec: Only apply 4K frame sizes on decoder formats
        media: camss: camss-video: Don't zero subdev format again after initialization
        media: verisilicon: Additional fix for the crash when opening the driver
      5e89d62e
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 209835e8
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are a bunch of tiny char/misc/other driver fixes for 6.4-rc5 that
        resolve a number of reported issues. Included in here are:
      
         - iio driver fixes
      
         - fpga driver fixes
      
         - test_firmware bugfixes
      
         - fastrpc driver tiny bugfixes
      
         - MAINTAINERS file updates for some subsystems
      
        All of these have been in linux-next this past week with no reported
        issues"
      
      * tag 'char-misc-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (34 commits)
        test_firmware: fix the memory leak of the allocated firmware buffer
        test_firmware: fix a memory leak with reqs buffer
        test_firmware: prevent race conditions by a correct implementation of locking
        firmware_loader: Fix a NULL vs IS_ERR() check
        MAINTAINERS: Vaibhav Gupta is the new ipack maintainer
        dt-bindings: fpga: replace Ivan Bornyakov maintainership
        MAINTAINERS: update Microchip MPF FPGA reviewers
        misc: fastrpc: reject new invocations during device removal
        misc: fastrpc: return -EPIPE to invocations on device removal
        misc: fastrpc: Reassign memory ownership only for remote heap
        misc: fastrpc: Pass proper scm arguments for secure map request
        iio: imu: inv_icm42600: fix timestamp reset
        iio: adc: ad_sigma_delta: Fix IRQ issue by setting IRQ_DISABLE_UNLAZY flag
        dt-bindings: iio: adc: renesas,rcar-gyroadc: Fix adi,ad7476 compatible value
        iio: dac: mcp4725: Fix i2c_master_send() return value handling
        iio: accel: kx022a fix irq getting
        iio: bu27034: Ensure reset is written
        iio: dac: build ad5758 driver when AD5758 is selected
        iio: addac: ad74413: fix resistance input processing
        iio: light: vcnl4035: fixed chip ID check
        ...
      209835e8
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 41f3ab2d
      Linus Torvalds authored
      Pull driver core fixes from Greg KH:
       "Here are two small driver core cacheinfo fixes for 6.4-rc5 that
        resolve a number of reported issues with that file. These changes have
        been in linux-next this past week with no reported problems"
      
      * tag 'driver-core-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        drivers: base: cacheinfo: Update cpu_map_populated during CPU Hotplug
        drivers: base: cacheinfo: Fix shared_cpu_map changes in event of CPU hotplug
      41f3ab2d
    • Linus Torvalds's avatar
      Merge tag 'tty-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 12c2f77b
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are some small tty/serial driver fixes for 6.4-rc5 that have all
        been in linux-next this past week with no reported problems. Included
        in here are:
      
         - 8250_tegra driver bugfix
      
         - fsl uart driver bugfixes
      
         - Kconfig fix for dependancy issue
      
         - dt-bindings fix for the 8250_omap driver"
      
      * tag 'tty-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        dt-bindings: serial: 8250_omap: add rs485-rts-active-high
        serial: cpm_uart: Fix a COMPILE_TEST dependency
        soc: fsl: cpm1: Fix TSA and QMC dependencies in case of COMPILE_TEST
        tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK
        serial: 8250_tegra: Fix an error handling path in tegra_uart_probe()
      12c2f77b
    • Linus Torvalds's avatar
      Merge tag 'usb-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 8b435e40
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some USB driver and core fixes for 6.4-rc5. Most of these are
        tiny driver fixes, including:
      
         - udc driver bugfix
      
         - f_fs gadget driver bugfix
      
         - cdns3 driver bugfix
      
         - typec bugfixes
      
        But the "big" thing in here is a fix yet-again for how the USB buffers
        are handled from userspace when dealing with DMA issues. The changes
        were discussed a lot, and tested a lot, on the list, and acked by the
        relevant mm maintainers and have been in linux-next all this past week
        with no reported problems"
      
      * tag 'usb-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: typec: tps6598x: Fix broken polling mode after system suspend/resume
        mm: page_table_check: Ensure user pages are not slab pages
        mm: page_table_check: Make it dependent on EXCLUSIVE_SYSTEM_RAM
        usb: usbfs: Use consistent mmap functions
        usb: usbfs: Enforce page requirements for mmap
        dt-bindings: usb: snps,dwc3: Fix "snps,hsphy_interface" type
        usb: gadget: udc: fix NULL dereference in remove()
        usb: gadget: f_fs: Add unbind event before functionfs_unbind
        usb: cdns3: fix NCM gadget RX speed 20x slow than expection at iMX8QM
      8b435e40
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · b066935b
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "ARM:
      
         - Address some fallout of the locking rework, this time affecting the
           way the vgic is configured
      
         - Fix an issue where the page table walker frees a subtree and then
           proceeds with walking what it has just freed...
      
         - Check that a given PA donated to the guest is actually memory (only
           affecting pKVM)
      
         - Correctly handle MTE CMOs by Set/Way
      
         - Fix the reported address of a watchpoint forwarded to userspace
      
         - Fix the freeing of the root of stage-2 page tables
      
         - Stop creating spurious PMU events to perform detection of the
           default PMU and use the existing PMU list instead
      
        x86:
      
         - Fix a memslot lookup bug in the NX recovery thread that could
           theoretically let userspace bypass the NX hugepage mitigation
      
         - Fix a s/BLOCKING/PENDING bug in SVM's vNMI support
      
         - Account exit stats for fastpath VM-Exits that never leave the super
           tight run-loop
      
         - Fix an out-of-bounds bug in the optimized APIC map code, and add a
           regression test for the race"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: selftests: Add test for race in kvm_recalculate_apic_map()
        KVM: x86: Bail from kvm_recalculate_phys_map() if x2APIC ID is out-of-bounds
        KVM: x86: Account fastpath-only VM-Exits in vCPU stats
        KVM: SVM: vNMI pending bit is V_NMI_PENDING_MASK not V_NMI_BLOCKING_MASK
        KVM: x86/mmu: Grab memslot for correct address space in NX recovery worker
        KVM: arm64: Document default vPMU behavior on heterogeneous systems
        KVM: arm64: Iterate arm_pmus list to probe for default PMU
        KVM: arm64: Drop last page ref in kvm_pgtable_stage2_free_removed()
        KVM: arm64: Populate fault info for watchpoint
        KVM: arm64: Reload PTE after invoking walker callback on preorder traversal
        KVM: arm64: Handle trap of tagged Set/Way CMOs
        arm64: Add missing Set/Way CMO encodings
        KVM: arm64: Prevent unconditional donation of unmapped regions from the host
        KVM: arm64: vgic: Fix a comment
        KVM: arm64: vgic: Fix locking comment
        KVM: arm64: vgic: Wrap vgic_its_create() with config_lock
        KVM: arm64: vgic: Fix a circular locking issue
      b066935b
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 9455b4b6
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix link errors in new aes-gcm-p10 code when built-in with other
         drivers
      
       - Limit number of TCEs passed to H_STUFF_TCE hcall as per spec
      
       - Use KSYM_NAME_LEN in xmon array size to avoid possible OOB write
      
      Thanks to Gaurav Batra and Maninder Singh Vishal Chourasia.
      
      * tag 'powerpc-6.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/xmon: Use KSYM_NAME_LEN in array size
        powerpc/iommu: Limit number of TCEs to 512 for H_STUFF_TCE hcall
        powerpc/crypto: Fix aes-gcm-p10 link errors
      9455b4b6
  6. 03 Jun, 2023 10 commits
  7. 02 Jun, 2023 12 commits