mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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)



  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®