Re: Radeon HD 2600 XT, DVI outputs

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

 



On 2022-08-18 20:54, Alex Deucher wrote:
On Thu, Aug 18, 2022 at 8:29 AM Andriy Gapon <avg@xxxxxxxxxxx> 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



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux