[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