Closed juikim closed 6 years ago
Seems reasonable.
I wonder if this change was a bit premature. Several reasons:
radeon_hw_i2c
is off in Linux as far as I can tell: https://elixir.bootlin.com/linux/v4.15.13/source/drivers/gpu/drm/radeon/radeon_drv.c#L180Thanks for the feedback. Around the end of April we will be done preparing the next drm-stable release which will be based on Linux v4.15. After that we will focus on sorting out all known bugs. For latest WIP, try the drm-v4.15-WIP branches on this repo and the kms-drm repo.
Thank you for the feedback. I do not see any differences related to linux_i2c.c or radeon_hw_i2c in that branch.
@avg-I
I wonder if @juikim tested the change with monitors that have EDID longer than 128, e.g. as described in FreeBSDDesktop/kms-drm#19 (see comments starting at https://github.com/FreeBSDDesktop/kms-drm/issues/19#issuecomment-374051414).
Yes, I have. It was my desperation to make it work at the time. Please see FreeBSDDesktop/freebsd-base-graphics#170 and FreeBSDDesktop/freebsd-base-graphics#171.
also, I think that the bit-bang algorithm in the Linux emulation code has a bug, see FreeBSDDesktop/kms-drm#51 and maybe it's that bug that caused the trouble in the first place.
Yes, it seems that was the culprit. Actually, I knew linuxkpi had incomplete i2c support and I suspected fixing it might obsolete this workaround. Please see https://github.com/FreeBSDDesktop/freebsd-base-graphics/pull/168#issuecomment-325799534.
This lets me use Pitcairn and Turks. Note it is analogous to https://github.com/FreeBSDDesktop/freebsd-base-graphics/commit/2e02433fc04a1695c3873929ab4e758c7393bf4f for amdgpu.