Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: HEADS UP: Merging drm update
Hi,
Ryo ONODERA <ryo%tetera.org@localhost> writes:
> Hi,
>
> Taylor R Campbell <riastradh%NetBSD.org@localhost> writes:
>
>> Better yet -- can you try the attached patch?
>> From e484fe666999730543f490ce6084486f7d7ce524 Mon Sep 17 00:00:00 2001
>> From: Taylor R Campbell <riastradh%NetBSD.org@localhost>
>> Date: Fri, 24 Dec 2021 11:12:43 +0000
>> Subject: [PATCH] i915: Use AcpiOsMapMemory, not bus_space_map, for opregion.
>>
>> Needed because this appears in firmware-type memory mappings, which
>> are excluded from bus_space_map.
>>
>> XXX pullup-9 (via manual patch since the code has changed a bit)
> (snip)
>
> Thank you very much.
>
> Your attached patch seems to be committed already.
> I have updated my src tree and build, boot the latest kernel.
> And the LCD turns black forever at different point.
> However I cannot see the last message from the kernel.
>
> Something goes wrong and i915drmkms does not work for my laptop yet.
> I will try to find a problematic point.
I915_WRITE_FW(PLANE_SURF(pipe, plane_id), 0); in line 687 turns
my LCD to yellow (rarely to blue).
If panic is removed, my LCD turns black finally and stay black forever
and does not reach to USB serial console.
668 static void
669 skl_disable_plane(struct intel_plane *plane,
670 const struct intel_crtc_state *crtc_state)
671 {
672 printf("Enter %s\n", __func__);
673 struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
674 enum plane_id plane_id = plane->id;
675 enum pipe pipe = plane->pipe;
676 unsigned long irqflags;
677
678 spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
679
680 if (icl_is_hdr_plane(dev_priv, plane_id))
681 I915_WRITE_FW(PLANE_CUS_CTL(pipe, plane_id), 0);
682
683 skl_write_plane_wm(plane, crtc_state);
684
685 I915_WRITE_FW(PLANE_CTL(pipe, plane_id), 0);
686 panic("Before turning yellow");
687 I915_WRITE_FW(PLANE_SURF(pipe, plane_id), 0);
688
689 spin_unlock_irqrestore(&dev_priv->uncore.lock, irqflags);
690 }
I think that line 687 completes disabling primary plane
and followed logics will not able to enable the plane.
However I am not sure because I cannot get any message.
Do you have an idea to investigate deeper?
Thank you.
--
Ryo ONODERA // ryo%tetera.org@localhost
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
Home |
Main Index |
Thread Index |
Old Index