Radeon HD 2600 XT, DVI outputs

Alex Deucher alexdeucher at gmail.com
Thu Aug 18 17:54:38 UTC 2022


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.

Alex

>
>
> > Am 16.08.22 um 10:48 schrieb Andriy Gapon:
> >>
> >> Out of necessity I had to use an ancient Radeon HD 2600 XT card.
> >> It has two DVI outputs (and one S-video).
> >>
> >> I noticed a curious problem, if I attach a monitor to either of the
> >> DVI outputs, then initially there is video output but as soon as
> >> radeonkms driver attaches the monitor goes blank.
> >> But if I attach the same monitor to either of the outputs using its VGA
> >> input and DVI->VGA converter, then the video works fine all the time.
> >>
> >> I tested the monitor's DVI input with a different machine and there it
> >> works just fine (and, as I said, it also works fine before radeonkms
> >> is loaded).
> >>
> >> Here is a piece of output from the driver with the direct DVI attachment:
> >> [drm] Radeon Display Connectors
> >> [drm] Connector 0:
> >> [drm]   DVI-I-1
> >> [drm]   HPD1
> >> [drm]   DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
> >> [drm]   Encoders:
> >> [drm]     DFP1: INTERNAL_KLDSCP_TMDS1
> >> [drm]     CRT2: INTERNAL_KLDSCP_DAC2
> >> [drm] Connector 1:
> >> [drm]   DIN-1
> >> [drm]   Encoders:
> >> [drm]     TV1: INTERNAL_KLDSCP_DAC2
> >> [drm] Connector 2:
> >> [drm]   DVI-I-2
> >> [drm]   HPD2
> >> [drm]   DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
> >> [drm]   Encoders:
> >> [drm]     CRT1: INTERNAL_KLDSCP_DAC1
> >> [drm]     DFP2: INTERNAL_LVTM1
> >> drmn0: [drm] Cannot find any crtc or sizes
> >>
> >> The same scenario with additional diagnostics:
> >> https://people.freebsd.org/~avg/radeon-2600-dvi-dvi.txt
> >>
> >>
> >> And here is with the DVI->VGA configuration:
> >> [drm] Radeon Display Connectors
> >> [drm] Connector 0:
> >> [drm]   DVI-I-1
> >> [drm]   HPD1
> >> [drm]   DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
> >> [drm]   Encoders:
> >> [drm]     DFP1: INTERNAL_KLDSCP_TMDS1
> >> [drm]     CRT2: INTERNAL_KLDSCP_DAC2
> >> [drm] Connector 1:
> >> [drm]   DIN-1
> >> [drm]   Encoders:
> >> [drm]     TV1: INTERNAL_KLDSCP_DAC2
> >> [drm] Connector 2:
> >> [drm]   DVI-I-2
> >> [drm]   HPD2
> >> [drm]   DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
> >> [drm]   Encoders:
> >> [drm]     CRT1: INTERNAL_KLDSCP_DAC1
> >> [drm]     DFP2: INTERNAL_LVTM1
> >> [drm] fb mappable at 0xE0243000
> >> [drm] vram apper at 0xE0000000
> >> [drm] size 3145728
> >> [drm] fb depth is 24
> >> [drm]    pitch is 4096
> >>
> >> The same scenario with additional diagnostics:
> >> https://people.freebsd.org/~avg/radeon-2600-dvi-vga.txt
> >>
> >>
> >> Not sure if this is something with the hardware...
> >>
> >> Thanks!
> >
>
>
> --
> Andriy Gapon
>
>
> https://standforukraine.com
> https://razomforukraine.org


More information about the amd-gfx mailing list