From: Thomas Zimmermann <tzimmermann@suse.de>
To: Icenowy Zheng <zhengxingda@iscas.ac.cn>,
Sui Jingfeng <suijingfeng@loongson.cn>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] drm/loongson: stop to set get_vblank_timestamp for 7A1000 CRTC
Date: Wed, 18 Mar 2026 08:09:26 +0100 [thread overview]
Message-ID: <27689c69-dca3-4d5b-b385-b9ee2391a9d9@suse.de> (raw)
In-Reply-To: <8b52a9190a237a8bb94a23bf06b6a0589394f553.camel@iscas.ac.cn>
Hi
Am 18.03.26 um 07:16 schrieb Icenowy Zheng:
> 在 2026-03-16一的 08:53 +0100,Thomas Zimmermann写道:
>>
>> Am 14.03.26 um 17:54 schrieb Icenowy Zheng:
>>> As there's no known hardware capability about querying vblank on
>>> the
>>> 7A1000 display controller, setting get_vblank_timestamp will
>>> mislead the
>>> kernel about the support of DC-backed high precision vblank query.
>>>
>>> Drop this function pointer in the CRTC function table for 7A1000.
>>>
>>> This solves a kernel warning when booting Linux 7.0-rc3 on a
>>> 3A4000+7A1000 Haier Boyue G51 laptop (with injected EDID for
>>> replicating
>>> the display timing set by the firmware).
>>>
>>> Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
>> Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
> Well, is my following understand right?
>
> - A hardware that does not have hardware vblank timing/counting ability
> shouldn't set .get_vblank_timestamp .
> - A hardware that supports vblank counting but not timing should set
> .get_vblank_timestamp to the
> drm_crtc_vblank_helper_get_vblank_timestamp helper to allow vblank
> timing estimate with counter.
Setting drm_crtc_vblank_helper_get_vblank_timestamp() also requires to
read out the x/y positions. See get_scanout_position. You can leave out
get_vblank_timestamp entirely and DRM will approximate the values with
the system timer. For reading the vblank counter, there's
get_vblank_counter if the hardware supports it.
>
> (P.S. There's a DisplayCurrentLocation register that is valid for
> 7A1000, which returns the current X and Y positions; but I wonder
> whether this is meaningful for vblank querying.
That sounds like the functionality required for get_scanout_position.
> In addition, this DC looks quite similar to Verisilicon DCNano, which
> was used by i.MX8ULP (although many functionality on the i.MX8ULP
> manual is missing, things until cursor0 match between LS7A2000 manual
> and i.MX8ULP manual). I wonder whether NXP people abandoned the
> mainlining of DCNano driver because of drm/loongson?)
IDK anything about that.
> P.S.2. I saw that Sui Jingfeng's mailbox is bouncing and the driver is
> going to be orphaned. If he wouldn't react with other ways, maybe I
> could try to maintain this driver? I have Loongson-3A4000 + LS7A1000
> and Loongson-3A6000 + LS7A2000 hardwares at home.
Yes, the driver is now orphaned. No one else from Loongson has shown up
to maintain it either. If you want it, just send a patch to add you as
maintainer with a short rational.
Best regards
Thomas
>
>>> ---
>>> drivers/gpu/drm/loongson/lsdc_crtc.c | 1 -
>>> 1 file changed, 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/loongson/lsdc_crtc.c
>>> b/drivers/gpu/drm/loongson/lsdc_crtc.c
>>> index 587fbe285e9ef..b3af8e0cdb15f 100644
>>> --- a/drivers/gpu/drm/loongson/lsdc_crtc.c
>>> +++ b/drivers/gpu/drm/loongson/lsdc_crtc.c
>>> @@ -721,7 +721,6 @@ static const struct drm_crtc_funcs
>>> ls7a1000_crtc_funcs = {
>>> .late_register = lsdc_crtc_late_register,
>>> .enable_vblank = lsdc_crtc_enable_vblank,
>>> .disable_vblank = lsdc_crtc_disable_vblank,
>>> - .get_vblank_timestamp =
>>> drm_crtc_vblank_helper_get_vblank_timestamp,
>>> .atomic_print_state = lsdc_crtc_atomic_print_state,
>>> };
>>>
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)
next prev parent reply other threads:[~2026-03-18 7:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-14 16:54 Icenowy Zheng
2026-03-16 7:53 ` Thomas Zimmermann
2026-03-16 8:02 ` Huacai Chen
2026-03-18 6:16 ` Icenowy Zheng
2026-03-18 7:09 ` Thomas Zimmermann [this message]
2026-03-18 7:15 ` Icenowy Zheng
2026-03-18 7:36 ` Thomas Zimmermann
2026-03-18 13:16 ` Huacai Chen
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=27689c69-dca3-4d5b-b385-b9ee2391a9d9@suse.de \
--to=tzimmermann@suse.de \
--cc=airlied@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=simona@ffwll.ch \
--cc=suijingfeng@loongson.cn \
--cc=zhengxingda@iscas.ac.cn \
/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
all inboxes | Powered by JetHome®