mirror_ubuntu-kernels/drivers/gpu/drm/amd/pm/swsmu
Luben Tuikov c0838d3a93 drm/amdgpu: The I2C IP doesn't support 0 writes/reads
The I2C IP doesn't support writes or reads of 0 bytes.

In order for a START/STOP transaction to take
place on the bus, the data written/read has to be
at least one byte.

That is, you cannot generate a write with 0 bytes,
just to get the ACK from a device, just so you can
probe that device if it is on the bus and so to
discover all devices on the bus--you'll have to
read at least one byte. Writes of 0 bytes generate
no START/STOP on this I2C IP--the bus is not
engaged at all.

Set the I2C_AQ_NO_ZERO_LEN to the existing I2C
quirk tables for Aldebaran, Arcturus, Navi10 and
Sienna Cichlid, and add a quirk table to the I2C
driver which drives the bus when the SMU
doesn't--for instance on Vega20.

Cc: Alexander Deucher <Alexander.Deucher@amd.com>
Cc: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Cc: Lijo Lazar <Lijo.Lazar@amd.com>
Cc: John Clements <john.clements@amd.com>
Cc: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Luben Tuikov <luben.tuikov@amd.com>
Reviewed-by: Lijo Lazar <Lijo.Lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-07-08 15:12:51 -04:00
..
smu11 drm/amdgpu: The I2C IP doesn't support 0 writes/reads 2021-07-08 15:12:51 -04:00
smu12 drm/amd/pm: support ss metrics read on renoir 2021-06-11 16:03:52 -04:00
smu13 drm/amdgpu: The I2C IP doesn't support 0 writes/reads 2021-07-08 15:12:51 -04:00
amdgpu_smu.c drm/amdgpu: Power down VCN and JPEG before disabling SMU features 2021-06-29 23:41:23 -04:00
Makefile drm/amd/swsmu: add aldebaran smu13 ip support (v3) 2021-03-23 22:54:24 -04:00
smu_cmn.c drm/amd/pm: update the cached dpm feature status 2021-06-11 16:02:30 -04:00
smu_cmn.h drm/amd/pm: update the cached dpm feature status 2021-06-11 16:02:30 -04:00
smu_internal.h drm/amd/pm: correct the power limits reporting on OOB supported 2021-06-11 16:03:09 -04:00