public inbox for linux-rockchip@lists.infradead.org
 help / color / mirror / Atom feed
From: "Andy Yan" <andyshrk@163.com>
To: "Diederik de Haas" <didi.debian@cknow.org>
Cc: "Piotr Zalewski" <pZ010001011111@proton.me>,
	hjc@rock-chips.com, heiko@sntech.de, andy.yan@rock-chips.com,
	maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch,
	dri-devel@lists.freedesktop.org,
	linux-rockchip@lists.infradead.org
Subject: Re:Re: [PATCH drm-misc-next] rockchip/drm: vop2: don't check color_mgmt_changed in atomic_enable
Date: Wed, 11 Jun 2025 15:41:54 +0800 (CST)	[thread overview]
Message-ID: <4e600374.6dc7.1975df03a2d.Coremail.andyshrk@163.com> (raw)
In-Reply-To: <DAISW8MXEU0G.3AMRSKNYQUJY8@cknow.org>


Hi Diederik,

At 2025-06-10 19:02:11, "Diederik de Haas" <didi.debian@cknow.org> wrote:
>Hi Andy,
>
>On Tue Jun 10, 2025 at 11:07 AM CEST, Andy Yan wrote:
>> At 2025-06-09 20:36:41, "Diederik de Haas" <didi.debian@cknow.org> wrote:
>>>On Mon Jun 9, 2025 at 11:15 AM CEST, Andy Yan wrote:
>>>> At 2025-06-08 20:53:37, "Diederik de Haas" <didi.debian@cknow.org> wrote:
>>>>>On Sun Jun 8, 2025 at 2:10 PM CEST, Andy Yan wrote:
>>>>>> At 2025-06-08 19:08:50, "Diederik de Haas" <didi.debian@cknow.org> wrote:
>>>>>>>On Sat Jun 7, 2025 at 5:32 PM CEST, Piotr Zalewski wrote:
>>>>>>>> On Thursday, June 5th, 2025 at 10:13 PM, Diederik de Haas <didi.debian@cknow.org> wrote:
>>>>>>>>> Since kernel 6.14-rc1 I have the problem that visual output is no longer
>>>>>>>>> shown on my PineTab2 and a `git bisect` pointed to this patch/commit
>>>>>>
>>>>>> I have conducted tests on both rk3566-box-demo (with drm set to y)
>>>>>> and rk3568-lubancat-2 (with drm set to m), but I was unable to
>>>>>> reproduce this issue. Could you two please share your kernel
>>>>>> defconfig and the corresponding kernel startup logs?
>>>>>> Additionally, both of my two boards tested with HDMI output. What
>>>>>> kind of display interface does your board use for output?
>>>>>
>>>>>I wasn't able to reproduce this issue on my PINE64 Quartz-B (rk3566) 
>>>>>with HDMI output either, but the problem is present on a PineTab2 [1]
>>>>>(also rk3566) which uses a MIPI DSI connection to the display panel.
>>>>>
>>>>>Kernel config:
>>>>>https://paste.sr.ht/~diederik/aa747ed170aa01cc759fbe1ffd9cebe8c887b10b
>>>>>
>>>>>dmesg kernel 6.14-rc1:
>>>>>https://paste.sr.ht/~diederik/733fbf8bb7f6aee8b68cf5a652157d445462c24a
>>>>>
>>>>>dmesg kernel 6.14-rc1 with Piotr's patch:
>>>>>https://paste.sr.ht/~diederik/db1af672cfb611acbfbdf35adb6f170e5c38febc
>>>>>
>>>>>Both dmesg outputs contain a suspend-resume cycle.
>>>>>I'm using a USB Wi-Fi adapter for the wireless connection.
>>>>>
>>>>>[1] https://wiki.pine64.org/wiki/PineTab2
>>>>>
>>>>>Happy to provide more info and/or do some tests.
>>>>
>>>> Can you apply the patch in the attachment, reproduce this issue(without Piotr's patch), 
>>>> and then provide me with a copy of the kernel log?
>>>
>>>Same test as above, but added ``dmesg | grep "vop2_"`` at the end as well
>>>
>>>dmesg kernel 6.14-rc1 with Andy's print_lut_0609_1710 patch:
>>>https://paste.sr.ht/~diederik/ac356ee8b0f7e772c7310293d99d95644f59a4ee
>>
>>
>> root@pt2-scmi:~# dmesg | grep "vop2_"
>> [    4.996281] rockchip-drm display-subsystem: bound fe040000.vop (ops vop2_crtc_atomic_try_set_gamma.part.0 [rockchipdrm])
>> [    5.005207] rockchip-drm display-subsystem: bound fe0a0000.hdmi (ops vop2_crtc_atomic_try_set_gamma.part.0 [rockchipdrm])
>> [    5.006798] rockchip-drm display-subsystem: bound fe060000.dsi (ops vop2_crtc_atomic_try_set_gamma.part.0 [rockchipdrm])
>> [    5.021204] vop2_crtc_atomic_try_set_gamma  gamma_lut: 0000000000000000
>> [    5.021219] vop2_vp_dsp_lut_disable dsp_ctrl: 0x0000000f
>>
>> It seems that dsp_ctrl: 0x0000000f , this value is not what we expected.
>>
>> The expected is 0x00010000.
>>
>> Could you please do an experiment for me? When there is no display on your screen, 
>> execute the following command and see if the screen can resume displaying:
>>
>> ./data/io  -w -4 0xfe040d00 0x10000; io -w -4 0xfe040000 0x28002 
>>
>> I have placed the io tool in the attachment.
>>
>> You can use command like bellow to read back to confirm if what you write has taken effect:
>> io -r -4 -l 0x100  0xfe040d00 
>>
>> you may need to make CONFIG_DEVMEM=y so that you can write the register by io command.
>
>I renamed it as ``andy-io`` and performed the test:
>
>```sh
>root@pt2-scmi:~# echo 'just (re-)booted into my PineTab2; screen is blank'
>just (re-)booted into my PineTab2; screen is blank
>root@pt2-scmi:~# uname -a
>Linux pt2-scmi 6.14.0-rc1-00001-gfbe17d9b77b0 #18 SMP Mon Jun  9 13:17:28 CEST 2025 aarch64 GNU/Linux
>root@pt2-scmi:~# ./andy-io -r -4 -l 0x100 0xfe040d00
>mmap() failed: Operation not permitted
>root@pt2-scmi:~# grep CONFIG_DEVMEM /boot/config-6.14.0-rc1-00001-gfbe17d9b77b0
>CONFIG_DEVMEM=y
>root@pt2-scmi:~# ./andy-io -w -4 0xfe040d00 0x10000
>mmap() failed: Operation not permitted
>root@pt2-scmi:~# ./andy-io -w -4 0xfe040000 0x28002
>mmap() failed: Operation not permitted
>```


This is my config about DEVMEM:

~/WorkSpace/linux-next$ rg DEVMEM .config
1014:CONFIG_NET_DEVMEM=y
3069:CONFIG_DEVMEM=y
7280:CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
7542:CONFIG_STRICT_DEVMEM=y
7543:# CONFIG_IO_STRICT_DEVMEM is not set

CONFIG_IO_STRICT_DEVMEM should not be set to y if you want to access an IO address from usersapce.


>
>I guess this is not what you expected and I don't know why it happens.
>
>Cheers,
>  Diederik
>
>> [   73.750524] vop2_crtc_atomic_try_set_gamma  gamma_lut: 0000000000000000
>> [   73.750542] vop2_vp_dsp_lut_disable dsp_ctrl: 0x00010000
>>>>>>>> patched vop2_vp_dsp_lut_disable function so that dsp_ctrl is set only if 
>>>>>>>> GAMMA LUT EN bit is set. I checked that this also does not break the gamma 
>>>>>>>> lut functionality with emphasis on out-of/into suspend behavior.
>>>>>>>>
>>>>>>>> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
>>>>>>>> index d0f5fea15e21..7ddf311b38c6 100644
>>>>>>>> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
>>>>>>>> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
>>>>>>>> @@ -897,6 +897,9 @@ static void vop2_vp_dsp_lut_disable(struct vop2_video_port *vp)
>>>>>>>>  {
>>>>>>>>  	u32 dsp_ctrl = vop2_vp_read(vp, RK3568_VP_DSP_CTRL);
>>>>>>>>  
>>>>>>>> +	if ((dsp_ctrl & RK3568_VP_DSP_CTRL__DSP_LUT_EN) == 0)
>>>>>>>> +		return;
>>>>>>>> +
>>>>>>>>  	dsp_ctrl &= ~RK3568_VP_DSP_CTRL__DSP_LUT_EN;
>>>>>>>>  	vop2_vp_write(vp, RK3568_VP_DSP_CTRL, dsp_ctrl);
>>>>>>>>  }
>>>>>>>
>>>>>>>I built a kernel with 6.14-rc1 + this patch and can confirm the screen
>>>>>>>has output again :-)
>>>>>>>
>>>>>>>> I will wait with sending a patch because maybe Andy has something to add 
>>>>>>>> to this.
>>>>>>>
>>>>>>>Sounds like a plan. It could be that this issue surfaced an underlaying
>>>>>>>issue and if so, fixing that would be even better.
>
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

  reply	other threads:[~2025-06-11  9:09 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-06 19:26 [PATCH drm-misc-next] rockchip/drm: vop2: don't check color_mgmt_changed in atomic_enable Piotr Zalewski
2024-12-11 22:45 ` Heiko Stuebner
2025-06-05 20:08 ` Diederik de Haas
2025-06-07 15:32   ` Piotr Zalewski
2025-06-08 11:08     ` Diederik de Haas
2025-06-08 12:10       ` Andy Yan
2025-06-08 12:53         ` Diederik de Haas
2025-06-09  9:15           ` Andy Yan
2025-06-09 12:36             ` Diederik de Haas
2025-06-10  9:07               ` Andy Yan
2025-06-10 11:02                 ` Diederik de Haas
2025-06-11  7:41                   ` Andy Yan [this message]
2025-06-11 10:56                     ` Diederik de Haas
2025-06-11 12:15                       ` Andy Yan
2025-06-11 12:26                         ` Diederik de Haas
2025-06-11 12:49                           ` Andy Yan
2025-06-11 22:12                             ` Piotr Zalewski
2025-06-12  8:33                             ` Diederik de Haas
2025-06-19 11:54                             ` Piotr Zalewski
2025-06-20  0:42                               ` Andy Yan
2025-06-09 22:37       ` Piotr Zalewski
2025-06-10 11:27         ` Diederik de Haas

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=4e600374.6dc7.1975df03a2d.Coremail.andyshrk@163.com \
    --to=andyshrk@163.com \
    --cc=airlied@gmail.com \
    --cc=andy.yan@rock-chips.com \
    --cc=didi.debian@cknow.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=heiko@sntech.de \
    --cc=hjc@rock-chips.com \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=pZ010001011111@proton.me \
    --cc=simona@ffwll.ch \
    --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