101 Commits (msi-7e13-support)

Author SHA1 Message Date
Adam Honse a46f34dab5 Reduce i2c_smbus_linux PCI log messages from warning to info, they are expected in many cases 3 weeks ago
Adam Honse 0691f40588 Update PawnIO modules to release 0.2.4 and implement SMBus sleep mode setting 3 weeks ago
kuroki-kael 03e64da845 Fix heap corruption in i2c_smbus_linux when sysfs files are empty 4 weeks ago
Michal Malý 61d3bc0e98 On Linux include both the I2C/SMBus bus name and device path in the device_name 5 months ago
Michal Malý 77ff2a367c Add alternate name for OEM i2c bus exposed by Linux amdgpu driver 5 months ago
Michal Malý 4e0c09efd4 Move correct i2c bus detection for AMD GPUs to separate header file 5 months ago
Michal Malý f5fc3ff450 Do not introduce a new field in i2c_smbus class 5 months ago
Michal Malý 23ec68701a Check for bus name when looking for Sapphire GPU RGB controls 5 months ago
berendi f516970d76 Remove i2c_smbus_thread as mutex already prevents concurrent access 5 months ago
Erik Junghanns d3f3df0b83 Improve PawnIO initialization 7 months ago
Adam Honse c71cc4f18a Change SPDX license identifier from GPL 2.0 only to GPL 2.0 or later, as the original LICENSE file includes an or later clause at the end so the file headers were incorrect 7 months ago
Adam Honse b349c3ff2c Update PawnIO SMBus driver to use standardized API between all drivers, add NCT6793 driver, and remove WinRing0 SMBus drivers 8 months ago
Stephen Horvath 30a250c7df Replace WinRing0 with PawnIO for SMBus and Super-IO access on Windows
Commits squashed, files cleaned up, and rebased by Adam Honse <calcprogrammer1@gmail.com>
8 months ago
silverspy18 f019320df1
Increased I2C_SMBUS_BLOCK_MAX and added error handling for buffer overflow. 8 months ago
silverspy18 d3f49c72e1 Implements i2c_smbus_amdadl::i2c_xfer for AMD ADL I2C. 10 months ago
Jana Rettig 5589aad730 Add I2C_SMBUS_I2C_BLOCK_DATA mode to i2c_smbus_amdadl 11 months ago
Peter Berendi af5f66bc9e piix4: fix SMBHSTSTS test before and after transaction 12 months ago
Stephen Horvath 2c4b159901 Fix SPDDetector only scanning bus 0 on Linux 1 year ago
RedBlackAka c57d58d49b Miscellaneous cleanups 1 year ago
Shady Nawara aca9d27808 macOS smbus Piix4, SuperIO, and Nct6775 1 year ago
morg 9d229e2a0c Prevent non AMD devices to be registered from i2c_smbus_amdadl 1 year ago
Adam Honse 428355761e Fix unrecognized escape sequence warning in i2c_smbus_piix4.cpp 2 years ago
Adam Honse a18211cc57 Fix unrecognized escape sequence and possible loss of data warnings in i2c_smbus_i801.cpp 2 years ago
Adam Honse 20e4d18cb4 Fix unreferenced parameter warning in i2c_smbus_piix4.cpp 2 years ago
Adam Honse 62b6e7175f Fix unreferenced variable and parameter warnings in i2c_smbus_nct6775.cpp 2 years ago
Adam Honse cffac6c255 Fix unreferenced variable and parameter warnings in i2c_smbus_i801.cpp 2 years ago
Adam Honse 66a1496f18 Fix unreferenced parameter warning in i2c_smbus_amdadl.cpp 2 years ago
Adam Honse 1b26908104 Fix unreferenced local variable warning in i2c_smbus_nvapi.cpp 2 years ago
Adam Honse bb1ae9cf2e Fix possible loss of data warning in i2c_smbus.cpp 2 years ago
Adam Honse b12cd438cd Update more file header comments to standardized new format 2 years ago
morg 999bb03a45 Piix4 SMBus: set HANDLE initial value to prevent a crash on rescan 3 years ago
Sandipan Das a934c4c034 i2c-smbus: linux: Remove stray whitespaces
Remove stray whitespaces in newlines.

