archive mirror
 help / color / mirror / Atom feed
From: Caleb Connolly <>
To: Saravana Kannan <>
Cc: Rob Clark <>,
	John Stultz <>,
	Amit Pundir <>,
	Bjorn Andersson <>,
	Douglas Anderson <>,
	Stephen Boyd <>,
	linux-arm-msm <>,
Subject: Re: fw_devlink breakage on SDM845 / a630 with DSI displays
Date: Thu, 20 May 2021 00:17:32 +0000	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

On 20/05/2021 1:06 am, Saravana Kannan wrote:
> On Wed, May 19, 2021 at 3:43 PM Caleb Connolly <> wrote:
>> Hi Saravana,
>> On 19/05/2021 10:52 pm, Saravana Kannan wrote:
>>> On Wed, May 19, 2021 at 8:36 AM Rob Clark <> wrote:
>>>> + some more folks and msm list..
>>>> I suppose I didn't hit this because CONFIG_FBDEV_EMULATION is not
>>>> normally enabled for CrOS.. but I'm not really to familiar with
>>>> fw_devlink
>>>> BR,
>>>> -R
>>>> On Wed, May 19, 2021 at 8:26 AM Caleb Connolly <> wrote:
>>>>> Hi,
>>>>> Since -rc1 I've been hit by some DRM breakage in freedreno which happens
>>>>> when fw_devlink=on. It seems to cause some clocks (rcg) to get stuck and
>>>>> break DSI displays, here's a full log from the OnePlus 6:
>>>>> (that is with
>>>>> "deferred_probe_timeout") The PocoPhone F1 also seems to be affected by
>>>>> this.
>>>>> The display will still come up after pressing the power button a few
>>>>> times, although it will be incredibly slow.
>>>>> It's worth noting that the issue only happens with
>>>>> CONFIG_FBDEV_EMULATION is enabled, I've previously required this to see
>>>>> kernel logs during boot and general boot splash with postmarketOS.
>>>>> Without it the display will be stuck on the bootloader splash until I
>>>>> press the power button and cause it to update once UI (like Phosh) has
>>>>> started (though this has been the case for quite some time).
>>>>> I'd appreciate any help with debugging / resolving this issue, I'm
>>>>> afraid I haven't been able to determine much from some brief digging.
>>> Hi Caleb,
>>> Is this a device that's supported upstream? If so, can you please
>>> point me to the DTS file that corresponds to this board?
>> The DTS can be found in
>> arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi (the two devices
>> "enchilada" and "fajita" share almost all hardware in common).
>>> Also, can you please change all the dev_dbg to dev_info in these
>>> functions and give me the full boot log?
>>> device_link_add()
>>> device_links_check_suppliers()
>> I've uploaded a log here:
>> For reference, the same but with fw_devlink=permissive:
>>> Can you also tell what device are not probing with fw_devlink=on that
>>> might be probing with fw_devlink=permissive?
>> The devices in question are ae00000.mdss, ae94000.dsi and ae01000.mdp.
>>> You should be able to compare /<debugfs>/devices_deferred to figure that out.
>> devices_deferred is empty for me,
> So, ae00000.mdss, ae94000.dsi and ae01000.mdp are probing for =on and
> =permissive?
> That's interesting. So maybe fw_devlink is somehow changing the probe
> order that's causing this? AFAIK, fw_devlink shouldn't cause changes
> to probe order (it used to, but I've fixed them all).
Yeah, they always successfully probe, it seems like fw_devlink is
exposing some racy behaviour somewhere.

The issue happens when initialising the display for framebuffer device
emulation - with framebuffer emulation disabled it all mostly works as
expected. With the caveat that there is nothing on the display until the
device has finished booting AND the user causes a refresh by pressing
the power button a few times.

Perhaps this early framebuffer driver is causing confusion as it has
different dependencies than the main driver?
>> however device_component contains
>> (only) the following:
>> oneplus6:/home/user# cat /sys/kernel/debug/device_component/ae00000.mdss
>> master name                                            status
>> -------------------------------------------------------------
>> ae00000.mdss                                            bound
>> device name                                            status
>> -------------------------------------------------------------
>> ae01000.mdp                                             bound
>> ae94000.dsi                                             bound
>> 5000000.gpu                                             bound
> Sorry, I have no context on this and how to interpret it. I kinda know
> a little about the component framework, but not much. Is this file the
> same for =on and =permissive?
Apologies, I assumed it had something to do with fw_devlink. It's the
same for both cases yeah.
> -Saravana

Kind Regards,

  reply	other threads:[~2021-05-20  0:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <>
2021-05-19 15:40 ` Rob Clark
2021-05-19 21:52   ` Saravana Kannan
2021-05-19 22:42     ` Caleb Connolly
2021-05-20  0:06       ` Saravana Kannan
2021-05-20  0:17         ` Caleb Connolly [this message]
2021-06-11 22:52         ` Caleb Connolly
2021-06-16 19:49           ` Saravana Kannan
2021-05-19 22:00   ` Dmitry Baryshkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \ \ \ \
    --subject='Re: fw_devlink breakage on SDM845 / a630 with DSI displays' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).