[Intel-gfx] [PATCH] drm/i915: dsi: fix pipe-off timeout due to port vs. pipe disable ordering

Imre Deak imre.deak at intel.com
Tue May 27 17:53:37 CEST 2014


On Tue, 2014-05-27 at 21:04 +0530, Kumar, Shobhit wrote:
> On 5/27/2014 8:42 PM, Imre Deak wrote:
> > On Tue, 2014-05-27 at 19:45 +0530, Kumar, Shobhit wrote:
> >> On 5/27/2014 6:45 PM, Imre Deak wrote:
> >>> If we disable first the port (by disabling DPI) and only then the
> >>> display pipe the pipe-off flag will never be set, possibly leading to a
> >>> hanged pipe state at the next modeset-enable.
> >>>
> >>> Note that according to the VLV2 display cluster HAS, we should disable
> >>> the port before the pipe. This doesn't seem to match reality based on
> >>> the above and it's also asymmetric with the enabling sequence, where we
> >>> first enable the port and then the pipe.
> >>>
> >>> Signed-off-by: Imre Deak <imre.deak at intel.com>
> >>> ---
> >>>    drivers/gpu/drm/i915/intel_dsi.c | 9 ++++++++-
> >>>    1 file changed, 8 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
> >>> index e73bec6..3756af1 100644
> >>> --- a/drivers/gpu/drm/i915/intel_dsi.c
> >>> +++ b/drivers/gpu/drm/i915/intel_dsi.c
> >>> @@ -206,6 +206,11 @@ static void intel_dsi_enable_nop(struct intel_encoder *encoder)
> >>>    	 */
> >>>    }
> >>>
> >>> +static void intel_dsi_disable_nop(struct intel_encoder *encoder)
> >>> +{
> >>> +	DRM_DEBUG_KMS("\n");
> >>> +}
> >>> +
> >>
> >> Make this as *_pre_disable and the SHUTDOWN command should be sent in
> >> this function. That is the recommended sequence in disable path. First
> >> thing is to shutdown the panel. Remove that bit from the intel_dsi_disable.
> >
> > I tried this, but it results in a "Timeout waiting for DPI FIFO empty"
> > error when sending the SHUTDOWN command. This order would be also
> > asymmetric with the enabling sequence where we first turn on the panel
> > and only then enable the pipe. So I would need more explanation for the
> > above before moving the SHUTDOWN command earlier.
> >
> I think checking DPI FIFO empty before sending DPI commands is wrong. 
> Unless pipe is stopped DPI FIFO will not be empty. Basically we should 
> test for DPI FIFO full in case of error. I was planning to look into 
> that correction.

Ok, makes sense, I'll update the patch.

--Imre

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20140527/4a7b5748/attachment.sig>


More information about the Intel-gfx mailing list