caps->tps3_supported = false;
        caps->fast_training = false;
        caps->channel_coding = false;
+       caps->alternate_scrambler_reset = false;
 }
 
 void drm_dp_link_caps_copy(struct drm_dp_link_caps *dest,
        dest->tps3_supported = src->tps3_supported;
        dest->fast_training = src->fast_training;
        dest->channel_coding = src->channel_coding;
+       dest->alternate_scrambler_reset = src->alternate_scrambler_reset;
 }
 
 static void drm_dp_link_reset(struct drm_dp_link *link)
        link->caps.fast_training = drm_dp_fast_training_cap(dpcd);
        link->caps.channel_coding = drm_dp_channel_coding_supported(dpcd);
 
+       if (drm_dp_alternate_scrambler_reset_cap(dpcd))
+               link->caps.alternate_scrambler_reset = true;
+
        link->rate = link->max_rate;
        link->lanes = link->max_lanes;
 
 
         * ANSI 8B/10B channel coding capability
         */
        bool channel_coding;
+
+       /**
+        * @alternate_scrambler_reset:
+        *
+        * eDP alternate scrambler reset capability
+        */
+       bool alternate_scrambler_reset;
 };
 
 void drm_dp_link_caps_copy(struct drm_dp_link_caps *dest,