On Thu, Oct 20, 2016 at 07:31:53PM -0700, Manasi Navare wrote: > Hi Ville, > > I have implemented the code that we discussed where if the link training > fails, it would validate the modes on the new constraints and call > an atomic helper like drm_atomic_helper_connector_modeset() to redo > a modeset for the same mode. The two patches for this implemnetation is > are: > > http://paste.ubuntu.com/23357104/ > http://paste.ubuntu.com/23357105/ > > With this I can successfully trigger the modeset and retrain the link > at lower link rate. But I am getting a warning during intel_audio_codec_enable() > in intel_enable_ddi() during the commit phase on SKL. > Following is the dmesg log: > > http://paste.ubuntu.com/23357075/ > > After further looking at it, I see that this calls drm_select_eld() function > that throws a warning if the mode_config mutex and modeset locks are held. You get the warn when they're *not* held. And checking for the mode_config.mutex here looks like a bug. We call that during a modeset, so if we get there through the atomic ioctl as opposed to a legacy setcrtc we will not be holding the mode_config.mutex. Walking the connector list with just the connection mutex should be safe in theory. Although last I looked it was still racy as hell, but as I said, in theory. We could probably drop the connector list walk from there entirely since we should know exactly which connector's eld we want. > If I remove those WARN_ONs from there, I can get rid of this warning and > everything works smoothly. > > Do you know if those WARN_ONs are required because these locks would be grabbed > when we are in modeset. > > Regards > Manasi -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx