From: Thomas Zimmermann <tzimmermann@suse.de>
To: airlied@redhat.com, jfalempe@redhat.com,
maarten.lankhorst@linux.intel.com, mripard@kernel.org,
jani.nikula@linux.intel.com, airlied@gmail.com, daniel@ffwll.ch
Cc: dri-devel@lists.freedesktop.org, Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH v5 00/13] drm/ast: Detect connector status for VGA and SIL164
Date: Wed, 20 Mar 2024 10:34:05 +0100 [thread overview]
Message-ID: <20240320093738.6341-1-tzimmermann@suse.de> (raw)
Detect the status of the VGA or SIL164 conenctor by polling the DDC
channel. Update the status at runtime and flip the BMC status as well.
Patches 1 adds a missing include statement that will be required to
make later patches compile.
Patches 2 and 3 simplify the VGA and SIL164 connectors, such that no
additional data structure is required. These patches have been reviewed
before as part of the series at [1].
Patches 4 to 10 improve the I2C code that is used to retrieve the
monitor's EDID data. It's now fully managed, it acquires the necessary
lock automatically and it is called DDC, which better represents its
purpose than I2C.
Patches 11 to 13 finally implement polling. Patch 11 updates ast's
EDID code to be up-to-date. The helper drm_connector_get_modes() reads
the EDID via DDC and updates the property. No driver code is required.
Patch 12 uses a similar pattern to detect the presence of the monitor
and sets the connector status accordingly. As polling also needs to be
cleaned up, patch 13 adds the necessary helpers to do so.
Tested on AST2500 hardware and BMC output. The BMC connector now also
flips its status correctly at runtime.
[1] https://patchwork.freedesktop.org/series/104547/
v5:
- share implementation in drm_connector_helper_detect_ctx() (Maxime)
- test for DDC presence with drm_probe_ddc() (Maxime, Jani)
- perform managed cleanup of poll thread
Thomas Zimmermann (13):
drm/ast: Include <linux/of.h> where necessary
drm/ast: Fail probing if DDC channel could not be initialized
drm/ast: Remove struct ast_{vga,sil165}_connector
drm/ast: Allocate instance of struct ast_i2c_chan with managed helpers
drm/ast: Move DDC code to ast_ddc.{c,h}
drm/ast: Rename struct ast_i2c_chan to struct ast_ddc
drm/ast: Pass AST device to ast_ddc_create()
drm/ast: Store AST device in struct ast_ddc
drm/ast: Rename struct i2c_algo_bit_data callbacks and their
parameters
drm/ast: Acquire I/O-register lock in DDC code
drm/ast: Use drm_connector_helper_get_modes()
drm/ast: Implement polling for VGA and SIL164 connectors
drm/ast: Automatically clean up poll helper
drivers/gpu/drm/ast/Makefile | 10 +-
drivers/gpu/drm/ast/{ast_i2c.c => ast_ddc.c} | 120 +++++++++------
drivers/gpu/drm/ast/ast_ddc.h | 20 +++
drivers/gpu/drm/ast/ast_drv.c | 1 +
drivers/gpu/drm/ast/ast_drv.h | 39 +----
drivers/gpu/drm/ast/ast_main.c | 1 +
drivers/gpu/drm/ast/ast_mode.c | 147 +++++--------------
drivers/gpu/drm/drm_probe_helper.c | 56 +++++++
include/drm/drm_probe_helper.h | 5 +
9 files changed, 206 insertions(+), 193 deletions(-)
rename drivers/gpu/drm/ast/{ast_i2c.c => ast_ddc.c} (54%)
create mode 100644 drivers/gpu/drm/ast/ast_ddc.h
--
2.44.0
next reply other threads:[~2024-03-20 9:37 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-20 9:34 Thomas Zimmermann [this message]
2024-03-20 9:34 ` [PATCH v5 01/13] drm/ast: Include <linux/of.h> where necessary Thomas Zimmermann
2024-03-20 17:16 ` [v5,01/13] " Sui Jingfeng
2024-03-20 9:34 ` [PATCH v5 02/13] drm/ast: Fail probing if DDC channel could not be initialized Thomas Zimmermann
2024-03-20 9:34 ` [PATCH v5 03/13] drm/ast: Remove struct ast_{vga,sil165}_connector Thomas Zimmermann
2024-03-20 9:34 ` [PATCH v5 04/13] drm/ast: Allocate instance of struct ast_i2c_chan with managed helpers Thomas Zimmermann
2024-03-20 17:19 ` [v5, " Sui Jingfeng
2024-03-20 9:34 ` [PATCH v5 05/13] drm/ast: Move DDC code to ast_ddc.{c,h} Thomas Zimmermann
2024-03-20 17:21 ` [v5,05/13] " Sui Jingfeng
2024-03-20 9:34 ` [PATCH v5 06/13] drm/ast: Rename struct ast_i2c_chan to struct ast_ddc Thomas Zimmermann
2024-03-20 17:32 ` [v5,06/13] " Sui Jingfeng
2024-03-21 8:13 ` Thomas Zimmermann
2024-03-21 8:48 ` Sui Jingfeng
2024-03-20 9:34 ` [PATCH v5 07/13] drm/ast: Pass AST device to ast_ddc_create() Thomas Zimmermann
2024-03-20 17:34 ` [v5,07/13] " Sui Jingfeng
2024-03-20 9:34 ` [PATCH v5 08/13] drm/ast: Store AST device in struct ast_ddc Thomas Zimmermann
2024-03-20 17:35 ` [v5,08/13] " Sui Jingfeng
2024-03-20 9:34 ` [PATCH v5 09/13] drm/ast: Rename struct i2c_algo_bit_data callbacks and their parameters Thomas Zimmermann
2024-03-20 17:36 ` [v5, " Sui Jingfeng
2024-03-20 9:34 ` [PATCH v5 10/13] drm/ast: Acquire I/O-register lock in DDC code Thomas Zimmermann
2024-03-20 17:42 ` [v5,10/13] " Sui Jingfeng
2024-03-20 9:34 ` [PATCH v5 11/13] drm/ast: Use drm_connector_helper_get_modes() Thomas Zimmermann
2024-03-20 17:44 ` [v5,11/13] " Sui Jingfeng
2024-03-20 9:34 ` [PATCH v5 12/13] drm/ast: Implement polling for VGA and SIL164 connectors Thomas Zimmermann
2024-03-21 8:56 ` [v5,12/13] " Sui Jingfeng
2024-03-21 14:09 ` [PATCH v5 12/13] " Maxime Ripard
2024-03-22 6:40 ` Thomas Zimmermann
2024-03-22 14:27 ` Maxime Ripard
2024-03-22 8:22 ` Sui Jingfeng
2024-03-20 9:34 ` [PATCH v5 13/13] drm/ast: Automatically clean up poll helper Thomas Zimmermann
2024-03-21 8:22 ` kernel test robot
2024-03-21 9:00 ` [v5,13/13] " Sui Jingfeng
2024-03-21 9:57 ` Thomas Zimmermann
2024-03-21 20:57 ` Sui Jingfeng
2024-03-21 13:37 ` [PATCH v5 00/13] drm/ast: Detect connector status for VGA and SIL164 Jocelyn Falempe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240320093738.6341-1-tzimmermann@suse.de \
--to=tzimmermann@suse.de \
--cc=airlied@gmail.com \
--cc=airlied@redhat.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=jfalempe@redhat.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox