Hi, Tested with ast2600 hardware, no obvious problem found yet. dmesg | grep ast ast 0000:09:00.0: VGA not enabled on entry, requesting chip POST ast 0000:09:00.0: Using default configuration ast 0000:09:00.0: AST 2600 detected ast 0000:09:00.0: [drm] Using analog VGA ast 0000:09:00.0: [drm] dram MCLK=396 Mhz type=1 bus_width=16 [drm] Initialized ast 0.1.0 20120228 for 0000:09:00.0 on minor 0 ast 0000:09:00.0: [drm] fb0: astdrmfb frame buffer device On 2024/3/20 17:34, Thomas Zimmermann wrote:
The modeset lock protects the DDC code from concurrent modeset operations, which use the same registers. Move that code from the connector helpers into the DDC helpers .pre_xfer() and .post_xfer(). Both, .pre_xfer() and .post_xfer(), enclose the transfer of data blocks over the I2C channel in the internal I2C function bit_xfer(). Both calls are executed unconditionally if present. Invoking DDC transfers from any where within the driver now takes the lock. Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx>
Reviewed-by: Sui Jingfeng <sui.jingfeng@xxxxxxxxx> Tested-by: Sui Jingfeng <sui.jingfeng@xxxxxxxxx> -- Best regards, Sui