Signed-off-by: Sandipan Das <sandipan.osd@gmail.com>
3 years ago
Sandipan Das 49a6905ab5 i2c-smbus: linux: Fix interface detection
There are cases where detection of an interface fails due to lack of
permissions when accessing /dev/i2c-*. In some instances, the current
code will perform a double readdir() and skip what should have been
the next interface to be enumerated.

E.g. consider a system with the following configuration

  $ ls -l /sys/bus/i2c/devices

  total 0
  lrwxrwxrwx. 1 root 0 Sep  4 07:19 i2c-0 -> ../../../devices/platform/AMDI0010:03/i2c-0/
  lrwxrwxrwx. 1 root 0 Sep  4 01:49 i2c-1 -> ../../../devices/pci0000:00/0000:00:08.1/0000:03:00.0/i2c-1/
  lrwxrwxrwx. 1 root 0 Sep  4 01:50 i2c-10 -> ../../../devices/pci0000:00/0000:00:14.0/i2c-10/
  lrwxrwxrwx. 1 root 0 Sep  4 01:49 i2c-2 -> ../../../devices/pci0000:00/0000:00:08.1/0000:03:00.0/i2c-2/
  lrwxrwxrwx. 1 root 0 Sep  4 01:49 i2c-3 -> ../../../devices/pci0000:00/0000:00:08.1/0000:03:00.0/i2c-3/
  lrwxrwxrwx. 1 root 0 Sep  4 01:49 i2c-4 -> ../../../devices/pci0000:00/0000:00:08.1/0000:03:00.0/i2c-4/
  lrwxrwxrwx. 1 root 0 Sep  4 01:49 i2c-5 -> ../../../devices/pci0000:00/0000:00:08.1/0000:03:00.0/drm/card1/card1-eDP-1/i2c-5/
  lrwxrwxrwx. 1 root 0 Sep  4 01:49 i2c-6 -> ../../../devices/pci0000:00/0000:00:08.1/0000:03:00.0/drm/card1/card1-DP-1/i2c-6/
  lrwxrwxrwx. 1 root 0 Sep  4 01:49 i2c-7 -> ../../../devices/pci0000:00/0000:00:08.1/0000:03:00.0/drm/card1/card1-DP-2/i2c-7/
  lrwxrwxrwx. 1 root 0 Sep  4 01:50 i2c-8 -> ../../../devices/pci0000:00/0000:00:14.0/i2c-8/
  lrwxrwxrwx. 1 root 0 Sep  4 01:50 i2c-9 -> ../../../devices/pci0000:00/0000:00:14.0/i2c-9/
  lrwxrwxrwx. 1 root 0 Sep  4 07:19 i2c-PNP0C50:0e -> ../../../devices/platform/AMDI0010:03/i2c-0/i2c-PNP0C50:0e/

  $ openrgb --verbose --list-devices

Before:

  ...
  Registering I2C interface: /dev/i2c-3 Device 1002:164C Subsystem: 1462:130C
  Registering I2C interface: /dev/i2c-10 Device 1022:790B Subsystem: 1462:130C
  Registering I2C interface: /dev/i2c-1 Device 1002:164C Subsystem: 1462:130C
  Registering I2C interface: /dev/i2c-8 Device 1022:790B Subsystem: 1462:130C
  [i2c_smbus_linux] Failed to read i2c device PCI device ID
  Registering I2C interface: /dev/i2c-6 Device 0000:0000 Subsystem: 0000:0000
  Registering I2C interface: /dev/i2c-4 Device 1002:164C Subsystem: 1462:130C
  [i2c_smbus_linux] Failed to read i2c device PCI device ID
  Registering I2C interface: /dev/i2c-PNP0C50:0e Device 0000:0000 Subsystem: 0000:0000
  Registering I2C interface: /dev/i2c-0 Device 0000:0000 Subsystem: 0000:0000
  Registering I2C interface: /dev/i2c-9 Device 1022:790B Subsystem: 1462:130C
  [i2c_smbus_linux] Failed to read i2c device PCI device ID
  Registering I2C interface: /dev/i2c-7 Device 0000:0000 Subsystem: 0000:0000
  [i2c_smbus_linux] Failed to read i2c device PCI device ID
  Registering I2C interface: /dev/i2c-5 Device 0000:0000 Subsystem: 0000:0000
  ...

