Re: i2c-dev mismatch with proprietary nvidia driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/28/2022 03:16 PM, Wolfram Sang wrote:
Hi,

At approximately line 41 of nvidia driver file nv-i2c.c, in function
nv_i2c_algo_master_transfer(), there's an if-test for symbol I2C_M_DMA_SAFE.
If the symbol is not defined, a call to the function with the bit set fails
with error -EINVAL. The file includes "linux/i2c.h", so apparently there are
versions of I2c.h in which the flag is undefined.
I2C_M_DMA_SAFE is a hint for controller drivers that the buffer is DMA
capable. It is not something the controller driver needs to support
actively. Bailing out on this flag is wrong. Do I need to mention that
such misconceptions are the super-downside of out-of-tree drivers? (I
know that you are only a user of this driver, so not your fault)

Happy hacking,

    Wolfram


Hello Wolfram,

Thanks for the clarification. I've included the core of it in my post on [developer.nvidia.com]
(https://forums.developer.nvidia.com/t/nvidia-driver-i2c-dev-driver-i2c-failure/228966/2)
I'm not holding my breath for a fix any time soon.

I long ago gave up on using Nvidia video cards. Building my own copy of the nvidia driver was prone to failure due to mismatches between the kernel and the driver. Unfortunately, I can't control the driver that users of ddcutil use. There's even
a [page on ddcutil's website](https://www.ddcutil.com/nvidia) devoted to
undocumented driver settings that are often needed for I2C.

I had simplified ddcutil's most recent release (1.3.0, which inter alia will be in Ubuntu 22.10) to use onlythe i2c-dev's ioctl() interface. The amount of code
that had to go back in was both extensive and painful.

Regards,
Sanford





[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux