On Wed, 9 Oct 2024 09:28:44 +0300 Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> 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