Skip to content
Permalink
Sui-Chen/I2C-s…
Switch branches/tags

Commits on Nov 9, 2021

  1. add npcm7xx debug counters as sysfs attributes

    This change adds npcm7xx debug counters as sysfs attributes using the
    i2c_adapter_stats_register_counter function.
    
    Signed-off-by: Sui Chen <suichen@google.com>
    Reviewed-by: Tali Perry <tali.perry1@gmail.com>
    quadpixels authored and intel-lab-lkp committed Nov 9, 2021
  2. i2c debug counters as sysfs attributes

    This change adds a few example I2C debug counters as sysfs attributes:
    - ber_cnt (bus error count)
    - nack_cnt (NACK count)
    - rec_fail_cnt, rec_succ_cnt (recovery failure/success count)
    - timeout_cnt (timeout count)
    - i2c_speed (bus frequency)
    
    The function i2c_adapter_create_stats_folder creates a stats directory
    in the device's sysfs directory to hold the debug counters. The platform
    drivers will instantiate the counters in the stats directory if
    available.
    
    Signed-off-by: Sui Chen <suichen@google.com>
    quadpixels authored and intel-lab-lkp committed Nov 9, 2021

Commits on Nov 7, 2021

  1. Merge branch 'i2c/for-mergewindow' into i2c/for-next

    Wolfram Sang committed Nov 7, 2021
  2. i2c: amd-mp2-plat: ACPI: Use ACPI_COMPANION() directly

    The ACPI_HANDLE() macro is a wrapper arond the ACPI_COMPANION()
    macro and the ACPI handle produced by the former comes from the
    ACPI device object produced by the latter, so it is way more
    straightforward to evaluate the latter directly instead of passing
    the handle produced by the former to acpi_bus_get_device().
    
    Modify i2c_amd_probe() accordingly (no intentional functional impact).
    
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Acked-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    rafaeljw authored and Wolfram Sang committed Nov 7, 2021
  3. i2c: i801: Add support for Intel Ice Lake PCH-N

    Add PCI ID of SMBus controller on Intel Ice Lake PCH-N.
    
    The device can be found on MacBookPro16,2 [1].
    
    [1]: https://linux-hardware.org/?probe=f1c5cf0c43
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: Jean Delvare <jdelvare@suse.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    andy-shev authored and Wolfram Sang committed Nov 7, 2021

Commits on Nov 5, 2021

  1. Merge branch 'i2c/for-mergewindow' into i2c/for-next

    Wolfram Sang committed Nov 5, 2021
  2. i2c: virtio: update the maintainer to Conghui

    Due to changes in my work, I'm passing the virtio-i2c driver
    maintenance to Conghui.
    
    Signed-off-by: Jie Deng <jie.deng@intel.com>
    Acked-by: Michael S. Tsirkin <mst@redhat.com>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    ssqre authored and Wolfram Sang committed Nov 5, 2021

