From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Currently the display info is cleared/populated in a very ad-hoc manner. I'd like to make it more robust by making sure it gets cleared by the core forcing drivers to repopulate in .fill_modes(). The bus_formats stuff looks very much ad-hoc all over, so I left that out from consideration for now. The locking around the display info and edid updates looks somewhat busted as well, so I figured I'd sprinkle some lockdep asserts around. That last part probably won't cooperate nicely with amdgpu as they seem to be doing edid updates from the modeset path. So need to think of some way to untangle that mess. Hence this is just an RFC for now. Cc: Alison Wang <alison.wang@xxxxxxxxxxxxx> Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: Archit Taneja <architt@xxxxxxxxxxxxxx> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Eric Anholt <eric@xxxxxxxxxx> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Cc: Harry Wentland <harry.wentland@xxxxxxx> Cc: Keith Packard <keithp@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-renesas-soc@xxxxxxxxxxxxxxx Cc: Manfred Schlaegl <manfred.schlaegl@xxxxxx> Cc: Marek Vasut <marex@xxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Cc: Shashank Sharma <shashank.sharma@xxxxxxxxx> Cc: Stefan Agner <stefan@xxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Ville Syrjälä (11): drm/gma500: Fill display_info.{width,height}_mm from .get_modes() drm/i915: Fill display_info.{width,height}_mm from .get_modes() drm/shmobile: Don't fill display_info.{width,height}_mm at init time drm: Split the display info into static and dynamic parts drm/edid: Clear display info fully drm/edid: Don't call drm_add_display_info() with an invalid EDID drm/probe-helper: Avoid iterating the list twice on ww backoff drm: Add drm_connector_fill_modes() drm: Fix getconnector locking drm: Fix debugfs edid_override locking drm: Sprinkle lockdep asserts for edid/display_info drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 2 +- drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 2 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 2 +- drivers/gpu/drm/bridge/sii902x.c | 2 +- drivers/gpu/drm/bridge/tc358767.c | 2 +- drivers/gpu/drm/drm_connector.c | 70 ++++++++--- drivers/gpu/drm/drm_debugfs.c | 12 +- drivers/gpu/drm/drm_edid.c | 35 +----- drivers/gpu/drm/drm_fb_helper.c | 4 +- drivers/gpu/drm/drm_probe_helper.c | 10 +- drivers/gpu/drm/drm_sysfs.c | 6 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c | 2 +- drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 2 +- drivers/gpu/drm/gma500/cdv_intel_lvds.c | 2 +- drivers/gpu/drm/gma500/mdfld_dsi_output.c | 14 +-- drivers/gpu/drm/gma500/oaktrail_hdmi.c | 2 +- drivers/gpu/drm/gma500/oaktrail_lvds.c | 2 +- drivers/gpu/drm/gma500/psb_intel_lvds.c | 2 +- drivers/gpu/drm/gma500/psb_intel_sdvo.c | 2 +- drivers/gpu/drm/i915/i915_debugfs.c | 2 +- drivers/gpu/drm/i915/intel_dp.c | 15 ++- drivers/gpu/drm/i915/intel_dsi.c | 17 +-- drivers/gpu/drm/i915/intel_dvo.c | 2 +- drivers/gpu/drm/i915/intel_lvds.c | 11 +- drivers/gpu/drm/i915/intel_sdvo.c | 2 +- drivers/gpu/drm/imx/imx-ldb.c | 4 +- drivers/gpu/drm/imx/parallel-display.c | 2 +- drivers/gpu/drm/mxsfb/mxsfb_crtc.c | 6 +- drivers/gpu/drm/panel/panel-arm-versatile.c | 2 +- drivers/gpu/drm/panel/panel-ilitek-ili9322.c | 8 +- drivers/gpu/drm/panel/panel-lvds.c | 4 +- .../gpu/drm/panel/panel-raspberrypi-touchscreen.c | 2 +- drivers/gpu/drm/panel/panel-seiko-43wvf1g.c | 4 +- drivers/gpu/drm/panel/panel-simple.c | 4 +- drivers/gpu/drm/pl111/pl111_display.c | 4 +- drivers/gpu/drm/radeon/radeon_connectors.c | 4 +- drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 2 +- drivers/gpu/drm/shmobile/shmob_drm_crtc.c | 3 - drivers/gpu/drm/sun4i/sun4i_tcon.c | 4 +- drivers/gpu/drm/tve200/tve200_display.c | 2 +- drivers/gpu/drm/vc4/vc4_dpi.c | 4 +- include/drm/drm_connector.h | 128 ++++++++++++--------- include/drm/drm_edid.h | 1 - 43 files changed, 227 insertions(+), 185 deletions(-) -- 2.13.6