Re: [PATCH v2 18/29] drm/xe: Add drm_gpusvm_devmem to xe_bo

2024-12-14 Thread Matthew Brost
On Tue, Nov 19, 2024 at 05:51:50PM +0100, Thomas Hellström wrote: > > > On Tue, 2024-10-15 at 20:25 -0700, Matthew Brost wrote: > > Add drm_gpusvm_devmem to xe_bo. Required to enable SVM migrations. > > > > Signed-off-by: Matthew Brost > > --- > >  drivers/gpu/drm/xe/xe_bo_types.h | 5 + > >

[PATCH] drm/imx: imx-tve: release a device reference obtained in .probe() on error

2024-12-14 Thread Joe Hattori
imx_tve_probe() calls of_find_i2c_adapter_by_node() to obtain an i2c_client with an incremented refcount, but does not release it on error. Fix this by calling devm_add_action_or_reset() with a new function imx_tve_release_ddc(), which releases the reference. This bug was found by an experimental

[PATCH] gpu: ipu-v3: fix OF node reference leaks in ipu_add_client_devices()

2024-12-14 Thread Joe Hattori
ipu_add_client_devices() does not release the obtained OF node reference in the error path. Call of_node_put() on the OF nodes before returning an error. This bug was found by an experimental static analysis tool that I am developing. Fixes: 17e052175039 ("gpu: ipu-v3: Do not bail out on missing

Re: [PATCH v1 00/10] Add eDP support for RK3588

2024-12-14 Thread Damon Ding
Hi Heiko, On 2024/12/6 22:35, Heiko Stübner wrote: Hi Daemon, Am Mittwoch, 27. November 2024, 08:51:47 CET schrieb Damon Ding: These patchs have been tested with a 1536x2048p60 eDP panel on RK3588S EVB1 board, and HDMI 1080P/4K display also has been verified on RK3588 EVB1 board. Patch 1~3 ar

Re: [PATCH 1/2] drm/nouveau: incorporate I2C TV encoder drivers

2024-12-14 Thread kernel test robot
Hi Dmitry, kernel test robot noticed the following build errors: [auto build test ERROR on 4176cf5c5651c33769de83bb61b0287f4ec7719f] url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Baryshkov/drm-nouveau-incorporate-I2C-TV-encoder-drivers/20241214-233637 base

Re: [PATCH v2] drm/rockchip: Fix Copyright description

2024-12-14 Thread Heiko Stuebner
On Sat, 14 Dec 2024 15:13:33 +0800, Andy Yan wrote: > The company name has update to Rockchip Electronics Co., Ltd. > since 2021. > And change Co.Ltd to Co., Ltd. to fix mail server warning: > DBL_SPAM(6.50)[co.ltd:url]; > > Applied, thanks! [1/1] drm/rockchip: Fix Copyright description

Re: (subset) [PATCH v6 00/16] VOP Support for rk3576

2024-12-14 Thread Heiko Stuebner
On Sat, 14 Dec 2024 16:16:59 +0800, Andy Yan wrote: > Thanks for the basic work from Collabora, I can bringup a HDMI > display out on rk3576. > > PATCH 1 is a carryover from the working when add support for > rk3588[0], is very usefull when some people want me > help debug some issue onl

Re: [PATCH v2 09/29] drm/xe: Add SVM range invalidation

2024-12-14 Thread Matthew Brost
On Wed, Dec 11, 2024 at 11:01:14AM -0800, Matthew Brost wrote: > On Tue, Nov 19, 2024 at 02:56:12PM +0100, Thomas Hellström wrote: > > On Tue, 2024-10-15 at 20:24 -0700, Matthew Brost wrote: > > > Add SVM range invalidation vfunc. > > > > > > v2: > > >  - Don't run invalidation if VM is closed > >

Re: [PATCH v3 04/14] drm/msm/dp: pull I/O data out of msm_dp_catalog_private()

2024-12-14 Thread Dmitry Baryshkov
On Sat, 14 Dec 2024 at 22:53, Abhinav Kumar wrote: > > Hi Dmitry > > On 12/12/2024 3:09 PM, Dmitry Baryshkov wrote: > > On Thu, 12 Dec 2024 at 21:15, Abhinav Kumar > > wrote: > >> > >> > >> > >> On 12/12/2024 12:52 AM, Dmitry Baryshkov wrote: > >>> On Thu, 12 Dec 2024 at 04:59, Abhinav Kumar >

Re: [PATCH v3 04/14] drm/msm/dp: pull I/O data out of msm_dp_catalog_private()

2024-12-14 Thread Abhinav Kumar
Hi Dmitry On 12/12/2024 3:09 PM, Dmitry Baryshkov wrote: On Thu, 12 Dec 2024 at 21:15, Abhinav Kumar wrote: On 12/12/2024 12:52 AM, Dmitry Baryshkov wrote: On Thu, 12 Dec 2024 at 04:59, Abhinav Kumar wrote: On 12/11/2024 3:41 PM, Dmitry Baryshkov wrote: Having I/O regions inside a ms

Re: [PATCH v2] drm/bridge: display-connector: implement the error path of .probe()

2024-12-14 Thread Laurent Pinchart
Hi Joe, Thank you for the patch. On Sat, Dec 14, 2024 at 10:26:52AM +0900, Joe Hattori wrote: > Current implementation of .probe() leaks a reference of i2c_adapter. > Implement an error path and call put_device() on the obtained > i2c_adapter in it to fix this refcount bug. > > This bug was foun

Re: [PATCH 2/2] drm/nouveau: vendor in drm_encoder_slave API

2024-12-14 Thread Laurent Pinchart
Hi Dmitry, Thank you for the patch. On Sat, Dec 14, 2024 at 05:35:45PM +0200, Dmitry Baryshkov wrote: > Nouveau driver is the only user of the drm_encoder_slave API. Rework > necessary bits of drm_encoder_slave into the nouveau_i2c_encoder API and > drop drm_encoder_slave.c from the DRM KMS helpe

Re: [PATCH 1/2] drm/nouveau: incorporate I2C TV encoder drivers

2024-12-14 Thread Laurent Pinchart
Hi Dmitry, Thank you for the patch. On Sat, Dec 14, 2024 at 05:35:44PM +0200, Dmitry Baryshkov wrote: > Chrontel CH7006 and Silicon Image sil164 drivers use drm_encoder_slave > interface which is being used only by the nouveau driver. It doesn't > make sense to keep this interface inside the DRM

Re: [PATCH v3 09/14] drm/msm/dp: use msm_dp_utils_pack_sdp_header() for audio packets

2024-12-14 Thread Abhinav Kumar
On 12/12/2024 4:28 PM, Dmitry Baryshkov wrote: On Fri, 13 Dec 2024 at 01:53, Abhinav Kumar wrote: On 12/12/2024 2:28 PM, Dmitry Baryshkov wrote: On Thu, 12 Dec 2024 at 23:41, Abhinav Kumar wrote: On 12/11/2024 3:41 PM, Dmitry Baryshkov wrote: Use msm_dp_utils_pack_sdp_header() and

[PATCH 1/2] drm/nouveau: incorporate I2C TV encoder drivers

2024-12-14 Thread Dmitry Baryshkov
Chrontel CH7006 and Silicon Image sil164 drivers use drm_encoder_slave interface which is being used only by the nouveau driver. It doesn't make sense to keep this interface inside the DRM subsystem. In preparation to moving this set of helpers to the nouveau driver, move the only two I2C driver th

[PATCH 2/2] drm/nouveau: vendor in drm_encoder_slave API

2024-12-14 Thread Dmitry Baryshkov
Nouveau driver is the only user of the drm_encoder_slave API. Rework necessary bits of drm_encoder_slave into the nouveau_i2c_encoder API and drop drm_encoder_slave.c from the DRM KMS helper. Suggested-by: Laurent Pinchart Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/Makefile

[PATCH 0/2] drm/nouveau: remove drm_encoder_slave interface

2024-12-14 Thread Dmitry Baryshkov
m/nouveau/include}/i2c/sil164.h | 0 drivers/gpu/drm/nouveau/nouveau_connector.c| 6 +- drivers/gpu/drm/nouveau/nouveau_encoder.h | 13 +-- 18 files changed, 155 insertions(+), 219 deletions(-) --- base-commit: 4176cf5c5651c33769de83bb61b0287f4ec7719f change-id: 20241214

Re: [PATCH v2] drm/bridge: display-connector: implement the error path of .probe()

2024-12-14 Thread Dmitry Baryshkov
On Sat, Dec 14, 2024 at 10:26:52AM +0900, Joe Hattori wrote: > Current implementation of .probe() leaks a reference of i2c_adapter. > Implement an error path and call put_device() on the obtained > i2c_adapter in it to fix this refcount bug. > > This bug was found by an experimental static analysi

[PATCH v2] drm/bridge: display-connector: implement the error path of .probe()

2024-12-14 Thread Joe Hattori
Current implementation of .probe() leaks a reference of i2c_adapter. Implement an error path and call put_device() on the obtained i2c_adapter in it to fix this refcount bug. This bug was found by an experimental static analysis tool that I am developing. Fixes: 0c275c30176b ("drm/bridge: Add bri

Re: [PATCH] drm/bridge: display-connector: implement the error path of .probe()

2024-12-14 Thread Joe Hattori
Hi Laurent, Thank you for your review. On Fri, Dec 13, 2024 at 6:33 PM Laurent Pinchart wrote: > > Hi Joe, > > Thank you for the patch. > > On Fri, Dec 13, 2024 at 05:15:50PM +0900, Joe Hattori wrote: > > Current implementation of .probe() leaks a reference of i2c_adapter. > > Implement an error

[PATCH v2 4/5] drm/connector: make mode_valid_ctx take a const struct drm_display_mode

2024-12-14 Thread Dmitry Baryshkov
The mode_valid() callbacks of drm_encoder, drm_crtc and drm_bridge take a const struct drm_display_mode argument. Change the mode_valid_ctx callback of drm_connector to also take a const argument. Acked-by: Jani Nikula Reviewed-by: Laurent Pinchart Signed-off-by: Dmitry Baryshkov --- drivers/g

[PATCH v2 5/5] drm/connector: make mode_valid take a const struct drm_display_mode

2024-12-14 Thread Dmitry Baryshkov
The mode_valid() callbacks of drm_encoder, drm_crtc and drm_bridge take a const struct drm_display_mode argument. Change the mode_valid callback of drm_connector to also take a const argument. Acked-by: Jani Nikula Reviewed-by: Liviu Dudau Reviewed-by: Raphael Gallais-Pou Reviewed-by: Laurent P

[PATCH v2 2/5] drm/amdgpu: don't change mode in amdgpu_dm_connector_mode_valid()

2024-12-14 Thread Dmitry Baryshkov
Make amdgpu_dm_connector_mode_valid() duplicate the mode during the test rather than modifying the passed mode. This is a preparation to converting the mode_valid() callback of drm_connector to take a const struct drm_display_mode argument. Reviewed-by: Laurent Pinchart Signed-off-by: Dmitry Bary

[PATCH v2 3/5] drm/sti: hda: pass const struct drm_display_mode* to hda_get_mode_idx()

2024-12-14 Thread Dmitry Baryshkov
Make hda_get_mode_idx() take a const struct drm_display_mode pointer instead of just raw struct drm_display_mode. This is a preparation to converting the mode_valid() callback of drm_connector to take a const struct drm_display_mode argument. Acked-by: Raphael Gallais-Pou Reviewed-by: Laurent Pin

[PATCH v2 1/5] drm/encoder_slave: make mode_valid accept const struct drm_display_mode

2024-12-14 Thread Dmitry Baryshkov
The mode_valid() callbacks of drm_encoder, drm_crtc and drm_bridge accept const struct drm_display_mode argument. Change the mode_valid callback of drm_encoder_slave to also accept const argument. Reviewed-by: Laurent Pinchart Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/i2c/ch7006_drv.c

[PATCH v2 0/5] drm/connector: make mode_valid() callback accept const mode pointer

2024-12-14 Thread Dmitry Baryshkov
While working on the generic mode_valid() implementation for the HDMI Connector framework I noticed that unlike other DRM objects drm_connector accepts non-const pointer to struct drm_display_mode, while obviously mode_valid() isn't expected to modify the argument. Mass-change the DRM framework co

[PATCH v6 16/16] drm/rockchip: vop2: Add support for rk3576

2024-12-14 Thread Andy Yan
From: Andy Yan VOP2 on rk3576: Three video ports: VP0 Max 4096x2160 VP1 Max 2560x1600 VP2 Max 1920x1080 2 4K Cluster windows with AFBC/RFBC, line RGB and YUV 4 Esmart windows with line RGB/YUV support: Esmart0/1: 4K Esmart2/3: 2k, or worked together as a single 4K plane at shared line buffer mod

[PATCH v6 15/16] dt-bindings: display: vop2: Add rk3576 support

2024-12-14 Thread Andy Yan
From: Andy Yan Add vop found on rk3576, the main difference between rk3576 and the previous vop is that each VP has its own interrupt line. Signed-off-by: Andy Yan Reviewed-by: Krzysztof Kozlowski --- (no changes since v3) Changes in v3: - ordered by soc name - Add description for newly add

[PATCH v6 14/16] drm/rockchip: vop2: Add uv swap for cluster window

2024-12-14 Thread Andy Yan
From: Andy Yan The Cluster windows of upcoming VOP on rk3576 also support linear YUV support, we need to set uv swap bit for it. As the VOP2_WIN_UV_SWA register defined on rk3568/rk3588 is 0x, so this register will not be touched on these two platforms. Signed-off-by: Andy Yan Tested-b

[PATCH v6 13/16] drm/rockchip: vop2: Set plane possible crtcs by possible vp mask

2024-12-14 Thread Andy Yan
From: Andy Yan In the upcoming VOP of rk3576, a window cannot attach to all Video Ports, we introduce a possible_vp_mask for every window to indicate which Video Ports this window can attach to. Signed-off-by: Andy Yan Tested-by: Michael Riesch # on RK3568 Tested-by: Detlev Casanova --- (no

[PATCH v6 12/16] drm/rockchip: vop2: Register the primary plane and overlay plane separately

2024-12-14 Thread Andy Yan
From: Andy Yan In the upcoming VOP of rk3576, a Window cannot attach to all Video Ports, so make sure all VP find it's suitable primary plane, then register the remain windows as overlay plane will make code easier. Signed-off-by: Andy Yan Tested-by: Michael Riesch # on RK3568 Tested-by: Detle

[PATCH v6 11/16] drm/rockchip: vop2: Introduce vop hardware version

2024-12-14 Thread Andy Yan
From: Andy Yan There is a version number hardcoded in the VOP VERSION_INFO register, and the version number increments sequentially based on the production order of the SOC. So using this version number to distinguish different VOP features will simplify the code. Signed-off-by: Andy Yan Teste

[PATCH v6 03/16] drm/rockchip: vop2: Set AXI id for rk3588

2024-12-14 Thread Andy Yan
From: Andy Yan There are two AXI bus in vop2, windows attached on the same bus must have a unique channel YUV and RGB channel ID. The default IDs will conflict with each other on the rk3588, so they need to be reassigned. Fixes: 5a028e8f062f ("drm/rockchip: vop2: Add support for rk3588") Signed

[PATCH v6 05/16] drm/rockchip: vop2: Check linear format for Cluster windows on rk3566/8

2024-12-14 Thread Andy Yan
From: Andy Yan The Cluster windows on rk3566/8 only support afbc mode. Fixes: 604be85547ce ("drm/rockchip: Add VOP2 driver") Signed-off-by: Andy Yan --- Changes in v6: - Move the linear check to format_mod_supported() hook Changes in v5: - Added in V5 drivers/gpu/drm/rockchip/rockchip_drm_

[PATCH v6 07/16] drm/rockchip: vop2: include rockchip_drm_drv.h

2024-12-14 Thread Andy Yan
From: Min-Hua Chen Move rockchip_drm_drv.h in rockchip_drm_vop2.h to fix the follow sparse warning: ARCH=arm64 LLVM=1 make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' mrproper defconfig all -j12 drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:502:24: sparse: warning: symbol 'vop2_platform_dri

[PATCH v6 08/16] drm/rockchip: vop2: Support 32x8 superblock afbc

2024-12-14 Thread Andy Yan
From: Andy Yan This is the only afbc format supported by the upcoming VOP for rk3576. Add support for it. Signed-off-by: Andy Yan Tested-by: Michael Riesch # on RK3568 Tested-by: Detlev Casanova --- (no changes since v2) Changes in v2: - split it from main patch add support for rk3576 d

[PATCH v6 04/16] drm/rockchip: vop2: Setup delay cycle for Esmart2/3

2024-12-14 Thread Andy Yan
From: Andy Yan Each layer needs to set the correct delay cycle to display properly without unexpected offset on screen. Fixes: 5a028e8f062f ("drm/rockchip: vop2: Add support for rk3588") Signed-off-by: Andy Yan Tested-by: Derek Foreman --- (no changes since v1) drivers/gpu/drm/rockchip/rock

[PATCH v6 10/16] drm/rockchip: vop2: Support for different layer select configuration between VPs

2024-12-14 Thread Andy Yan
From: Andy Yan In the upcoming VOP for rk3576, every VP has it's own LAYER_SEL register, and the configuration value of each VP for the same window maybe different, so extend the layer_sel_id to array, let it can descption the layer select configuration value for different VP. Signed-off-by: And

[PATCH v6 09/16] drm/rockchip: vop2: Add platform specific callback

2024-12-14 Thread Andy Yan
From: Andy Yan The VOP interface mux, overlay, background delay cycle configuration of different SOC are much different. Add platform specific callback ops to let the core driver look cleaner and more refined. Signed-off-by: Andy Yan Tested-by: Michael Riesch # on RK3568 Tested-by: Detlev Casa

[PATCH v6 01/16] drm/rockchip: vop2: Add debugfs support

2024-12-14 Thread Andy Yan
From: Andy Yan /sys/kernel/debug/dri/vop2/summary: dump vop display state /sys/kernel/debug/dri/vop2/regs: dump whole vop registers /sys/kernel/debug/dri/vop2/active_regs: only dump the registers of activated modules Reviewed-by: Sascha Hauer Signed-off-by: Andy Yan Tested-by: Michael Riesch

[PATCH v6 00/16] VOP Support for rk3576

2024-12-14 Thread Andy Yan
From: Andy Yan Thanks for the basic work from Collabora, I can bringup a HDMI display out on rk3576. PATCH 1 is a carryover from the working when add support for rk3588[0], is very usefull when some people want me help debug some issue online, so I really hope it can be merged at th

[PATCH v6 06/16] drm/rockchip: vop2: Add check for 32 bpp format for rk3588

2024-12-14 Thread Andy Yan
From: Andy Yan RK3588 only support DRM_FORMAT_XRGB2101010/XBGR2101010 in afbc mode. Fixes: 5a028e8f062f ("drm/rockchip: vop2: Add support for rk3588") Signed-off-by: Andy Yan --- Changes in v6: - Move 32 bpp check to format_mod_supported() hook Changes in v5: - Added in V5 drivers/gpu/drm/

[PATCH v6 02/16] drm/rockchip: vop2: Fix the windows switch between different layers

2024-12-14 Thread Andy Yan
From: Andy Yan Every layer of vop2 should bind a window, and we also need to make sure that this window is not used by other layer. 0x5 is a reserved layer sel value on rk3568, but it will select Cluster3 on rk3588, configure unused layers to 0x5 will lead alpha blending error on rk3588. When

[PATCH v6 09/16] drm/rockchip: vop2: Add platform specific callback

2024-12-14 Thread Andy Yan
From: Andy Yan The VOP interface mux, overlay, background delay cycle configuration of different SOC are much different. Add platform specific callback ops to let the core driver look cleaner and more refined. Signed-off-by: Andy Yan Tested-by: Michael Riesch # on RK3568 Tested-by: Detlev Casa

[PATCH v6 02/16] drm/rockchip: vop2: Fix the windows switch between different layers

2024-12-14 Thread Andy Yan
From: Andy Yan Every layer of vop2 should bind a window, and we also need to make sure that this window is not used by other layer. 0x5 is a reserved layer sel value on rk3568, but it will select Cluster3 on rk3588, configure unused layers to 0x5 will lead alpha blending error on rk3588. When

[PATCH v6 08/16] drm/rockchip: vop2: Support 32x8 superblock afbc

2024-12-14 Thread Andy Yan
From: Andy Yan This is the only afbc format supported by the upcoming VOP for rk3576. Add support for it. Signed-off-by: Andy Yan Tested-by: Michael Riesch # on RK3568 Tested-by: Detlev Casanova --- (no changes since v2) Changes in v2: - split it from main patch add support for rk3576 d

[PATCH v6 04/16] drm/rockchip: vop2: Setup delay cycle for Esmart2/3

2024-12-14 Thread Andy Yan
From: Andy Yan Each layer needs to set the correct delay cycle to display properly without unexpected offset on screen. Fixes: 5a028e8f062f ("drm/rockchip: vop2: Add support for rk3588") Signed-off-by: Andy Yan Tested-by: Derek Foreman --- (no changes since v1) drivers/gpu/drm/rockchip/rock

[PATCH v6 01/16] drm/rockchip: vop2: Add debugfs support

2024-12-14 Thread Andy Yan
From: Andy Yan /sys/kernel/debug/dri/vop2/summary: dump vop display state /sys/kernel/debug/dri/vop2/regs: dump whole vop registers /sys/kernel/debug/dri/vop2/active_regs: only dump the registers of activated modules Reviewed-by: Sascha Hauer Signed-off-by: Andy Yan Tested-by: Michael Riesch

[PATCH v6 07/16] drm/rockchip: vop2: include rockchip_drm_drv.h

2024-12-14 Thread Andy Yan
From: Min-Hua Chen Move rockchip_drm_drv.h in rockchip_drm_vop2.h to fix the follow sparse warning: ARCH=arm64 LLVM=1 make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' mrproper defconfig all -j12 drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:502:24: sparse: warning: symbol 'vop2_platform_dri

[PATCH v6 03/16] drm/rockchip: vop2: Set AXI id for rk3588

2024-12-14 Thread Andy Yan
From: Andy Yan There are two AXI bus in vop2, windows attached on the same bus must have a unique channel YUV and RGB channel ID. The default IDs will conflict with each other on the rk3588, so they need to be reassigned. Fixes: 5a028e8f062f ("drm/rockchip: vop2: Add support for rk3588") Signed

[PATCH v6 10/16] drm/rockchip: vop2: Support for different layer select configuration between VPs

2024-12-14 Thread Andy Yan
From: Andy Yan In the upcoming VOP for rk3576, every VP has it's own LAYER_SEL register, and the configuration value of each VP for the same window maybe different, so extend the layer_sel_id to array, let it can descption the layer select configuration value for different VP. Signed-off-by: And

[PATCH v6 00/16] VOP Support for rk3576

2024-12-14 Thread Andy Yan
From: Andy Yan Thanks for the basic work from Collabora, I can bringup a HDMI display out on rk3576. PATCH 1 is a carryover from the working when add support for rk3588[0], is very usefull when some people want me help debug some issue online, so I really hope it can be merged at th

[PATCH v6 05/16] drm/rockchip: vop2: Check linear format for Cluster windows on rk3566/8

2024-12-14 Thread Andy Yan
From: Andy Yan The Cluster windows on rk3566/8 only support afbc mode. Fixes: 604be85547ce ("drm/rockchip: Add VOP2 driver") Signed-off-by: Andy Yan --- Changes in v6: - Move the linear check to format_mod_supported() hook Changes in v5: - Added in V5 drivers/gpu/drm/rockchip/rockchip_drm_

[PATCH v6 06/16] drm/rockchip: vop2: Add check for 32 bpp format for rk3588

2024-12-14 Thread Andy Yan
From: Andy Yan RK3588 only support DRM_FORMAT_XRGB2101010/XBGR2101010 in afbc mode. Fixes: 5a028e8f062f ("drm/rockchip: vop2: Add support for rk3588") Signed-off-by: Andy Yan --- Changes in v6: - Move 32 bpp check to format_mod_supported() hook Changes in v5: - Added in V5 drivers/gpu/drm/

Re:Re: [PATCH v5 05/18] drm/rockchip: vop2: Set AXI id for rk3588

2024-12-14 Thread Andy Yan
Hi Detlev, At 2024-12-14 02:34:03, "Detlev Casanova" wrote: >On Thursday, 12 December 2024 02:52:34 EST Andy Yan wrote: >> Hi Detlev, >> >> At 2024-12-11 23:45:01, "Detlev Casanova" >wrote: >> >On Wednesday, 11 December 2024 01:34:34 EST Andy Yan wrote: >> >> Hi Detlev, >> >> >> >> At 2024-12