Register the "qms_enabled" property on RK3588. This property can then be used by userspace to request that a given VRR target frame rate on a CRTC should be achieved through QMS. The common HDMI state helpers implement the actual functionality for this.
Signed-off-by: Nicolas Frattaroli <[email protected]> --- drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c index 2b9432aa8c54..01ed7c18a7e0 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c @@ -521,6 +521,7 @@ struct rockchip_hdmi_qp_cfg { const struct rockchip_hdmi_qp_ctrl_ops *ctrl_ops; const struct dw_hdmi_qp_phy_ops *phy_ops; bool supports_vrr; + bool supports_qms; }; static const struct rockchip_hdmi_qp_cfg rk3576_hdmi_cfg = { @@ -541,6 +542,7 @@ static const struct rockchip_hdmi_qp_cfg rk3588_hdmi_cfg = { .ctrl_ops = &rk3588_hdmi_ctrl_ops, .phy_ops = &rk3588_hdmi_phy_ops, .supports_vrr = true, + .supports_qms = true, }; static const struct of_device_id dw_hdmi_qp_rockchip_dt_ids[] = { @@ -709,6 +711,13 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev, struct device *master, "Failed to attach 'vrr_capable' property\n"); } + if (cfg->supports_qms) { + ret = drm_connector_attach_qms_enabled_property(connector); + if (ret) + return dev_err_probe(hdmi->dev, ret, + "Failed to attach 'qms_enabled' property\n"); + } + return 0; } -- 2.55.0
