From: "Lisovskiy, Stanislav" <stanislav.lisovskiy@intel.com>
To: "daniel@ffwll.ch" <daniel@ffwll.ch>
Cc: "intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>,
"Saarinen, Jani" <jani.saarinen@intel.com>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"Peres, Martin" <martin.peres@intel.com>
Subject: Re: [PATCH v3 0/3] Send a hotplug when edid changes
Date: Mon, 19 Aug 2019 07:23:54 +0000 [thread overview]
Message-ID: <cab2f3a9f9827a993069e402feecc9a9853560a1.camel@intel.com> (raw)
In-Reply-To: <20190807210702.GG7444@phenom.ffwll.local>
On Wed, 2019-08-07 at 23:07 +0200, Daniel Vetter wrote:
> On Wed, Aug 07, 2019 at 07:43:18AM +0000, Lisovskiy, Stanislav wrote:
> > On Tue, 2019-08-06 at 19:43 +0200, Daniel Vetter wrote:
> > > On Tue, Aug 6, 2019 at 4:06 PM Lisovskiy, Stanislav
> > > <stanislav.lisovskiy@intel.com> wrote:
> > > >
> > > > On Tue, 2019-08-06 at 15:51 +0200, Daniel Vetter wrote:
> > > > > On Tue, Aug 06, 2019 at 03:55:48PM +0300, Stanislav Lisovskiy
> > > > > wrote:
> > > > > > This series introduce to drm a way to determine if
> > > > > > something
> > > > > > else
> > > > > > except connection_status had changed during probing, which
> > > > > > can be used by other drivers as well. Another i915 specific
> > > > > > part
> > > > > > uses this approach to determine if edid had changed without
> > > > > > changing the connection status and send a hotplug event.
> > > > >
> > > > > Did you read through the entire huge thread on all this (with
> > > > > I
> > > > > think
> > > > > Paul, Pekka, Ram and some others)? I feel like this is mostly
> > > > > taking
> > > > > that
> > > > > idea, but not taking a lot of the details we've discussed
> > > > > there.
> > > > > Specifically I'm not sure how userspace should handle this
> > > > > without
> > > > > also
> > > > > exposing the epoch counter, or at least generating a hotplug
> > > > > event
> > > > > for the
> > > > > specific connector. All that and more we discussed there.
> > > > >
> > > > > And then there's the follow-up question: What's the userspace
> > > > > for
> > > > > this?
> > > > > Existing expectations are a minefield here, so even if you
> > > > > don't
> > > > > plan
> > > > > to
> > > > > change userspace we need to know what this is aimed for, and
> > > > > see
> > > > > above I
> > > > > don't think this is possible to use without userspace changes
> > > > > ...
> > > >
> > > > Yes, sure I agree about userspace. However I guess we must
> > > > start
> > > > from
> > > > something at least.
> > > > I think I have seen some discussion regarding exposing this
> > > > epoch
> > > > counter as a property. Was even implementing this at some point
> > > > but
> > > > didn't dare to send to mailing list :)
> > > >
> > > > My idea was just to expose this epoch counter as a drm
> > > > property, to
> > > > let
> > > > userspace then to figure out, what has happened, as imho adding
> > > > different events for this and that is a bit of an overkill and
> > > > brings
> > > > additional complexity..
> > >
> > > Adding Ram and link to the (warning, huge!) thread:
> > >
> > >
https://patchwork.freedesktop.org/patch/303905/?series=57232&rev=9
> > >
> > > > However, please let me know, what do you think we should do for
> > > > userspace.
> > >
> > > That seems backwards, since this is an uapi change I'd expect
> > > you're
> > > solving some specific issue in some specific userspace? If we're
> > > doing
> > > this just because I'm not really following.
> >
> > Specifically, I'm solving an issue of changed edid during suspend,
> > like
> > we for example have in kms_chamelium hotplug tests(some of which
> > now
> > fail because of that).
> > So even if connection status hasn't changed, we still need to send
> > hotplug event and userspace needs to be able to understand that
> > something had changed and whether we need to do a full reprobe or
> > not.
> > Epoch counter property would be responsible for this.
> > As I understand in general there might be other connector updates,
> > except edid which we need propagate in a similar way.
>
> So igt isn't valid userspace (it's just good testcases). Can we repro
> the
> same on real userspace? Does this work with real userspace? We've had
> userspace which tries to be clever and filters out what looks like
> redundant hotplug events. And then gets it wrong in cases like this.
>
> Also, we've had forever an unconditional uevent on resume, exactly
> because
> anything could have changed. Did we loose this one on the way
> somewhere?
> Or maybe I misremember ...
>
> If all we care about is resume re-adding that uncondtional uevent on
> resume is going to be a lot easier than this here.
> -Daniel
Sorry for long reply(was on vacation), that is a good question
regarding reproducing this in real life scenario. My obvious guess
was to suspend the machine and meanwhile change connected display to
another one. However this situation seems to be already handled by
kernel nicely(tried few times and we always get a hotplug event). So
that edid change during suspend chamelium test case seems to be
a bit different. I will talk to our guys who wrote this about what is
the real life scenario for this, because I'm now curious as well.
- Stanislav
>
>
> >
> > -Stanislav
> >
> > >
> > > Cheers, Daniel
> > >
> > > >
> > > >
> > > > -Stanislav
> > > >
> > > >
> > > > > -Daniel
> > > > >
> > > > > >
> > > > > > Stanislav Lisovskiy (3):
> > > > > > drm: Add helper to compare edids.
> > > > > > drm: Introduce change counter to drm_connector
> > > > > > drm/i915: Send hotplug event if edid had changed.
> > > > > >
> > > > > > drivers/gpu/drm/drm_connector.c | 1 +
> > > > > > drivers/gpu/drm/drm_edid.c | 33
> > > > > > ++++++++++++++++++++
> > > > > > drivers/gpu/drm/drm_probe_helper.c | 29
> > > > > > +++++++++++++++-
> > > > > > -
> > > > > > drivers/gpu/drm/i915/display/intel_dp.c | 16
> > > > > > +++++++++-
> > > > > > drivers/gpu/drm/i915/display/intel_hdmi.c | 16
> > > > > > ++++++++--
> > > > > > drivers/gpu/drm/i915/display/intel_hotplug.c | 21
> > > > > > ++++++++++
> > > > > > ---
> > > > > > include/drm/drm_connector.h | 3 ++
> > > > > > include/drm/drm_edid.h | 9 ++++++
> > > > > > 8 files changed, 117 insertions(+), 11 deletions(-)
> > > > > >
> > > > > > --
> > > > > > 2.17.1
> > > > > >
> > > > >
> > > > >
> > >
> > >
> > >
>
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2019-08-19 7:23 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-06 12:55 [PATCH v3 0/3] Send a hotplug when edid changes Stanislav Lisovskiy
2019-08-06 12:55 ` [PATCH v3 1/3] drm: Add helper to compare edids Stanislav Lisovskiy
2019-08-06 12:55 ` [PATCH v3 2/3] drm: Introduce change counter to drm_connector Stanislav Lisovskiy
2019-08-06 12:55 ` [PATCH v3 3/3] drm/i915: Send hotplug event if edid had changed Stanislav Lisovskiy
2019-08-06 13:51 ` [PATCH v3 0/3] Send a hotplug when edid changes Daniel Vetter
2019-08-06 14:06 ` Lisovskiy, Stanislav
2019-08-06 17:43 ` Daniel Vetter
2019-08-07 7:43 ` Lisovskiy, Stanislav
2019-08-07 21:07 ` Daniel Vetter
2019-08-19 7:23 ` Lisovskiy, Stanislav [this message]
2019-08-19 7:35 ` Peres, Martin
2019-08-19 9:05 ` Lisovskiy, Stanislav
2019-09-03 9:17 ` Lisovskiy, Stanislav
2019-09-03 9:40 ` Daniel Vetter
2019-09-03 11:49 ` Lisovskiy, Stanislav
2019-09-03 14:21 ` Lisovskiy, Stanislav
2019-09-03 15:49 ` Daniel Vetter
2019-09-04 8:36 ` Lisovskiy, Stanislav
2019-09-04 9:23 ` Daniel Vetter
2019-09-04 10:14 ` Lisovskiy, Stanislav
2019-08-06 14:01 ` ✗ Fi.CI.CHECKPATCH: warning for Send a hotplug when edid changes (rev4) Patchwork
2019-08-06 14:21 ` ✓ Fi.CI.BAT: success " Patchwork
2019-08-07 1:43 ` ✓ Fi.CI.IGT: " Patchwork
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=cab2f3a9f9827a993069e402feecc9a9853560a1.camel@intel.com \
--to=stanislav.lisovskiy@intel.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.saarinen@intel.com \
--cc=martin.peres@intel.com \
/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