* Solving vlv hpd issues by holding power wells?
@ 2016-04-05 22:01 Lyude
2016-04-06 11:29 ` Ville Syrjälä
0 siblings, 1 reply; 2+ messages in thread
From: Lyude @ 2016-04-05 22:01 UTC (permalink / raw)
To: intel-gfx
Hi. Currently I'm working on a bug in the i915 driver where hotplugging seems to
break if we power on the machine without any connectors attached:
https://bugzilla.redhat.com/show_bug.cgi?id=1277863
So the main cause of the issue seems to be that we're not keeping the right
power wells on for HPD to work. Booting with say, HDMI, seems to result in the
POWER_DOMAIN_AUDIO domain getting ref'd (even when it's unplugged, which seems
to be another bug in the driver I've seen on a few systems at this point), which
stops the entire display domain from being shut off and subsequently keeps hpd
working. Without anything plugged in nothing turns on any power wells and the
hpd is non-functional.
Of course my first thought was to just keep the power wells required for HPD on
for as long as we have HPD enabled in the driver. I'm not entirely sure of how
this can be done though, as disabling hotplugging interrupts is done in a
context where IRQs are disabled and as such it's impossible to grab a reference
to the power domain we need since that requires us to grab a mutex. I don't see
any pre/post uninstall hooks for this either, so just having the power well
turned on and off whenever hpd is toggled doesn't seem very easy.
On top of this, after talking to a few coworkers I'm not sure if holding a power
ref as long as hpd interrupts are enabled is the right solution either, since it
could be costly in terms of power usage. He suggested that I enable polling for
each connector in the situation where all the power domains are disabled, but
having hotplugging disabled doesn't sound right to me either.
So I guess my questions are:
1. Should we be falling back to polling when the required power wells for
hotplug detection aren't enabled, instead of keeping them enabled to make
hotplugging work?
2. If polling isn't the right way to go, what is the best way to go about
keeping a ref to the required power wells and dropping it whenever
hotplugging is disabled?
--
Cheers,
Lyude
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: Solving vlv hpd issues by holding power wells?
2016-04-05 22:01 Solving vlv hpd issues by holding power wells? Lyude
@ 2016-04-06 11:29 ` Ville Syrjälä
0 siblings, 0 replies; 2+ messages in thread
From: Ville Syrjälä @ 2016-04-06 11:29 UTC (permalink / raw)
To: Lyude; +Cc: intel-gfx
On Tue, Apr 05, 2016 at 06:01:54PM -0400, Lyude wrote:
> Hi. Currently I'm working on a bug in the i915 driver where hotplugging seems to
> break if we power on the machine without any connectors attached:
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1277863
>
> So the main cause of the issue seems to be that we're not keeping the right
> power wells on for HPD to work. Booting with say, HDMI, seems to result in the
> POWER_DOMAIN_AUDIO domain getting ref'd (even when it's unplugged, which seems
> to be another bug in the driver I've seen on a few systems at this point), which
> stops the entire display domain from being shut off and subsequently keeps hpd
> working. Without anything plugged in nothing turns on any power wells and the
> hpd is non-functional.
>
> Of course my first thought was to just keep the power wells required for HPD on
> for as long as we have HPD enabled in the driver. I'm not entirely sure of how
> this can be done though, as disabling hotplugging interrupts is done in a
> context where IRQs are disabled and as such it's impossible to grab a reference
> to the power domain we need since that requires us to grab a mutex. I don't see
> any pre/post uninstall hooks for this either, so just having the power well
> turned on and off whenever hpd is toggled doesn't seem very easy.
>
> On top of this, after talking to a few coworkers I'm not sure if holding a power
> ref as long as hpd interrupts are enabled is the right solution either, since it
> could be costly in terms of power usage. He suggested that I enable polling for
> each connector in the situation where all the power domains are disabled, but
> having hotplugging disabled doesn't sound right to me either.
>
> So I guess my questions are:
> 1. Should we be falling back to polling when the required power wells for
> hotplug detection aren't enabled, instead of keeping them enabled to make
> hotplugging work?
> 2. If polling isn't the right way to go, what is the best way to go about
> keeping a ref to the required power wells and dropping it whenever
> hotplugging is disabled?
See https://bugs.freedesktop.org/show_bug.cgi?id=89008 for the
discussion on different options.
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-04-06 11:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-05 22:01 Solving vlv hpd issues by holding power wells? Lyude
2016-04-06 11:29 ` Ville Syrjälä
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox