Radeon HD 2600 XT, DVI outputs

Andriy Gapon avg at FreeBSD.org
Fri Aug 19 10:56:45 UTC 2022


On 2022-08-18 20:54, Alex Deucher wrote:
> On Thu, Aug 18, 2022 at 8:29 AM Andriy Gapon <avg at freebsd.org> wrote:
>>
>> On 2022-08-16 12:01, Christian König wrote:
>>> Hi Andriy,
>>>
>>> well first of all can you please test that with Linux? If this works on
>>> Linux then there is probably just something missing on the FreeBSD port.
>>
>> Thank you for the suggestion.  This is something that I should have
>> tested from the start.  But I was overly confident that the problem
>> could not be a port problem as the hardware is so ancient and the port
>> exists for quite a long while and it's currently on the Linux 5.10 level.
>>
>> But, yes, it is a port problem after all.  I tested Debian with 5.10
>> kernel and the problem does not exist there.
>>
>> Here are some log messages from Linux:
>> [  397.379974] [drm:drm_helper_probe_single_connector_modes
>> [drm_kms_helper]] [CONNECTOR:46:DVI-I-1]
>> [  397.395520] [drm:radeon_atom_dac_detect [radeon]] Bios 0 scratch
>> 20000 00000014
>> [  397.395534] [drm:radeon_atombios_connected_scratch_regs [radeon]]
>> DFP1 disconnected
>> [  397.395546] [drm:radeon_atombios_connected_scratch_regs [radeon]]
>> CRT2 disconnected
>> [  397.395550] [drm:drm_helper_probe_single_connector_modes
>> [drm_kms_helper]] [CONNECTOR:46:DVI-I-1] status updated from unknown to
>> disconnected
>> [  397.395553] [drm:drm_helper_probe_single_connector_modes
>> [drm_kms_helper]] [CONNECTOR:46:DVI-I-1] disconnected
>> [  397.395557] [drm:drm_helper_probe_single_connector_modes
>> [drm_kms_helper]] [CONNECTOR:48:DIN-1]
>> [  397.411838] [drm:radeon_atom_dac_detect [radeon]] Bios 0 scratch
>> 20000 00000014
>> [  397.411856] [drm:radeon_atombios_connected_scratch_regs [radeon]] TV1
>> disconnected
>> [  397.411864] [drm:drm_helper_probe_single_connector_modes
>> [drm_kms_helper]] [CONNECTOR:48:DIN-1] status updated from unknown to
>> disconnected
>> [  397.411867] [drm:drm_helper_probe_single_connector_modes
>> [drm_kms_helper]] [CONNECTOR:48:DIN-1] disconnected
>> [  397.411873] [drm:drm_helper_probe_single_connector_modes
>> [drm_kms_helper]] [CONNECTOR:50:DVI-I-2]
>> [  397.446829] [drm:drm_add_display_info [drm]] Supported Monitor
>> Refresh rate range is 0 Hz - 0 Hz
>> [  397.446833] [drm:drm_add_display_info [drm]] non_desktop set to 0
>> [  397.446845] [drm:radeon_atombios_connected_scratch_regs [radeon]]
>> CRT1 disconnected
>> [  397.446855] [drm:radeon_atombios_connected_scratch_regs [radeon]]
>> DFP2 connected
>>
>> I guess that this tells us that the monitor (DVI-I-2 + DFP2) is detected
>> using some other method, so the detection does need to invoke
>> radeon_atom_dac_detect for it.
>>
>> I guess that radeon_dvi_detect() is what is responsible for detecting
>> DVI monitor connections.  So, it looks like the difference could be in
>> DDC / EDID probing.
> 
> DVI-I connectors support both analog and digital encoders so the
> driver has to determine which type of monitor is connected so that it
> can enable the right encoder.  If an EDID is available, we can check
> the digital bit to determine which encoder should be used.  If there
> is no EDID, it gets more complicated.  At that point we have to try
> and determine what type based on the hotplug detect pin or load
> detection on the DAC.

Thank you very much for all the help.
The problem turned out to be in FreeBSD support for bit-banging I2C.
Hardware I2C found on newer cards was not affected, so the problem went 
under the radar.

-- 
Andriy Gapon


https://standforukraine.com
https://razomforukraine.org


More information about the amd-gfx mailing list