devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
To: "Heiko Stübner" <heiko@sntech.de>,
	"Andrzej Hajda" <andrzej.hajda@intel.com>,
	"Neil Armstrong" <neil.armstrong@linaro.org>,
	"Robert Foss" <rfoss@kernel.org>,
	"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
	"Jonas Karlman" <jonas@kwiboo.se>,
	"Jernej Skrabec" <jernej.skrabec@gmail.com>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"David Airlie" <airlied@gmail.com>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Sandy Huang" <hjc@rock-chips.com>,
	"Andy Yan" <andy.yan@rock-chips.com>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Mark Yao" <markyao0591@gmail.com>,
	"Sascha Hauer" <s.hauer@pengutronix.de>
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	kernel@collabora.com, Alexandre ARNOUD <aarnoud@me.com>,
	Luis de Arquer <ldearquer@gmail.com>,
	Algea Cao <algea.cao@rock-chips.com>
Subject: Re: [PATCH v6 3/3] drm/rockchip: Add basic RK3588 HDMI output support
Date: Wed, 11 Sep 2024 04:51:39 +0300	[thread overview]
Message-ID: <33d4f09b-8490-41f2-92ac-b39949e89e62@collabora.com> (raw)
In-Reply-To: <26154114.p16igRAIYV@diego>

