Re: [PATCH v7 0/7] incorporate pm runtime framework and eDP clean up

From: Dmitry Baryshkov
Date: Thu Nov 09 2023 - 15:35:57 EST


Hello Kuogee,


On Thu, 9 Nov 2023 at 19:51, Kuogee Hsieh <quic_khsieh@xxxxxxxxxxx> wrote:
>
>
> On 11/8/2023 10:27 AM, Abhinav Kumar wrote:
> >
> >
> > On 11/8/2023 10:10 AM, Kuogee Hsieh wrote:
> >>
> >> On 11/7/2023 1:23 PM, Dmitry Baryshkov wrote:
> >>> On Tue, 7 Nov 2023 at 23:01, Kuogee Hsieh <quic_khsieh@xxxxxxxxxxx>
> >>> wrote:
> >>>>
> >>>> On 11/6/2023 5:55 PM, Dmitry Baryshkov wrote:
> >>>>> On Sat, 7 Oct 2023 at 01:55, Kuogee Hsieh
> >>>>> <quic_khsieh@xxxxxxxxxxx> wrote:
> >>>>>> The purpose of this patch series is to incorporate pm runtime
> >>>>>> framework
> >>>>>> into MSM eDP/DP driver so that eDP panel can be detected by DRM
> >>>>>> eDP panel
> >>>>>> driver during system probe time. During incorporating procedure,
> >>>>>> original
> >>>>>> customized pm realted fucntions, such as dp_pm_prepare(),
> >>>>>> dp_pm_suspend(),
> >>>>>> dp_pm_resume() and dp_pm_prepare(), are removed and replaced with
> >>>>>> functions
> >>>>>> provided by pm runtiem framework such as
> >>>>>> pm_runtime_force_suspend() and
> >>>>>> pm_runtime_force_resume(). In addition, both eDP aux-bus and irq
> >>>>>> handler
> >>>>>> are bound at system probe time too.
> >>>>> With this patchset in place I can crash the board using the following
> >>>>> sequence (SM8350-HDK):
> >>>>>
> >>>>> - plug the USBC DP dongle
> >>>>> - run modetest at any mode, don't press Enter yet
> >>>>> - unplug the dongle
> >>>>> - press Enter to stop modetest
> >>>>>
> >>>>> => the board resets to Sahara.
> >>>>>
> >>>>> Please ping me if you need any additional information from my side.
> >>>> questiosn,
> >>>>
> >>>> 1) which dongle are you used?
> >>> I have used several Dell and Hama USB-C dongles.
> >>>
> >>>> 2) what code branch shoud I used to duplicate this problem.
> >>> I have pushed my kernel tree to
> >>> git.codelinaro.org/dmitry.baryshkov/linux.git, branch test-dp-rpm
> >>> I had several UCSI patches on top, but they should not be relevant.
> >> git.codelinaro.org/dmitry.baryshkov/linux.git, branch test-dp-rpm <==
> >> I synced out his branch and it is still work at my chromebook Kodiak
> >> DUT.
> >>>
> >
> > Perhaps the gap in test results with the same tree is due to internal
> > hpd vs hpd pin. We need to try this on a device which does not use
> > internal hpd.
>
>
> Hi Dmitry,

First of all, I was able to reproduce the issue without this patch
series. Kuogee, I must ask your pardon, it is not a regression and it
is not caused by this series.
So, we have a bug, but not a regression.

Second, a stable reproducer:

When you unplug and re-plug the dongle, switch the orientation of the dongle.
This way the system crashes in 100% of cases.

Here are the last messages that I see on my console:

trying to open device 'tilcdc'...failed
trying to open device 'msm'...done
setting mode 3840x2160-30.00Hz on connectors 34, crtc 84
failed to set gamma: Function not implemented
[ 25.504828] [drm:dpu_encoder_phys_vid_wait_for_commit_done:487]
[dpu error]vblank timeout
[ 25.515024] [drm:dpu_kms_wait_for_commit_done:494] [dpu error]wait
for commit done returned -110
[ 25.621146] [drm:dpu_encoder_frame_done_timeout:2342] [dpu
error]enc33 frame done timeout
Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.MXF.1.0-00848-LAHAINA-1


>
> I have two more questions,
>
> 1) are you see test pattern shows at external DP when you run modetest?

Yes, I see the pattern

> 2) is *.kcrash file created under /var/spool/crash/ when system crashed.
> If it is, can you share it?

There is no kcrash, as there is no kernel crash. The system reboots to
the download mode.

>
> Thanks,
>
> >
> >>>> I can not duplicate system crash problem at my setup kodiak (SM7325)
> >>>> chrome book with my PM runtime patch series.
> >>>>
> >>>> my code base is Linux 6.6-rc2 + pm runtime patch series (7 patches)
> >>>>
> >>>> I did:
> >>>>
> >>>> 1) plugin either apple dongle (DP-to-HDMI) + 1080p display or DP typeC
> >>>> cable directly to 1080p display
> >>>>
> >>>> 2) stop ui
> >>>>
> >>>> 3) /usr/bin/modetest -M msm -s 34:1920x1080 (see test pattern show at
> >>>> display)
> >>>>
> >>>> 4) unplug apple dongle or DP typeC cable
> >>>>
> >>>> 5) hit enter key
> >>>>
> >>>> 6) start ui
> >>>>
> >>>> 7) display back to login page of chrome book
> >>>>
> >>>>
> >>>



--
With best wishes
Dmitry