[SRU] [B/C/D] [PATCH 0/8] Sync AMD MP2 I2C driver with upstream version

Kai-Heng Feng kai.heng.feng at canonical.com
Wed Apr 17 14:55:42 UTC 2019


at 22:33, Stefan Bader <stefan.bader at canonical.com> wrote:

> On 02.04.19 05:38, Kai-Heng Feng wrote:
>> BugLink: https://bugs.launchpad.net/bugs/1787775
>>
>> [Impact]
>> AMD MP2 I2C driver doesn't support more than one bus.
>> This makes touchpad on Lenovo Yoga 530 doensn't work as expected.
>>
>> [Fix]
>> Sync the MP2 driver with upstream version.
>>
>> [Test]
>> The new upstream driver doesn't break on Latitude 5495.
>> Users haven't given any feedback yet, but since Disco is freezing I
>> am sending this out.
>>
>> [Regression Potential]
>> Low. It's from upstream, and only a subset of Raven Ridge has this
>> device.
>>
>> Elie Morisse (1):
>>   i2c: Add drivers for the AMD PCIe MP2 I2C controller
>>
>> Kai-Heng Feng (4):
>>   Revert "UBUNTU: SAUCE: i2c:amd Depends on ACPI"
>>   Revert "UBUNTU: SAUCE: i2c:amd move out pointer in union
>>     i2c_event_base"
>>   Revert "UBUNTU: SAUCE: i2c:amd I2C Driver based on PCI Interface for
>>     upcoming platform"
>>   UBUNTU: [Config] Update config for AMD MP2 I2C driver
>>
>> Wolfram Sang (3):
>>   i2c: add helpers to ease DMA handling
>>   i2c: add a message flag for DMA safe buffers
>>   i2c: add extra check to safe DMA buffer helper
>>
>>  Documentation/i2c/busses/i2c-amd-mp2          |  23 +
>>  MAINTAINERS                                   |   8 +
>>  .../config/amd64/config.common.amd64          |   2 +-
>>  debian.master/config/i386/config.common.i386  |   2 +-
>>  drivers/i2c/busses/Kconfig                    |  12 +-
>>  drivers/i2c/busses/Makefile                   |   3 +-
>>  drivers/i2c/busses/i2c-amd-mp2-pci.c          | 483 ++++++++++++++
>>  drivers/i2c/busses/i2c-amd-mp2-plat.c         | 367 ++++++++++
>>  drivers/i2c/busses/i2c-amd-mp2.h              | 219 ++++++
>>  drivers/i2c/busses/i2c-amd-pci-mp2.c          | 625 ------------------
>>  drivers/i2c/busses/i2c-amd-pci-mp2.h          | 253 -------
>>  drivers/i2c/busses/i2c-amd-platdrv.c          | 335 ----------
>>  drivers/i2c/i2c-core-base.c                   |  51 ++
>>  include/linux/i2c.h                           |   3 +
>>  include/uapi/linux/i2c.h                      |   3 +
>>  15 files changed, 1166 insertions(+), 1223 deletions(-)
>>  create mode 100644 Documentation/i2c/busses/i2c-amd-mp2
>>  create mode 100644 drivers/i2c/busses/i2c-amd-mp2-pci.c
>>  create mode 100644 drivers/i2c/busses/i2c-amd-mp2-plat.c
>>  create mode 100644 drivers/i2c/busses/i2c-amd-mp2.h
>>  delete mode 100644 drivers/i2c/busses/i2c-amd-pci-mp2.c
>>  delete mode 100644 drivers/i2c/busses/i2c-amd-pci-mp2.h
>>  delete mode 100644 drivers/i2c/busses/i2c-amd-platdrv.c
> I am a bit hesitant to do this especially in Bionic. Have you done any  
> wider
> regression testing with other hardware which uses this driver? That one  
> Dell
> might be better off but that would not necessarily guarantee that nothing  
> else
> does regress.

No we’ve only enabled one system with AMD MP2. So it’s the only system I  
can test.

So there’s no guarantee. What I can confirm is that it used to only work on  
the Dell system, now it works on both the Dell one and Lenovo Yoga.

>
> Also the config changes silently change things from being built-in for  
> 32bit and
> 64bit kernels to only being available as a module for 64bit kernels. That  
> would
> mean any user who was running 32bit will loose that driver support. And  
> you can
> be sure that if there is any possibility of doing that, there will be  
> some user
> who did.

Ryzen based systems only support 64bits [1]:
*OS Support
Windows 10 - 64-Bit Edition
RHEL x86 64-Bit
Ubuntu x86 64-Bit

[1] https://www.amd.com/en/products/apu/amd-ryzen-5-2500u

Kai-Heng

>
> -Stefan





More information about the kernel-team mailing list