On 9/10/24 11:49 PM, Heiko Stübner wrote:
> Am Dienstag, 10. September 2024, 18:39:54 CEST schrieb Heiko Stübner:
>> Am Dienstag, 10. September 2024, 17:41:42 CEST schrieb Cristian Ciocaltea:
>>> On 9/10/24 6:21 PM, Heiko Stübner wrote:
>>>> Am Dienstag, 10. September 2024, 17:07:57 CEST schrieb Heiko Stübner:
>>>>> Am Freitag, 6. September 2024, 03:17:42 CEST schrieb Cristian Ciocaltea:
>>>>>> The RK3588 SoC family integrates the newer Synopsys DesignWare HDMI 2.1
>>>>>> Quad-Pixel (QP) TX controller IP and a HDMI/eDP TX Combo PHY based on a
>>>>>> Samsung IP block.
>>>>>>
>>>>>> Add just the basic support for now, i.e. RGB output up to 4K@60Hz,
>>>>>> without audio, CEC or any of the HDMI 2.1 specific features.
>>>>>>
>>>>>> Co-developed-by: Algea Cao <algea.cao@rock-chips.com>
>>>>>> Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
>>>>>> Tested-by: Heiko Stuebner <heiko@sntech.de>
>>>>>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
>>>>>
>>>>> I had switched from the v3 to this v6 in my playground-kernel today,
>>>>> with v3 I've never seen those, but now with v6 I have gotten multiple
>>>>> times:
>>>>>
>>>>> [  805.730608] Internal error: synchronous external abort: 0000000096000010 [#1] PREEMPT SMP
>>>>> [  805.739764] Modules linked in: snd_soc_simple_card crct10dif_ce snd_soc_simple_card_utils panthor drm_gpuvm drm_exec fuse
>>>>> [  805.752031] CPU: 3 UID: 0 PID: 775 Comm: Xorg Not tainted 6.11.0-rc7-00099-g459302f1f908-dirty #934
>>>>> [  805.762143] Hardware name: Theobroma Systems RK3588-Q7 SoM on Haikou devkit (DT)
>>>>> [  805.770407] pstate: 204000c9 (nzCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
>>>>> [  805.778186] pc : regmap_mmio_read32le+0x8/0x20
>>>>> [  805.783155] lr : regmap_mmio_read+0x44/0x70
>>>>> [  805.787828] sp : ffff80008293b830
>>>>> [  805.791516] x29: ffff80008293b830 x28: ffff80008293bce8 x27: ffff0001f20ab080
>>>>> [  805.799495] x26: ffff800081139500 x25: 0000000000000000 x24: 0000000000000010
>>>>> [  805.807472] x23: 0000000000000000 x22: ffff0001f5a4b400 x21: ffff80008293b8c4
>>>>> [  805.815450] x20: 0000000000000968 x19: ffff0001f5a27a80 x18: 0000000000000070
>>>>> [  805.823428] x17: 0002441400000005 x16: 000004650441043c x15: 0438000008980804
>>>>> [  805.831406] x14: 07d8089807800780 x13: 0438000008980804 x12: ffff800081133630
>>>>> [  805.839384] x11: 0002441400000005 x10: 000004650441043c x9 : ffff800081a59000
>>>>> [  805.847361] x8 : 07d8089807800780 x7 : 0000000000000000 x6 : ffff0001f5b453c0
>>>>> [  805.855339] x5 : ffff800080750dc0 x4 : 0000000000000968 x3 : 0000000000000968
>>>>> [  805.863316] x2 : ffff800080751520 x1 : 0000000000000968 x0 : ffff800083b20968
>>>>> [  805.871294] Call trace:
>>>>> [  805.874012]  regmap_mmio_read32le+0x8/0x20
>>>>> [  805.878588]  _regmap_bus_reg_read+0x6c/0xac
>>>>> [  805.883262]  _regmap_read+0x60/0xd8
>>>>> [  805.887159]  _regmap_update_bits+0xf4/0x140
>>>>> [  805.891832]  regmap_update_bits_base+0x64/0xa0
>>>>> [  805.896797]  dw_hdmi_qp_bridge_atomic_enable+0x134/0x220
>>>>> [  805.902734]  drm_atomic_bridge_chain_enable+0x54/0xc8
>>>>> [  805.908380]  drm_atomic_helper_commit_modeset_enables+0x194/0x280
>>>>> [  805.915190]  drm_atomic_helper_commit_tail_rpm+0x50/0xa0
>>>>> [  805.921125]  commit_tail+0xa0/0x1a0
>>>>> [  805.925021]  drm_atomic_helper_commit+0x17c/0x1b0
>>>>> [  805.930276]  drm_atomic_commit+0xb8/0x100
>>>>> [  805.934754]  drm_atomic_connector_commit_dpms+0xe0/0x110
>>>>> [  805.940690]  drm_mode_obj_set_property_ioctl+0x1c0/0x420
>>>>> [  805.946626]  drm_connector_property_set_ioctl+0x3c/0x68
>>>>> [  805.952465]  drm_ioctl_kernel+0xc0/0x130
>>>>> [  805.956846]  drm_ioctl+0x214/0x4a0
>>>>> [  805.960643]  __arm64_sys_ioctl+0xac/0xf8
>>>>> [  805.965025]  invoke_syscall+0x48/0x104
>>>>> [  805.969214]  el0_svc_common.constprop.0+0x40/0xe0
>>>>> [  805.974470]  do_el0_svc+0x1c/0x28
>>>>> [  805.978171]  el0_svc+0x34/0xe0
>>>>> [  805.981582]  el0t_64_sync_handler+0x120/0x12c
>>>>> [  805.986449]  el0t_64_sync+0x190/0x194
>>>>> [  805.990540] Code: d503201f d503201f f9400000 8b214000 (b9400000)
>>>>>
>>>>> I guess that might be some clocking issue?
>>>>
>>>> Forgot to add, this happens when the display has blanked and then is
>>>> supposed to unblank again.
>>>
>>> Hmm, I've never encountered this while testing with my v6.11-rc1 based
>>> tree.  What is your current kernel base?  Did you change it while
>>> switching from v3 to v6?
>>>
>>> I'll rebase my tree onto latest linux-next and see if I can reproduce.
>>
>> The setup is 6.11-rc7 with your hdmi series + my wip dsi + X11 running
>> on top.
>>
>> At some point after being idle a while this blanks the display, which will
>> probably turn off clocks and such. After moving the mouse or just
>> doing anything else that unblanks the display, that splat happens.
>>
>> Apart from updating mesa from 24.2.0 to 24.2.2 I haven't changed
>> anything in my test-setup so far.
> 
> So now I've re-tested all :-) ... test scenario was that I reverted the v6
> patches and then applied the older versions (and fixed up the dts if
> needed wrt the vo{1}-grf thing). So now really only the hdmi driver
> changed. So I booted, waited for the display to blank and hit reboot
> on the serial console:
> 
> - v3 console output turned back on and rebooted fine
> - v4 console output turned back on and rebooted fine
> - v5 hit the error from above
> - v6 hit the error from above
> 
> So something between v4 and v5 seems to cause the hickup.

Thanks a lot for taking the time to bisect it!  This is indeed a clock
related regression introduced by the recent changes around scrambling.

I couldn't initially reproduce because I had the HDMI0 PHY clock provider
enabled, required to verify the high TMDS clock ratio and scrambling setup
in 4K@60Hz display mode.  Without that clock provider enabled, the PHY
eventually enters runtime PM suspend state, which for some reason causes
the splat when trying to access the LINK_CONFIG0 register.

To unblock the series, I would consider dropping the scrambling support for
now, as it turned to be far more complicated to have it properly handled
than I initially assumed.  Will move this to a separate WIP patch in my dev
tree, along the vop2 improvements for display modes handling, and resubmit
as soon as I get this work in a better shape.

  reply	other threads:[~2024-09-11  1:51 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-06  1:17 [PATCH v6 0/3] Add initial support for the Rockchip RK3588 HDMI TX Controller Cristian Ciocaltea
2024-09-06  1:17 ` [PATCH v6 1/3] drm/bridge: synopsys: Add DW HDMI QP TX Controller support library Cristian Ciocaltea
2024-09-09 15:13   ` Maxime Ripard
2024-09-14 19:12     ` Cristian Ciocaltea
2024-09-23  8:19       ` Maxime Ripard
2024-09-06  1:17 ` [PATCH v6 2/3] dt-bindings: display: rockchip: Add schema for RK3588 HDMI TX Controller Cristian Ciocaltea
2024-09-06  7:40   ` Krzysztof Kozlowski
2024-09-10 15:46     ` Cristian Ciocaltea
2024-09-06  1:17 ` [PATCH v6 3/3] drm/rockchip: Add basic RK3588 HDMI output support Cristian Ciocaltea
2024-09-09  0:42   ` kernel test robot
2024-09-10 11:27   ` Heiko Stübner
2024-09-10 12:06     ` Cristian Ciocaltea
2024-09-10 15:07   ` Heiko Stübner
2024-09-10 15:21     ` Heiko Stübner
2024-09-10 15:41       ` Cristian Ciocaltea
2024-09-10 16:39         ` Heiko Stübner
2024-09-10 20:49           ` Heiko Stübner
2024-09-11  1:51             ` Cristian Ciocaltea [this message]
2024-09-10 19:08   ` Heiko Stübner
2024-09-14 18:28     ` Cristian Ciocaltea
2024-09-15  6:13       ` Heiko Stuebner

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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

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

  git send-email \
    --in-reply-to=33d4f09b-8490-41f2-92ac-b39949e89e62@collabora.com \
    --to=cristian.ciocaltea@collabora.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=aarnoud@me.com \
    --cc=airlied@gmail.com \
    --cc=algea.cao@rock-chips.com \
    --cc=andrzej.hajda@intel.com \
    --cc=andy.yan@rock-chips.com \
    --cc=conor+dt@kernel.org \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=heiko@sntech.de \
    --cc=hjc@rock-chips.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=kernel@collabora.com \
    --cc=krzk+dt@kernel.org \
    --cc=ldearquer@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=markyao0591@gmail.com \
    --cc=mripard@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=rfoss@kernel.org \
    --cc=robh@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).