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...
Thanks, I got it. I will change it to drm_edid_read() in next patch. I misunderstood what you meant before.
@@ -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.