radeon drm fails to load on v6.12-rc2 "Bogus possible_clones: [ENCODER:46:TV-46] possible_clones=0x4 (full encoder mask=0x7)" ( Thinkpad T60)
Erhard Furtner
erhard_f at mailbox.org
Wed Oct 9 10:55:49 UTC 2024
On Wed, 9 Oct 2024 09:28:44 +0300
Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> On Wed, Oct 09, 2024 at 12:03:21AM +0200, Erhard Furtner wrote:
> > Greetings!
> >
> > On kernel v6.12-rc I get no X and dmesg (via netconsole) shows this at loading radeon drm:
> >
> > [...]
> > [drm] PCIE GART of 512M enabled (table at 0x0000000000040000).
> > radeon 0000:01:00.0: WB enabled
> > radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000008000000
> > radeon 0000:01:00.0: radeon: MSI limited to 32-bit
> > [drm] radeon: irq initialized.
> > [drm] Loading R500 Microcode
> > [drm] radeon: ring at 0x0000000008001000
> > [drm] ring test succeeded in 0 usecs
> > [drm] ib test succeeded in 0 usecs
> > stackdepot: allocating hash table of 65536 entries via kvcalloc
> > acpi device:06: registered as cooling_device2
> > [drm] Radeon Display Connectors
> > [drm] Connector 0:
> > [drm] VGA-1
> > [drm] DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
> > [drm] Encoders:
> > [drm] CRT1: INTERNAL_KLDSCP_DAC1
> > [drm] Connector 1:
> > [drm] LVDS-1
> > [drm] DDC: 0x7e60 0x7e60 0x7e64 0x7e64 0x7e68 0x7e68 0x7e6c 0x7e6c
> > [drm] Encoders:
> > [drm] LCD1: INTERNAL_LVTM1
> > [drm] Connector 2:
> > [drm] DVI-I-1
> > [drm] HPD1
> > [drm] DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
> > [drm] Encoders:
> > [drm] DFP1: INTERNAL_KLDSCP_TMDS1
> > ------------[ cut here ]------------
> >
> > Bogus possible_clones: [ENCODER:46:TV-46] possible_clones=0x4 (full encoder mask=0x7)
> <snip>
> > Bogus possible_clones: [ENCODER:48:TMDS-48] possible_clones=0x1 (full encoder mask=0x7)
> <snip>
>
> Presumably something like this should fix it:
>
> diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c
> index 0f723292409e..fafed331e0a0 100644
> --- a/drivers/gpu/drm/radeon/radeon_encoders.c
> +++ b/drivers/gpu/drm/radeon/radeon_encoders.c
> @@ -43,7 +43,7 @@ static uint32_t radeon_encoder_clones(struct drm_encoder *encoder)
> struct radeon_device *rdev = dev->dev_private;
> struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
> struct drm_encoder *clone_encoder;
> - uint32_t index_mask = 0;
> + uint32_t index_mask = drm_encoder_mask(encoder);
> int count;
>
> /* DIG routing gets problematic */
>
> Ville Syrjälä
> Intel
Many thanks! Your patch solves the issue.
Regards,
Erhard
More information about the dri-devel
mailing list