@@ -974,28 +974,32 @@ static const struct drm_bridge_funcs sti_hdmi_bridge_funcs = {
974
974
975
975
static int sti_hdmi_connector_get_modes (struct drm_connector * connector )
976
976
{
977
+ const struct drm_display_info * info = & connector -> display_info ;
977
978
struct sti_hdmi_connector * hdmi_connector
978
979
= to_sti_hdmi_connector (connector );
979
980
struct sti_hdmi * hdmi = hdmi_connector -> hdmi ;
980
- struct edid * edid ;
981
+ const struct drm_edid * drm_edid ;
981
982
int count ;
982
983
983
984
DRM_DEBUG_DRIVER ("\n" );
984
985
985
- edid = drm_get_edid (connector , hdmi -> ddc_adapt );
986
- if (! edid )
987
- goto fail ;
986
+ drm_edid = drm_edid_read (connector );
987
+
988
+ drm_edid_connector_update ( connector , drm_edid ) ;
988
989
989
- cec_notifier_set_phys_addr_from_edid (hdmi -> notifier , edid );
990
+ cec_notifier_set_phys_addr (hdmi -> notifier ,
991
+ connector -> display_info .source_physical_address );
992
+
993
+ if (!drm_edid )
994
+ goto fail ;
990
995
991
- count = drm_add_edid_modes (connector , edid );
992
- drm_connector_update_edid_property (connector , edid );
996
+ count = drm_edid_connector_add_modes (connector );
993
997
994
998
DRM_DEBUG_KMS ("%s : %dx%d cm\n" ,
995
- ( connector -> display_info . is_hdmi ? "hdmi monitor" : "dvi monitor" ) ,
996
- edid -> width_cm , edid -> height_cm );
999
+ info -> is_hdmi ? "hdmi monitor" : "dvi monitor" ,
1000
+ info -> width_mm / 10 , info -> height_mm / 10 );
997
1001
998
- kfree ( edid );
1002
+ drm_edid_free ( drm_edid );
999
1003
return count ;
1000
1004
1001
1005
fail :
0 commit comments