On Mon, 10 Mar 2025, Yongbang Shi <shiyongbang@xxxxxxxxxx> wrote: > @@ -15,11 +15,17 @@ > > static int hibmc_dp_connector_get_modes(struct drm_connector *connector) > { > + struct hibmc_dp *dp = to_hibmc_dp(connector); > + const struct drm_edid *drm_edid; > int count; > > - count = drm_add_modes_noedid(connector, connector->dev->mode_config.max_width, > - connector->dev->mode_config.max_height); > - drm_set_preferred_mode(connector, 1024, 768); // temporary implementation > + drm_edid = drm_edid_read_ddc(connector, &dp->aux.ddc); drm_edid_read() should cover this if connector->ddc is set properly... > @@ -103,8 +125,8 @@ int hibmc_dp_init(struct hibmc_drm_private *priv) > > drm_encoder_helper_add(encoder, &hibmc_dp_encoder_helper_funcs); > > - ret = drm_connector_init(dev, connector, &hibmc_dp_conn_funcs, > - DRM_MODE_CONNECTOR_DisplayPort); > + ret = drm_connector_init_with_ddc(dev, connector, &hibmc_dp_conn_funcs, > + DRM_MODE_CONNECTOR_DisplayPort, &dp->aux.ddc); ...which you seem to do here. BR, Jani. -- Jani Nikula, Intel