After:

  ...
  Registering I2C interface: /dev/i2c-3 Device 1002:164C Subsystem: 1462:130C
  Registering I2C interface: /dev/i2c-10 Device 1022:790B Subsystem: 1462:130C
  Registering I2C interface: /dev/i2c-1 Device 1002:164C Subsystem: 1462:130C
  Registering I2C interface: /dev/i2c-8 Device 1022:790B Subsystem: 1462:130C
  [i2c_smbus_linux] Failed to read i2c device PCI device ID
  Registering I2C interface: /dev/i2c-6 Device 0000:0000 Subsystem: 0000:0000
  Registering I2C interface: /dev/i2c-4 Device 1002:164C Subsystem: 1462:130C
  [i2c_smbus_linux] Failed to read i2c device PCI device ID
  Registering I2C interface: /dev/i2c-PNP0C50:0e Device 0000:0000 Subsystem: 0000:0000
  Registering I2C interface: /dev/i2c-2 Device 1002:164C Subsystem: 1462:130C
  Registering I2C interface: /dev/i2c-0 Device 0000:0000 Subsystem: 0000:0000
  Registering I2C interface: /dev/i2c-9 Device 1022:790B Subsystem: 1462:130C
  [i2c_smbus_linux] Failed to read i2c device PCI device ID
  Registering I2C interface: /dev/i2c-7 Device 0000:0000 Subsystem: 0000:0000
  [i2c_smbus_linux] Failed to read i2c device PCI device ID
  Registering I2C interface: /dev/i2c-5 Device 0000:0000 Subsystem: 0000:0000
  ...

Signed-off-by: Sandipan Das <sandipan.osd@gmail.com>
3 years ago
Dmitry K 51712f08b5 Removed include directives from ResourceManager.h to speed up build process 3 years ago
Andrey 8c6cba5117 AMD ADL Multiple bus support 3 years ago
Adam Honse ff8ac680ad Replace most instances of sprintf() with snprintf() 3 years ago
TheRogueZeta c4d11993b6 Add logging for ADL GPU device ID's 3 years ago
Shady Nawara 6f477d6c4c Shared SMBus Access Using Global Mutex on Windows 4 years ago
Adam Honse 6341d629d8 AMD ADL SMBus improvements
* Allow word (2 byte) transfers
  * Fix block writes not sending data size
4 years ago
Adam Honse 3219dbfdc4 Fix read() warnings 4 years ago
nick black 99cd322721
i2c_smbus_linux: closedir() on error path 4 years ago
rob Dunn 185c1c3cae Fix Windows crash on startup in Intel i801 detection (Jeampan fix) https://gitlab.com/CalcProgrammer1/OpenRGB/-/issues/766
Commit amended by Adam Honse <calcprogrammer1@gmail.com>
4 years ago
Shady Nawara e9c382d2e6 Add support for Intel i801 SMBus on MacOS 4 years ago
Vidar Karlsen 7faa3b4875 Unbreak macOS build 4 years ago
Vidar Karlsen 6ae5242ed5 Add FreeBSD support 4 years ago
Hacker Bonsai 54ba9aca02 Remove unnecessary context creation from ADL I2C controller 4 years ago
1000001101000 0bbc63aaf5 fix ptr/address of ptr confusion? 4 years ago
Shady Nawara cd06401edd Switched InpOut32 with WinRing0 4 years ago
Shady Nawara d90ea6b843 Reduce CPU usage when accessing i2c smbus devices on windows (AMD) 4 years ago
Érico Rolim 48d1a4f7b6 Don't use glibc specific function. 4 years ago