Home
last modified time | relevance | path

Searched hist:"66 d58ec0bc659fafcda962a5678dbb3f061d7359" (Results 1 – 2 of 2) sorted by relevance

/linux/drivers/gpu/drm/mgag200/
H A Dmgag200_ddc.cdiff 66d58ec0bc659fafcda962a5678dbb3f061d7359 Mon May 13 14:51:14 CEST 2024 Thomas Zimmermann <tzimmermann@suse.de> drm/mgag200: Acquire I/O-register lock in DDC code

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@suse.de>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240513125620.6337-10-tzimmermann@suse.de
H A Dmgag200_mode.cdiff 66d58ec0bc659fafcda962a5678dbb3f061d7359 Mon May 13 14:51:14 CEST 2024 Thomas Zimmermann <tzimmermann@suse.de> drm/mgag200: Acquire I/O-register lock in DDC code

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@suse.de>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240513125620.6337-10-tzimmermann@suse.de