RE: In power saving mode i2c_nvidia_gpu modules affect power consumption a lot

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

 



Hi AceLan,

> -----Original Message-----
> From: AceLan Kao <acelan.kao@xxxxxxxxxxxxx>
> Sent: Thursday, December 19, 2019 4:53 PM
> To: Ajay Gupta <ajayg@xxxxxxxxxx>; linux-i2c@xxxxxxxxxxxxxxx
> Subject: In power saving mode i2c_nvidia_gpu modules affect power
> consumption a lot
> 
> External email: Use caution opening links or attachments
> 
> 
> Hi all,
> 
> We encountered an issue that while switching to power saving mode(use
> iGPU), the power consumption goes up to 40 Watt, and after removed
> i2c_nvidia_gpu, it becomes 5 Watt.
> 
> I've tried to check the driver to see if it can tell it's under power saving mode
> and found that the first time you call gpu_i2c_check_status(), 
gpu_i2c_check_status() is not right place to check if driver is under power saving
mode. You can check lspci output and looks for "Status" field in Power Management
Capabilities.
gpu_i2c_check_status() reads I2C_MST_CNTL register to know the status of i2c
transaction (START, READ, WRITE, STOP)on the bus. This register doesn't have
status of power saving mode.

> it got 0 from
> readl(), and the second and the following readl(), it returns 0xe0000000. It
> looks like an error code combined with I2C_MST_CNTL_STATUS_NO_ACK and
> I2C_MST_CNTL_STATUS_TIMEOUT.
A value of 0 means last I2C transaction on the bus was successful.Value
0xe0000000 means I2C bus is still busy doing the transaction 
(refer I2C_MST_CNTL_STATUS_BUS_BUSY).

> 
> Moreover, i2c_nvidia_gpu module seems depends on intel_lpss driver since it
> provides i2c interface. So if we can to use the above behavior to check its
> status, the system have to load intel_lpss first. But currently, it seems not
> possible to load modules in our order.
> 
> So, I'm wondering if we have other method to check and not load
> i2c_nvidia_gpu module or if it's possible to check why loading i2c_nvidia_gpu
> affects power consumption a lot.

Which kernel version do you see the issue with?
Power management related changes were merged in mainline kernel v5.3. 
If you are using older kernel then need to pull runtime PM related patches
from latest kernel.
https://marc.info/?l=linux-usb&m=155994544705901&w=2

thanks
>  nvpublic
> Thanks.
> 
> Best regards,
> AceLan Kao.




[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