Message ID | 1502458107-28852-2-git-send-email-shashank.sharma@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, 2017-08-11 at 18:58 +0530, Shashank Sharma wrote: > Our current logic to read LSPCON's current mode, stops retries and > breaks wait-loop, if it gets LSPCON_MODE_INVALID as return from the > core function. This doesn't allow us to try reading the mode again. > > This patch removes this condition and allows retries reading > the currnt mode until timeout. > > This also fixes/prevents some of the noise in form of debug messages > while running IGT CI test cases. > > Cc: Imre Deak <imre.deak@intel.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> > Signed-off-by: Mahesh Kumar <Mahesh1.kumar@intel.com> > --- > drivers/gpu/drm/i915/intel_lspcon.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_lspcon.c b/drivers/gpu/drm/i915/intel_lspcon.c > index 8413a4c..e64a336 100644 > --- a/drivers/gpu/drm/i915/intel_lspcon.c > +++ b/drivers/gpu/drm/i915/intel_lspcon.c > @@ -118,14 +118,13 @@ static enum drm_lspcon_mode lspcon_wait_mode(struct intel_lspcon *lspcon, > enum drm_lspcon_mode current_mode; > > current_mode = lspcon_get_current_mode(lspcon); > - if (current_mode == mode || current_mode == DRM_LSPCON_MODE_INVALID) > + if (current_mode == mode) > goto out; > > DRM_DEBUG_KMS("Waiting for LSPCON mode %s to settle\n", > lspcon_mode_name(mode)); > > - wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode || > - current_mode == DRM_LSPCON_MODE_INVALID, 100); > + wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 100); Doesn't this do the job of retries that you are adding in patch 1/2 ? > if (current_mode != mode) > DRM_DEBUG_KMS("LSPCON mode hasn't settled\n"); >
On Fri, Aug 11, 2017 at 06:58:27PM +0530, Shashank Sharma wrote: > Our current logic to read LSPCON's current mode, stops retries and > breaks wait-loop, if it gets LSPCON_MODE_INVALID as return from the > core function. This doesn't allow us to try reading the mode again. > > This patch removes this condition and allows retries reading > the currnt mode until timeout. > > This also fixes/prevents some of the noise in form of debug messages > while running IGT CI test cases. > > Cc: Imre Deak <imre.deak@intel.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> > Signed-off-by: Mahesh Kumar <Mahesh1.kumar@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com> > --- > drivers/gpu/drm/i915/intel_lspcon.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_lspcon.c b/drivers/gpu/drm/i915/intel_lspcon.c > index 8413a4c..e64a336 100644 > --- a/drivers/gpu/drm/i915/intel_lspcon.c > +++ b/drivers/gpu/drm/i915/intel_lspcon.c > @@ -118,14 +118,13 @@ static enum drm_lspcon_mode lspcon_wait_mode(struct intel_lspcon *lspcon, > enum drm_lspcon_mode current_mode; > > current_mode = lspcon_get_current_mode(lspcon); > - if (current_mode == mode || current_mode == DRM_LSPCON_MODE_INVALID) > + if (current_mode == mode) > goto out; > > DRM_DEBUG_KMS("Waiting for LSPCON mode %s to settle\n", > lspcon_mode_name(mode)); > > - wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode || > - current_mode == DRM_LSPCON_MODE_INVALID, 100); > + wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 100); > if (current_mode != mode) > DRM_DEBUG_KMS("LSPCON mode hasn't settled\n"); > > -- > 2.7.4 >
On Tue, Aug 15, 2017 at 12:21:14AM +0000, Pandiyan, Dhinakaran wrote: > On Fri, 2017-08-11 at 18:58 +0530, Shashank Sharma wrote: > > Our current logic to read LSPCON's current mode, stops retries and > > breaks wait-loop, if it gets LSPCON_MODE_INVALID as return from the > > core function. This doesn't allow us to try reading the mode again. > > > > This patch removes this condition and allows retries reading > > the currnt mode until timeout. > > > > This also fixes/prevents some of the noise in form of debug messages > > while running IGT CI test cases. > > > > Cc: Imre Deak <imre.deak@intel.com> > > Cc: Daniel Vetter <daniel.vetter@intel.com> > > Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> > > Signed-off-by: Mahesh Kumar <Mahesh1.kumar@intel.com> > > --- > > drivers/gpu/drm/i915/intel_lspcon.c | 5 ++--- > > 1 file changed, 2 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_lspcon.c b/drivers/gpu/drm/i915/intel_lspcon.c > > index 8413a4c..e64a336 100644 > > --- a/drivers/gpu/drm/i915/intel_lspcon.c > > +++ b/drivers/gpu/drm/i915/intel_lspcon.c > > @@ -118,14 +118,13 @@ static enum drm_lspcon_mode lspcon_wait_mode(struct intel_lspcon *lspcon, > > enum drm_lspcon_mode current_mode; > > > > current_mode = lspcon_get_current_mode(lspcon); > > - if (current_mode == mode || current_mode == DRM_LSPCON_MODE_INVALID) > > + if (current_mode == mode) > > goto out; > > > > DRM_DEBUG_KMS("Waiting for LSPCON mode %s to settle\n", > > lspcon_mode_name(mode)); > > > > - wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode || > > - current_mode == DRM_LSPCON_MODE_INVALID, 100); > > + wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 100); > > Doesn't this do the job of retries that you are adding in patch 1/2 ? No that's a workaround for a different issue, where the adaptor is initially in LS mode, but switches on its own to PCON mode after some delay. > > > if (current_mode != mode) > > DRM_DEBUG_KMS("LSPCON mode hasn't settled\n"); > > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Regards Shashank On 8/15/2017 5:51 AM, Pandiyan, Dhinakaran wrote: > On Fri, 2017-08-11 at 18:58 +0530, Shashank Sharma wrote: >> Our current logic to read LSPCON's current mode, stops retries and >> breaks wait-loop, if it gets LSPCON_MODE_INVALID as return from the >> core function. This doesn't allow us to try reading the mode again. >> >> This patch removes this condition and allows retries reading >> the currnt mode until timeout. >> >> This also fixes/prevents some of the noise in form of debug messages >> while running IGT CI test cases. >> >> Cc: Imre Deak <imre.deak@intel.com> >> Cc: Daniel Vetter <daniel.vetter@intel.com> >> Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> >> Signed-off-by: Mahesh Kumar <Mahesh1.kumar@intel.com> >> --- >> drivers/gpu/drm/i915/intel_lspcon.c | 5 ++--- >> 1 file changed, 2 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/intel_lspcon.c b/drivers/gpu/drm/i915/intel_lspcon.c >> index 8413a4c..e64a336 100644 >> --- a/drivers/gpu/drm/i915/intel_lspcon.c >> +++ b/drivers/gpu/drm/i915/intel_lspcon.c >> @@ -118,14 +118,13 @@ static enum drm_lspcon_mode lspcon_wait_mode(struct intel_lspcon *lspcon, >> enum drm_lspcon_mode current_mode; >> >> current_mode = lspcon_get_current_mode(lspcon); >> - if (current_mode == mode || current_mode == DRM_LSPCON_MODE_INVALID) >> + if (current_mode == mode) >> goto out; >> >> DRM_DEBUG_KMS("Waiting for LSPCON mode %s to settle\n", >> lspcon_mode_name(mode)); >> >> - wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode || >> - current_mode == DRM_LSPCON_MODE_INVALID, 100); >> + wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 100); > Doesn't this do the job of retries that you are adding in patch 1/2 ? I think Imre has responded on this comment already, and explained better than me :) - Shashank >> if (current_mode != mode) >> DRM_DEBUG_KMS("LSPCON mode hasn't settled\n"); >>
diff --git a/drivers/gpu/drm/i915/intel_lspcon.c b/drivers/gpu/drm/i915/intel_lspcon.c index 8413a4c..e64a336 100644 --- a/drivers/gpu/drm/i915/intel_lspcon.c +++ b/drivers/gpu/drm/i915/intel_lspcon.c @@ -118,14 +118,13 @@ static enum drm_lspcon_mode lspcon_wait_mode(struct intel_lspcon *lspcon, enum drm_lspcon_mode current_mode; current_mode = lspcon_get_current_mode(lspcon); - if (current_mode == mode || current_mode == DRM_LSPCON_MODE_INVALID) + if (current_mode == mode) goto out; DRM_DEBUG_KMS("Waiting for LSPCON mode %s to settle\n", lspcon_mode_name(mode)); - wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode || - current_mode == DRM_LSPCON_MODE_INVALID, 100); + wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 100); if (current_mode != mode) DRM_DEBUG_KMS("LSPCON mode hasn't settled\n");