Commits on Oct 29, 2021

  1. Merge branch 'i2c/for-mergewindow' into i2c/for-next

    Wolfram Sang committed Oct 29, 2021
  2. i2c: xlr: Fix a resource leak in the error handling path of 'xlr_i2c_…

    …probe()'
    
    A successful 'clk_prepare()' call should be balanced by a corresponding
    'clk_unprepare()' call in the error handling path of the probe, as already
    done in the remove function.
    
    More specifically, 'clk_prepare_enable()' is used, but 'clk_disable()' is
    also already called. So just the unprepare step has still to be done.
    
    Update the error handling path accordingly.
    
    Fixes: 75d31c2 ("i2c: xlr: add support for Sigma Designs controller variant")
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    tititiou36 authored and Wolfram Sang committed Oct 29, 2021
  3. i2c: qup: move to use request_irq by IRQF_NO_AUTOEN flag

    disable_irq() after request_irq() still has a time gap in which
    interrupts can come. request_irq() with IRQF_NO_AUTOEN flag will
    disable IRQ auto-enable because of requesting.
    
    Signed-off-by: Tian Tao <tiantao6@hisilicon.com>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    Tian Tao authored and Wolfram Sang committed Oct 29, 2021
  4. i2c: qup: fix a trivial typo

    Correct the typo of "reamining" to "remaining".
    
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Suggested-by: Matthew Wilcox <willy@infradead.org>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    rddunlap authored and Wolfram Sang committed Oct 29, 2021
  5. i2c: tegra: Ensure that device is suspended before driver is removed

    Tegra I2C device isn't guaranteed to be suspended after removal of
    the driver since driver uses pm_runtime_put() that is asynchronous and
    pm_runtime_disable() cancels pending power-change requests. This means
    that potentially refcount of the clocks may become unbalanced after
    removal of the driver. This a very minor problem which unlikely to
    happen in practice and won't cause any visible problems, nevertheless
    let's replace pm_runtime_disable() with pm_runtime_force_suspend() and
    use pm_runtime_put_sync() which disables RPM of the device and puts it
    into suspend before driver is removed.
    
    Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    digetx authored and Wolfram Sang committed Oct 29, 2021
  6. Merge tag 'at24-updates-for-v5.16' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/brgl/linux into i2c/for-mergewindow
    
    at24 updates for v5.16
    
    - add two new compatible entries to the DT bindings
    Wolfram Sang committed Oct 29, 2021
  7. i2c: i801: Fix incorrect and needless software PEC disabling

    Commit a6b8bb6 ("i2c: i801: Fix handling SMBHSTCNT_PEC_EN")
    attempts to disable software PEC by clearing the SMBHSTCNT_PEC_EN (bit 7)
    in the SMBus Host Control register (I/O SMBHSTCNT) but incorrectly
    clears it in the PCI Host Configuration register (PCI SMBHSTCFG).
    
    This clearing is actually needless since after above commit the
    SMBHSTCNT_PEC_EN is never set and the register is initialized with known
    values.
    
    Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
    Acked-by: Heiner Kallweit <hkallweit1@gmail.com>
    Reviewed-by: Jean Delvare <jdelvare@suse.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    jhnikula authored and Wolfram Sang committed Oct 29, 2021

Commits on Oct 11, 2021

  1. Merge branch 'i2c/for-mergewindow' into i2c/for-next

    Wolfram Sang committed Oct 11, 2021
  2. Merge branch 'i2c/for-current' into i2c/for-next

    Wolfram Sang committed Oct 11, 2021
  3. i2c: mediatek: Dump i2c/dma register when a timeout occurs

    When a timeout error occurs in i2c transter, it is usually related
    to the i2c/dma IP hardware configuration. Therefore, the purpose of
    this patch is to dump the key register values of i2c/dma when a
    timeout occurs in i2c for debugging.
    
    Signed-off-by: Kewei Xu <kewei.xu@mediatek.com>
    Reviewed-by: Qii Wang <qii.wang@mediatek.com>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    Kewei Xu authored and Wolfram Sang committed Oct 11, 2021
  4. i2c: mediatek: Reset the handshake signal between i2c and dma

    Due to changes in the hardware design of the handshaking signal
    between i2c and dma, it is necessary to reset the handshaking
    signal before each transfer to ensure that the multi-msgs can
    be transferred correctly.
    
    Signed-off-by: Kewei Xu <kewei.xu@mediatek.com>
    Reviewed-by: Qii Wang <qii.wang@mediatek.com>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    Kewei Xu authored and Wolfram Sang committed Oct 11, 2021
  5. i2c: mlxcpld: Allow flexible polling time setting for I2C transactions

    Allow polling time setting according to I2C frequency supported across
    the system. For base frequency 400 KHz and 1 MHz set polling time is set
    four times less than for system with base frequency 100KHz.
    
    Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    vadimp-nvidia authored and Wolfram Sang committed Oct 11, 2021
  6. i2c: pasemi: Set enable bit for Apple variant

    Some later revisions after the original PASemi I2C controller introduce
    what likely is an enable bit to the CTL register. Without setting it the
    actual i2c transmission is never started.
    
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sven Peter <sven@svenpeter.dev>
    Acked-by: Olof Johansson <olof@lixom.net>
    Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    svenpeter42 authored and Wolfram Sang committed Oct 11, 2021
  7. i2c: pasemi: Add Apple platform driver

    With all the previous preparations we can now finally add
    the platform driver to support the PASemi-based controllers
    in Apple SoCs. This does not work on the M1 yet but should
    work on the early iPhones already.
    
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sven Peter <sven@svenpeter.dev>
    Acked-by: Olof Johansson <olof@lixom.net>
    Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    svenpeter42 authored and Wolfram Sang committed Oct 11, 2021
  8. i2c: pasemi: Refactor _probe to use devm_*

    Using managed device resources means there's nothing left to be done in
    pasemi_smb_pci_remove and also allows to remove base and size from
    struct pasemi_smbus.
    
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sven Peter <sven@svenpeter.dev>
    Acked-by: Olof Johansson <olof@lixom.net>
    Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    svenpeter42 authored and Wolfram Sang committed Oct 11, 2021
  9. i2c: pasemi: Allow to configure bus frequency

    Right now the bus frequency has always been hardcoded as
    100 KHz with the specific reference clock used in the PASemi
    PCI controllers. Make this configurable to prepare for the
    platform driver.
    
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sven Peter <sven@svenpeter.dev>
    Acked-by: Olof Johansson <olof@lixom.net>
    Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    svenpeter42 authored and Wolfram Sang committed Oct 11, 2021
  10. i2c: pasemi: Move common reset code to own function

    Split out common reset call to its own function so that we
    can later add support for selecting the clock frequency
    and an additional enable bit found in newer revisions.
    
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sven Peter <sven@svenpeter.dev>
    Acked-by: Olof Johansson <olof@lixom.net>
    Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    svenpeter42 authored and Wolfram Sang committed Oct 11, 2021
  11. i2c: pasemi: Split pci driver to its own file

    Split off the PCI driver so that we can reuse common code for the
    platform driver.
    
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sven Peter <sven@svenpeter.dev>
    Acked-by: Olof Johansson <olof@lixom.net>
    Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    svenpeter42 authored and Wolfram Sang committed Oct 11, 2021
  12. i2c: pasemi: Split off common probing code

    Split off common probing code that will be used by both the PCI and the
    platform device.
    
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sven Peter <sven@svenpeter.dev>
    Acked-by: Olof Johansson <olof@lixom.net>
    Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    svenpeter42 authored and Wolfram Sang committed Oct 11, 2021
  13. i2c: pasemi: Remove usage of pci_dev

    Prepare to create a platform driver by removing all usages of pci_dev we
    can.
    
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sven Peter <sven@svenpeter.dev>
    Acked-by: Olof Johansson <olof@lixom.net>
    Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    svenpeter42 authored and Wolfram Sang committed Oct 11, 2021
  14. i2c: pasemi: Use dev_name instead of port number

    Right now the i2c adapter name includes the port number which can
    indirectly be used to identify the device. Replace that with dev_name
    to directly identify the device and to also allow this to work correctly
    once we add platform support.
    
    Signed-off-by: Sven Peter <sven@svenpeter.dev>
    Acked-by: Olof Johansson <olof@lixom.net>
    Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    svenpeter42 authored and Wolfram Sang committed Oct 11, 2021
  15. i2c: pasemi: Use io{read,write}32

    In preparation for splitting this driver up into a platform_driver
    and a pci_driver, replace outl/inl usage with pci_iomap and
    ioread32/iowrite32.
    
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sven Peter <sven@svenpeter.dev>
    Acked-by: Olof Johansson <olof@lixom.net>
    Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    svenpeter42 authored and Wolfram Sang committed Oct 11, 2021
  16. dt-bindings: i2c: Add Apple I2C controller bindings

    The Apple I2C controller is based on the PASemi I2C controller.
    It is present on Apple SoCs such as the M1.
    
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Sven Peter <sven@svenpeter.dev>
    Acked-by: Olof Johansson <olof@lixom.net>
    Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    svenpeter42 authored and Wolfram Sang committed Oct 11, 2021
  17. Merge branch 'i2c/for-current' into i2c/for-mergewindow

    Wolfram Sang committed Oct 11, 2021
  18. Linux 5.15-rc5

    torvalds committed Oct 11, 2021

