lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 30 May 2024 13:46:48 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Thomas Weißschuh <thomas@...ch.de>
Cc: linux-hwmon@...r.kernel.org, Hristo Venev <hristo@...ev.name>,
 René Rebe <rene@...ctcode.de>, Rob Herring
 <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
 Conor Dooley <conor+dt@...nel.org>, devicetree@...r.kernel.org,
 linux-kernel@...r.kernel.org, Radu Sabau <radu.sabau@...log.com>
Subject: Re: [PATCH 2/3] hwmon: Add support for SPD5118 compliant temperature
 sensors

On 5/30/24 13:20, Thomas Weißschuh wrote:
> On 2024-05-29 13:52:03+0000, Guenter Roeck wrote:
>> Add support for SPD5118 (Jedec JESD300-5B.01) compliant temperature
>> sensors. Such sensors are typically found on DDR5 memory modules.
> 
> I can get the module to automatically probe with this change:
> 
> diff --git a/drivers/i2c/i2c-smbus.c b/drivers/i2c/i2c-smbus.c
> index 97f338b123b1..8d9218f755d7 100644
> --- a/drivers/i2c/i2c-smbus.c
> +++ b/drivers/i2c/i2c-smbus.c
> @@ -382,6 +386,10 @@ void i2c_register_spd(struct i2c_adapter *adap)
>          case 0x1E:      /* LPDDR4 */
>                  name = "ee1004";
>                  break;
> +       case 0x22:      /* DDR5 */
> +       case 0x23:      /* LPDDR5 */
> +               name = "spd5118";
> +               break;
>          default:
>                  dev_info(&adap->dev,
>                           "Memory type 0x%02x not supported yet, not instantiating SPD\n",
> 
> (Credits go to Paul Menzel [0])
> 
> Maybe you can add that to your series.
> 

That is specifically for SPD (eeprom) support, which I didn't provide
in the driver. It does not register the equivalent jc42.4 temperature
sensor either. Given that, using the code to register a temperature
sensor seems inappropriate.

I didn't include accessing the SPD eeprom to the driver because I don't
have a use case. I don't mind adding it, though, if others think that it is
important.

> To also work with my PIIX4 I2C bus, I also need:
> 
> diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
> index fe6e8a1bb607..ff66e883b348 100644
> --- a/drivers/i2c/busses/Kconfig
> +++ b/drivers/i2c/busses/Kconfig
> @@ -195,6 +195,7 @@ config I2C_ISMT
>   config I2C_PIIX4
>          tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
>          depends on PCI && HAS_IOPORT
> +       select I2C_SMBUS
>          help
>            If you say yes to this option, support will be included for the Intel
>            PIIX4 family of mainboard I2C interfaces.  Specifically, the following
> diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c
> index 6a0392172b2f..f8d81f8c0cb3 100644
> --- a/drivers/i2c/busses/i2c-piix4.c
> +++ b/drivers/i2c/busses/i2c-piix4.c
> @@ -29,6 +29,7 @@
>   #include <linux/stddef.h>
>   #include <linux/ioport.h>
>   #include <linux/i2c.h>
> +#include <linux/i2c-smbus.h>
>   #include <linux/slab.h>
>   #include <linux/dmi.h>
>   #include <linux/acpi.h>
> @@ -982,6 +983,8 @@ static int piix4_add_adapter(struct pci_dev *dev, unsigned short smba,
>                  return retval;
>          }
> 
> +       i2c_register_spd(adap);
> +
>          *padap = adap;
>          return 0;
>   }
> 
> Though I guess it's not the right place to call i2c_register_sdp(),
> I'll look at it some more and then submit it.
> 

Hmm, I didn't find a better place though.

Please copy me when you submit a patch; I can test it on an AMD system with
DDR4.

Thanks,
Guenter


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