i2c: nvidia-gpu: resume ccgx i2c client
authorAjay Gupta <ajayg@nvidia.com>
Fri, 7 Jun 2019 16:34:22 +0000 (09:34 -0700)
committerWolfram Sang <wsa@the-dreams.de>
Fri, 7 Jun 2019 22:09:23 +0000 (00:09 +0200)
commit9f2e244d0a39eb437f98324ac315e605e48636db
treee50082e94ff48bc05c33937e30098e9f26020b6a
parenta94ecde41f7e51e2742e53b5f151aee662c54d39
i2c: nvidia-gpu: resume ccgx i2c client

Cypress USB Type-C CCGx controller firmware version 3.1.10
(which is being used in many NVIDIA GPU cards) has known issue of
not triggering interrupt when a USB device is hot plugged to runtime
resume the controller. If any GPU card gets latest kernel with runtime
pm support but does not get latest fixed firmware then also it should
continue to work and therefore a workaround is required to check for
any connector change event

The workaround is to request runtime resume of i2c client
which is UCSI Cypress CCGx driver. CCG driver will call the ISR
for any connector change event only if NVIDIA GPU has old
CCG firmware with the known issue.

Signed-off-by: Ajay Gupta <ajayg@nvidia.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-nvidia-gpu.c