[v5,10/13] drm/ast: Acquire I/O-register lock in DDC code
Sui Jingfeng
sui.jingfeng at linux.dev
Wed Mar 20 17:42:29 UTC 2024
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 at suse.de>
Reviewed-by: Sui Jingfeng <sui.jingfeng at linux.dev>
Tested-by: Sui Jingfeng <sui.jingfeng at linux.dev>
--
Best regards,
Sui
More information about the dri-devel
mailing list