[Intel-gfx] [PATCH 18/21] drm/i915: Disable eDP VDD in a delayed work proc instead of synchronously
Keith Packard
keithp at keithp.com
Fri Sep 30 22:56:09 CEST 2011
On Fri, 30 Sep 2011 20:47:00 +0200, Daniel Vetter <daniel at ffwll.ch> wrote:
> A cancel_work might be good here, not point in waking up the cpu for no
> reason. And can you add "panel off timer: " to the deboug output?
No, that's not correct, this is run before turning the panel back on and
must check that enough time has elapsed since it was turned off, which
may have happened in the work proc.
However, you are right in saying that I could call the cancel work
function when the panel is forced off synchronously. I'll add that.
> Like Chris already mentioned, s/struct_mutex/mode_config.mutex/ Maybe also
> move the intel_dp->want_panel_vdd check in here - we need it only here to
> avoid a race with vdd_on. I've almost overlooked it and already started to
> write the complaint about the race ;-)
With the right mutex held, there won't be a race, we just need to check the
value somewhere. Do you still see a race condition that needs to be avoided?
> > @@ -1111,10 +1175,10 @@ intel_dp_dpms(struct drm_encoder *encoder, int mode)
> > intel_dp_start_link_train(intel_dp);
> > if (is_edp(intel_dp))
> > ironlake_edp_panel_on(intel_dp);
> > - ironlake_edp_panel_vdd_off(intel_dp);
> > + ironlake_edp_panel_vdd_off(intel_dp, true);
> > intel_dp_complete_link_train(intel_dp);
> > } else
> > - ironlake_edp_panel_vdd_off(intel_dp);
> > + ironlake_edp_panel_vdd_off(intel_dp, false);
>
> Any reason why one vdd_off is sync while the other isn't?
After the panel is turned on, I want to synchronously turn off the VDD
AUX bits, as that's what the driver did before. That's 'free' because
the panel is on. In the other (failure) path, I don't want to impose a
delay if the application wants to try the mode set again.
--
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20110930/0d46736e/attachment.sig>
More information about the Intel-gfx
mailing list