Commits on Oct 10, 2021

  1. Merge tag 'powerpc-5.15-3' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
     "A bit of a big batch, partly because I didn't send any last week, and
      also just because the BPF fixes happened to land this week.
    
      Summary:
    
       - Fix a regression hit by the IPR SCSI driver, introduced by the
         recent addition of MSI domains on pseries.
    
       - A big series including 8 BPF fixes, some with potential security
         impact and the rest various code generation issues.
    
       - Fix our program check assembler entry path, which was accidentally
         jumping into a gas macro and generating strange stack frames, which
         could confuse find_bug().
    
       - A couple of fixes, and related changes, to fix corner cases in our
         machine check handling.
    
       - Fix our DMA IOMMU ops, which were not always returning the optimal
         DMA mask, leading to at least one device falling back to 32-bit DMA
         when it shouldn't.
    
       - A fix for KUAP handling on 32-bit Book3S.
    
       - Fix crashes seen when kdumping on some pseries systems.
    
      Thanks to Naveen N. Rao, Nicholas Piggin, Alexey Kardashevskiy, Cédric
      Le Goater, Christophe Leroy, Mahesh Salgaonkar, Abdul Haleem,
      Christoph Hellwig, Johan Almbladh, Stan Johnson"
    
    * tag 'powerpc-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      pseries/eeh: Fix the kdump kernel crash during eeh_pseries_init
      powerpc/32s: Fix kuap_kernel_restore()
      powerpc/pseries/msi: Add an empty irq_write_msi_msg() handler
      powerpc/64s: Fix unrecoverable MCE calling async handler from NMI
      powerpc/64/interrupt: Reconcile soft-mask state in NMI and fix false BUG
      powerpc/64: warn if local irqs are enabled in NMI or hardirq context
      powerpc/traps: do not enable irqs in _exception
      powerpc/64s: fix program check interrupt emergency stack path
      powerpc/bpf ppc32: Fix BPF_SUB when imm == 0x80000000
      powerpc/bpf ppc32: Do not emit zero extend instruction for 64-bit BPF_END
      powerpc/bpf ppc32: Fix JMP32_JSET_K
      powerpc/bpf ppc32: Fix ALU32 BPF_ARSH operation
      powerpc/bpf: Emit stf barrier instruction sequences for BPF_NOSPEC
      powerpc/security: Add a helper to query stf_barrier type
      powerpc/bpf: Fix BPF_SUB when imm == 0x80000000
      powerpc/bpf: Fix BPF_MOD when imm == 1
      powerpc/bpf: Validate branch ranges
      powerpc/lib: Add helper to check if offset is within conditional branch range
      powerpc/iommu: Report the correct most efficient DMA mask for PCI devices
    torvalds committed Oct 10, 2021
  2. Merge tag 'objtool_urgent_for_v5.15_rc5' of git://git.kernel.org/pub/…

    …scm/linux/kernel/git/tip/tip
    
    Pull objtool fixes from Borislav Petkov:
    
     - Remove an extra section.len member in favour of section.sh_size
    
     - Align .altinstructions section creation with the kernel's by creating
       them with entry size of 0
    
     - Fix objtool to convert a reloc symbol to a section offset and not to
       not warn about not knowing how
    
    * tag 'objtool_urgent_for_v5.15_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      objtool: Remove redundant 'len' field from struct section
      objtool: Make .altinstructions section entry size consistent
      objtool: Remove reloc symbol type checks in get_alt_entry()
    torvalds committed Oct 10, 2021
  3. Merge tag 'x86_urgent_for_v5.15_rc5' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull x86 fixes from Borislav Petkov:
    
     - A FPU fix to properly handle invalid MXCSR values: 32-bit masks them
       out due to historical reasons and 64-bit kernels reject them
    
     - A fix to clear X86_FEATURE_SMAP when support for is not
       config-enabled
    
     - Three fixes correcting misspelled Kconfig symbols used in code
    
     - Two resctrl object cleanup fixes
    
     - Yet another attempt at fixing the neverending saga of botched x86
       timers, this time because some incredibly smart hardware decides to
       turn off the HPET timer in a low power state - who cares if the OS is
       relying on it...
    
     - Check the full return value range of an SEV VMGEXIT call to determine
       whether it returned an error
    
    * tag 'x86_urgent_for_v5.15_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/fpu: Restore the masking out of reserved MXCSR bits
      x86/Kconfig: Correct reference to MWINCHIP3D
      x86/platform/olpc: Correct ifdef symbol to intended CONFIG_OLPC_XO15_SCI
      x86/entry: Clear X86_FEATURE_SMAP when CONFIG_X86_SMAP=n
      x86/entry: Correct reference to intended CONFIG_64_BIT
      x86/resctrl: Fix kfree() of the wrong type in domain_add_cpu()
      x86/resctrl: Free the ctrlval arrays when domain_setup_mon_state() fails
      x86/hpet: Use another crystalball to evaluate HPET usability
      x86/sev: Return an error on a returned non-zero SW_EXITINFO1[31:0]
    torvalds committed Oct 10, 2021
Older