On Mon, 3 Aug 2020 02:24:47 +1000 Jonathan Gray <[email protected]> wrote:
> On Sun, Aug 02, 2020 at 01:05:37PM +0200, [email protected] wrote: > > >Synopsis: On boot, screen remains black after radeondrm > > >driver initializes Category: kernel/graphics/firmware > > >Environment: > > System : OpenBSD 6.7 > > Details : OpenBSD 6.7-current (GENERIC.MP) #0: Sun Aug > > 2 09:57:37 CEST 2020 > > [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP > > > > Architecture: OpenBSD.amd64 > > Machine : amd64 > > > > >Description: > > Installing an OpenBSD snapshot the first time on this iMac Intel > > Core i3 machine. After the radaeon firmware package has been > > installed and you reboot the system, the screen remains black after > > the radeondrm driver initializes. The system as such comes up fine > > - SSH possible. > > >How-To-Repeat: > > Install an OpenBSD.amd64 or OpenBSD.i386 snapshot and reboot the > > system again after the radeon firmware package has been installed. > > > > >Fix: > > No fix found yet. > > Workaround; > > Disable the radaeondrm driver so system boots without accelerated > > graphics mode. > > Try this. RV730 is DCE3.2 Thanks, that looked very promising. I've double checked that with your diff it reaches the desired branch now, but unfortunately the screen still remains dark :-( enc_idx gets set to 1. What I'm getting now on a regular base is this error: root on wd0a (b4216fe12e2ef06e.a) swap on wd0b dump on wd0b initializing kernel modesetting (RV730 0x1002:0x9488 0x106B:0x00B6 0x00). radeondrm0: 1024x768, 32bpp wsdisplay0 at radeondrm0 mux 1: console (std, vt100 emulation), using wskbd0 wsdisplay0: screen 1-5 added (std, vt100 emulation) [drm] *ERROR* clock recovery reached max voltage [drm] *ERROR* clock recovery failed [drm] *ERROR* crtc 42: Can't calculate constants, dotclock = 0! This error seems to be common when you browse the net, but I have no idea to what it's exactly related in my case ... Hmm. > Index: sys/dev/pci/drm/radeon/atombios_encoders.c > =================================================================== > RCS file: /cvs/src/sys/dev/pci/drm/radeon/atombios_encoders.c,v > retrieving revision 1.15 > diff -u -p -U6 -r1.15 atombios_encoders.c > --- sys/dev/pci/drm/radeon/atombios_encoders.c 8 Jun 2020 > 04:48:15 -0000 1.15 +++ > sys/dev/pci/drm/radeon/atombios_encoders.c 2 Aug 2020 16:18:23 > -0000 @@ -2191,13 +2191,14 @@ int radeon_atom_pick_dig_encoder(struct > /* > * On DCE32 any encoder can drive any block so usually just > use crtc id, > * but Apple thinks different at least on iMac10,1, so there > use linkb, > * otherwise the internal eDP panel will stay dark. > */ > if (ASIC_IS_DCE32(rdev)) { > - if (dmi_match(DMI_PRODUCT_NAME, "iMac10,1")) > + if (dmi_match(DMI_PRODUCT_NAME, "iMac10,1") || > + dmi_match(DMI_PRODUCT_NAME, "iMac11,2")) > enc_idx = (dig->linkb) ? 1 : 0; > else > enc_idx = radeon_crtc->crtc_id; > > goto assigned; > } >
