Commit eec8e8c0 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov
Browse files

drm/bridge: document HDMI CEC callbacks



Provide documentation for the drm_bridge callbacks related to the
DRM_BRIDGE_OP_HDMI_CEC_ADAPTER flag.

Fixes: a74288c8 ("drm/display: bridge-connector: handle CEC adapters")
Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
Closes: https://lore.kernel.org/r/20250611140933.1429a1b8@canb.auug.org.au


Reviewed-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20250801-drm-hdmi-cec-docs-v1-1-be63e6008d0e@oss.qualcomm.com


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
parent 58446039
Loading
Loading
Loading
Loading
+48 −0
Original line number Diff line number Diff line
@@ -866,13 +866,61 @@ struct drm_bridge_funcs {
				      struct drm_connector *connector,
				      bool enable, int direction);

	/**
	 * @hdmi_cec_init:
	 *
	 * Initialize CEC part of the bridge.
	 *
	 * This callback is optional, it can be implemented by bridges that
	 * set the @DRM_BRIDGE_OP_HDMI_CEC_ADAPTER flag in their
	 * &drm_bridge->ops.
	 *
	 * Returns:
	 * 0 on success, a negative error code otherwise
	 */
	int (*hdmi_cec_init)(struct drm_bridge *bridge,
			     struct drm_connector *connector);

	/**
	 * @hdmi_cec_enable:
	 *
	 * Enable or disable the CEC adapter inside the bridge.
	 *
	 * This callback is optional, it can be implemented by bridges that
	 * set the @DRM_BRIDGE_OP_HDMI_CEC_ADAPTER flag in their
	 * &drm_bridge->ops.
	 *
	 * Returns:
	 * 0 on success, a negative error code otherwise
	 */
	int (*hdmi_cec_enable)(struct drm_bridge *bridge, bool enable);

	/**
	 * @hdmi_cec_log_addr:
	 *
	 * Set the logical address of the CEC adapter inside the bridge.
	 *
	 * This callback is optional, it can be implemented by bridges that
	 * set the @DRM_BRIDGE_OP_HDMI_CEC_ADAPTER flag in their
	 * &drm_bridge->ops.
	 *
	 * Returns:
	 * 0 on success, a negative error code otherwise
	 */
	int (*hdmi_cec_log_addr)(struct drm_bridge *bridge, u8 logical_addr);

	/**
	 * @hdmi_cec_transmit:
	 *
	 * Transmit the message using the CEC adapter inside the bridge.
	 *
	 * This callback is optional, it can be implemented by bridges that
	 * set the @DRM_BRIDGE_OP_HDMI_CEC_ADAPTER flag in their
	 * &drm_bridge->ops.
	 *
	 * Returns:
	 * 0 on success, a negative error code otherwise
	 */
	int (*hdmi_cec_transmit)(struct drm_bridge *bridge, u8 attempts,
				 u32 signal_free_time, struct cec_msg *msg);