dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Eric Anholt <eric@anholt.net>,
	Martin Peres <martin.peres@linux.intel.com>,
	xorg-devel@lists.x.org
Cc: Manasi Navare <manasi.d.navare@intel.com>,
	dri-devel@lists.freedesktop.org
Subject: Re: [RFC PATCH xserver] modesetting: re-set the crtc's mode when link-status goes BAD
Date: Wed, 01 Feb 2017 12:03:41 +0200	[thread overview]
Message-ID: <87poj21b42.fsf@intel.com> (raw)
In-Reply-To: <87tw8fxa22.fsf@eliezer.anholt.net>

On Tue, 31 Jan 2017, Eric Anholt <eric@anholt.net> wrote:
> Martin Peres <martin.peres@linux.intel.com> writes:
>
>> Despite all the careful planing of the kernel, a link may become
>> insufficient to handle the currently-set mode. At this point, the
>> kernel should mark this particular configuration as being broken
>> and potentially prune the mode before setting the offending connector's
>> link-status to BAD and send the userspace a hotplug event. This may
>> happen right after a modeset or later on.
>>
>> When available, we should use the link-status information to reset
>> the wanted mode.
>>
>> Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
>
> If I understand this right, there are two failure modes being handled:
>
> 1) A mode that won't actually work because the link isn't good enough.
>
> 2) A mode that should work, but link parameters were too optimistic and
> if we just ask the kernel to set the mode again it'll use more
> conservative parameters that work.
>
> This patch seems good for 2).  For 1), the drmmode_set_mode_major is
> going to set our old mode back.  Won't the modeset then fail to link
> train again, and bring us back into this loop?  The only escape that I
> see would be some other userspace responding to the advertised mode list
> changing, and then asking X to modeset to something new.
>
> To avoid that failure busy loop, should we re-fetching modes at this
> point, and only re-setting if our mode still exists?

Disclaimer: I don't know anything about the internals of the modesetting
driver.

Perhaps we can identify the two cases now, but I'd put this more
generally: if the link status has gone bad, it's an indicator to
userspace that the circumstances may have changed, and userspace should
query the kernel for the list of available modes again. It should no
longer trust information obtained prior to getting the bad link status,
including the current mode.

But specifically, I think you're right, and AFAICT asking for the list
of modes again is the only way for the userspace to distinguish between
the two cases. I don't think there's a shortcut for deciding the current
mode is still valid.

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2017-02-01 10:03 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-26 12:37 [RFC PATCH xserver] modesetting: re-set the crtc's mode when link-status goes BAD Martin Peres
2017-01-26 17:21 ` Daniel Vetter
     [not found]   ` <20170126172120.iflf5b5l4m4wsuus-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-01-31 17:08     ` Manasi Navare
2017-02-01 10:17       ` Jani Nikula
2017-01-31 20:13 ` Eric Anholt
2017-02-01 10:03   ` Jani Nikula [this message]
2017-02-01 19:58     ` Eric Anholt
2017-02-01 20:05       ` Manasi Navare
     [not found]         ` <20170201200512.GC21934-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-02-02 23:30           ` Martin Peres
     [not found]             ` <32b846ee-69c5-1dea-eed4-1bc41bb2958f-GANU6spQydw@public.gmane.org>
2017-02-03  0:30               ` Manasi Navare
2017-02-03  8:04             ` Daniel Vetter
     [not found]               ` <20170203080451.vrbmoaioqjyd3hhc-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-02-06 15:50                 ` Martin Peres
     [not found]                   ` <4f8317ff-53e8-4c2d-effa-d074b11b15e6-GANU6spQydw@public.gmane.org>
2017-02-08 16:37                     ` Martin Peres
     [not found]                       ` <069473c6-d75e-48eb-e75d-4e65e201b4fb-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-02-13 21:05                         ` Eric Anholt
2017-02-13 23:14                           ` Manasi Navare
     [not found]                           ` <87k28tkdiq.fsf-omZaPlIz5HhaEpDpdNBo/KxOck334EZe@public.gmane.org>
2017-02-16  7:56                             ` Martin Peres
2017-02-24 20:09                           ` Manasi Navare
2017-02-26 19:42                             ` Daniel Vetter
2017-02-28  4:07                               ` Navare, Manasi D
2017-02-28  8:42                                 ` Daniel Vetter
2017-02-02  9:01       ` Daniel Vetter
2017-02-02 17:57         ` Eric Anholt
2017-02-28  8:43           ` Daniel Vetter
2017-02-01 19:55 ` Manasi Navare
     [not found] ` <20170126123728.5680-1-martin.peres-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-03-27 14:12   ` Martin Peres
2017-03-31  0:37     ` Eric Anholt
2017-03-31  0:50       ` Manasi Navare
2017-03-31 20:08         ` Eric Anholt
     [not found]           ` <87d1cxw6nq.fsf-omZaPlIz5HhaEpDpdNBo/KxOck334EZe@public.gmane.org>
2017-03-31 20:17             ` Manasi Navare
2017-04-01  0:22               ` Eric Anholt
2017-04-02 12:28                 ` Daniel Vetter
     [not found]                   ` <20170402122809.trh7oxzz25oao4bu-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-04-03  2:21                     ` Eric Anholt
     [not found]                       ` <87efxamdt6.fsf-omZaPlIz5HhaEpDpdNBo/KxOck334EZe@public.gmane.org>
2017-04-03  6:25                         ` Manasi Navare
2017-04-03  7:19                           ` Daniel Vetter
2017-04-05 18:13                             ` Manasi Navare
2017-04-06 17:15                         ` Manasi Navare

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87poj21b42.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=eric@anholt.net \
    --cc=manasi.d.navare@intel.com \
    --cc=martin.peres@linux.intel.com \
    --cc=xorg-devel@lists.x.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).