On Tue, Oct 24, 2023 at 09:14:48PM +1100, Jonathan Gray wrote:
> On Wed, Oct 18, 2023 at 08:31:41PM +0200, Marcus Glocker wrote:
> > When I revert this commit, the screen on my iMac11,2 works again:
> >
> > https://marc.info/?l=openbsd-cvs&m=167989100718759&w=2
>
> I can't think of anything else to try, so I have committed the revert.
Same here. I was going through the code for some hours, and tried out
a few things. But it doesn't make any sense to me how the same commit
could fix the issue on Linux while for us it's introducing the issue.
> Thanks for the report.
Thanks for reverting it.
> > Index: atombios_encoders.c
> > ===================================================================
> > RCS file: /cvs/src/sys/dev/pci/drm/radeon/atombios_encoders.c,v
> > retrieving revision 1.19
> > diff -u -p -u -p -r1.19 atombios_encoders.c
> > --- atombios_encoders.c 27 Mar 2023 04:23:40 -0000 1.19
> > +++ atombios_encoders.c 18 Oct 2023 18:29:56 -0000
> > @@ -2122,12 +2122,11 @@ 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 and iMac11,2, so
> > there use linkb,
> > + * 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") ||
> > - dmi_match(DMI_PRODUCT_NAME, "iMac11,2"))
> > + if (dmi_match(DMI_PRODUCT_NAME, "iMac10,1"))
> > enc_idx = (dig->linkb) ? 1 : 0;
> > else
> > enc_idx = radeon_crtc->crtc_id;
> >
> >