* [PATCH 1/2] drm/i915/audio: clarify HD audio documentation wrt modeset @ 2015-07-02 13:05 Jani Nikula 2015-07-02 13:05 ` [PATCH 2/2] drm/i915/hotplug: document the hotplug handling in the driver Jani Nikula 0 siblings, 1 reply; 5+ messages in thread From: Jani Nikula @ 2015-07-02 13:05 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula Clarify that audio enable/disable sequences are part of the modeset sequence. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/intel_audio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_audio.c b/drivers/gpu/drm/i915/intel_audio.c index 3da9b8409f20..dc32cf4585f8 100644 --- a/drivers/gpu/drm/i915/intel_audio.c +++ b/drivers/gpu/drm/i915/intel_audio.c @@ -41,7 +41,8 @@ * * The disable sequences must be performed before disabling the transcoder or * port. The enable sequences may only be performed after enabling the - * transcoder and port, and after completed link training. + * transcoder and port, and after completed link training. Therefore the audio + * enable/disable sequences are part of the modeset sequence. * * The codec and controller sequences could be done either parallel or serial, * but generally the ELDV/PD change in the codec sequence indicates to the audio -- 2.1.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] drm/i915/hotplug: document the hotplug handling in the driver 2015-07-02 13:05 [PATCH 1/2] drm/i915/audio: clarify HD audio documentation wrt modeset Jani Nikula @ 2015-07-02 13:05 ` Jani Nikula 2015-07-04 14:45 ` shuang.he 2015-07-06 6:56 ` Sivakumar Thulasimani 0 siblings, 2 replies; 5+ messages in thread From: Jani Nikula @ 2015-07-02 13:05 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula Add an overview of the drm/i915 hotplug handling. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- Documentation/DocBook/drm.tmpl | 5 +++++ drivers/gpu/drm/i915/intel_hotplug.c | 39 ++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/Documentation/DocBook/drm.tmpl b/Documentation/DocBook/drm.tmpl index c0312cbd023d..e82205ee3d5f 100644 --- a/Documentation/DocBook/drm.tmpl +++ b/Documentation/DocBook/drm.tmpl @@ -4045,6 +4045,11 @@ int num_ioctls;</synopsis> </para> </sect2> <sect2> + <title>Hotplug</title> +!Pdrivers/gpu/drm/i915/intel_hotplug.c Hotplug +!Idrivers/gpu/drm/i915/intel_hotplug.c + </sect2> + <sect2> <title>High Definition Audio</title> !Pdrivers/gpu/drm/i915/intel_audio.c High Definition Audio over HDMI and Display Port !Idrivers/gpu/drm/i915/intel_audio.c diff --git a/drivers/gpu/drm/i915/intel_hotplug.c b/drivers/gpu/drm/i915/intel_hotplug.c index 3c53aac71d98..bac91a158ca2 100644 --- a/drivers/gpu/drm/i915/intel_hotplug.c +++ b/drivers/gpu/drm/i915/intel_hotplug.c @@ -29,6 +29,45 @@ #include "i915_drv.h" #include "intel_drv.h" +/** + * DOC: Hotplug + * + * Simply put, hotplug occurs when a display is connected to or disconnected + * from the system. However, there may be adapters and docking stations and + * Display Port short pulses and MST devices involved, complicating matters. + * + * Hotplug in i915 is handled in many different levels of abstraction. + * + * The platform dependent interrupt handling code in i915_irq.c enables, + * disables, and does preliminary handling of the interrupts. The interrupt + * handlers gather the hotplug detect (HPD) information from relevant registers + * into a platform independent mask of hotplug pins that have fired. + * + * The platform independent interrupt handler intel_hpd_irq_handler() in + * intel_hotplug.c does hotplug irq storm detection and mitigation, and passes + * further processing to appropriate bottom halves (Display Port specific and + * regular hotplug). + * + * The Display Port work function i915_digport_work_func() calls into + * intel_dp_hpd_pulse() via hooks, which handles DP short pulses and DP MST long + * pulses, with failures and non-MST long pulses triggering regular hotplug + * processing on the connector. + * + * The regular hotplug work function i915_hotplug_work_func() calls connector + * detect hooks, and, if connector status changes, triggers sending of hotplug + * uevent to userspace via drm_kms_helper_hotplug_event(). + * + * Finally, the userspace is responsible for triggering a modeset upon receiving + * the hotplug uevent, disabling or enabling the crtc as needed. + * + * The hotplug interrupt storm detection and mitigation code keeps track of the + * number of interrupts per hotplug pin per a period of time, and if the number + * of interrupts exceeds a certain threshold, the interrupt is disabled for a + * while before being re-enabled. The intention is to mitigate issues raising + * from broken hardware triggering massive amounts of interrupts and grinding + * the system to a halt. + */ + enum port intel_hpd_pin_to_port(enum hpd_pin pin) { switch (pin) { -- 2.1.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] drm/i915/hotplug: document the hotplug handling in the driver 2015-07-02 13:05 ` [PATCH 2/2] drm/i915/hotplug: document the hotplug handling in the driver Jani Nikula @ 2015-07-04 14:45 ` shuang.he 2015-07-06 6:56 ` Sivakumar Thulasimani 1 sibling, 0 replies; 5+ messages in thread From: shuang.he @ 2015-07-04 14:45 UTC (permalink / raw) To: shuang.he, lei.a.liu, intel-gfx, jani.nikula Tested-By: Intel Graphics QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com) Task id: 6708 -------------------------------------Summary------------------------------------- Platform Delta drm-intel-nightly Series Applied ILK 302/302 302/302 SNB 312/316 312/316 IVB 343/343 343/343 BYT -3 287/287 284/287 HSW 380/380 380/380 -------------------------------------Detailed------------------------------------- Platform Test drm-intel-nightly Series Applied *BYT igt@gem_partial_pwrite_pread@reads PASS(1) FAIL(1) *BYT igt@gem_partial_pwrite_pread@reads-display PASS(1) FAIL(1) *BYT igt@gem_partial_pwrite_pread@reads-uncached PASS(1) FAIL(1) Note: You need to pay more attention to line start with '*' _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] drm/i915/hotplug: document the hotplug handling in the driver 2015-07-02 13:05 ` [PATCH 2/2] drm/i915/hotplug: document the hotplug handling in the driver Jani Nikula 2015-07-04 14:45 ` shuang.he @ 2015-07-06 6:56 ` Sivakumar Thulasimani 2015-07-06 9:36 ` Daniel Vetter 1 sibling, 1 reply; 5+ messages in thread From: Sivakumar Thulasimani @ 2015-07-06 6:56 UTC (permalink / raw) To: Jani Nikula, intel-gfx On 7/2/2015 6:35 PM, Jani Nikula wrote: > Add an overview of the drm/i915 hotplug handling. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > --- > Documentation/DocBook/drm.tmpl | 5 +++++ > drivers/gpu/drm/i915/intel_hotplug.c | 39 ++++++++++++++++++++++++++++++++++++ > 2 files changed, 44 insertions(+) > > diff --git a/Documentation/DocBook/drm.tmpl b/Documentation/DocBook/drm.tmpl > index c0312cbd023d..e82205ee3d5f 100644 > --- a/Documentation/DocBook/drm.tmpl > +++ b/Documentation/DocBook/drm.tmpl > @@ -4045,6 +4045,11 @@ int num_ioctls;</synopsis> > </para> > </sect2> > <sect2> > + <title>Hotplug</title> > +!Pdrivers/gpu/drm/i915/intel_hotplug.c Hotplug > +!Idrivers/gpu/drm/i915/intel_hotplug.c > + </sect2> > + <sect2> > <title>High Definition Audio</title> > !Pdrivers/gpu/drm/i915/intel_audio.c High Definition Audio over HDMI and Display Port > !Idrivers/gpu/drm/i915/intel_audio.c > diff --git a/drivers/gpu/drm/i915/intel_hotplug.c b/drivers/gpu/drm/i915/intel_hotplug.c > index 3c53aac71d98..bac91a158ca2 100644 > --- a/drivers/gpu/drm/i915/intel_hotplug.c > +++ b/drivers/gpu/drm/i915/intel_hotplug.c > @@ -29,6 +29,45 @@ > #include "i915_drv.h" > #include "intel_drv.h" > > +/** > + * DOC: Hotplug > + * > + * Simply put, hotplug occurs when a display is connected to or disconnected > + * from the system. However, there may be adapters and docking stations and > + * Display Port short pulses and MST devices involved, complicating matters. > + * > + * Hotplug in i915 is handled in many different levels of abstraction. > + * > + * The platform dependent interrupt handling code in i915_irq.c enables, > + * disables, and does preliminary handling of the interrupts. The interrupt > + * handlers gather the hotplug detect (HPD) information from relevant registers > + * into a platform independent mask of hotplug pins that have fired. > + * > + * The platform independent interrupt handler intel_hpd_irq_handler() in > + * intel_hotplug.c does hotplug irq storm detection and mitigation, and passes > + * further processing to appropriate bottom halves (Display Port specific and > + * regular hotplug). > + * > + * The Display Port work function i915_digport_work_func() calls into > + * intel_dp_hpd_pulse() via hooks, which handles DP short pulses and DP MST long > + * pulses, with failures and non-MST long pulses triggering regular hotplug > + * processing on the connector. > + * > + * The regular hotplug work function i915_hotplug_work_func() calls connector > + * detect hooks, and, if connector status changes, triggers sending of hotplug > + * uevent to userspace via drm_kms_helper_hotplug_event(). > + * > + * Finally, the userspace is responsible for triggering a modeset upon receiving > + * the hotplug uevent, disabling or enabling the crtc as needed. > + * > + * The hotplug interrupt storm detection and mitigation code keeps track of the > + * number of interrupts per hotplug pin per a period of time, and if the number > + * of interrupts exceeds a certain threshold, the interrupt is disabled for a > + * while before being re-enabled. The intention is to mitigate issues raising > + * from broken hardware triggering massive amounts of interrupts and grinding > + * the system to a halt. > + */ > + > enum port intel_hpd_pin_to_port(enum hpd_pin pin) > { > switch (pin) { can we add that HPD storm is not expected in case of Displayport as discussed in other thread and so is not handled in i915_digport_work_func ? -- regards, Sivakumar _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] drm/i915/hotplug: document the hotplug handling in the driver 2015-07-06 6:56 ` Sivakumar Thulasimani @ 2015-07-06 9:36 ` Daniel Vetter 0 siblings, 0 replies; 5+ messages in thread From: Daniel Vetter @ 2015-07-06 9:36 UTC (permalink / raw) To: Sivakumar Thulasimani; +Cc: Jani Nikula, intel-gfx On Mon, Jul 06, 2015 at 12:26:15PM +0530, Sivakumar Thulasimani wrote: > > > On 7/2/2015 6:35 PM, Jani Nikula wrote: > >Add an overview of the drm/i915 hotplug handling. > > > >Signed-off-by: Jani Nikula <jani.nikula@intel.com> > >--- > > Documentation/DocBook/drm.tmpl | 5 +++++ > > drivers/gpu/drm/i915/intel_hotplug.c | 39 ++++++++++++++++++++++++++++++++++++ > > 2 files changed, 44 insertions(+) > > > >diff --git a/Documentation/DocBook/drm.tmpl b/Documentation/DocBook/drm.tmpl > >index c0312cbd023d..e82205ee3d5f 100644 > >--- a/Documentation/DocBook/drm.tmpl > >+++ b/Documentation/DocBook/drm.tmpl > >@@ -4045,6 +4045,11 @@ int num_ioctls;</synopsis> > > </para> > > </sect2> > > <sect2> > >+ <title>Hotplug</title> > >+!Pdrivers/gpu/drm/i915/intel_hotplug.c Hotplug > >+!Idrivers/gpu/drm/i915/intel_hotplug.c > >+ </sect2> > >+ <sect2> > > <title>High Definition Audio</title> > > !Pdrivers/gpu/drm/i915/intel_audio.c High Definition Audio over HDMI and Display Port > > !Idrivers/gpu/drm/i915/intel_audio.c > >diff --git a/drivers/gpu/drm/i915/intel_hotplug.c b/drivers/gpu/drm/i915/intel_hotplug.c > >index 3c53aac71d98..bac91a158ca2 100644 > >--- a/drivers/gpu/drm/i915/intel_hotplug.c > >+++ b/drivers/gpu/drm/i915/intel_hotplug.c > >@@ -29,6 +29,45 @@ > > #include "i915_drv.h" > > #include "intel_drv.h" > >+/** > >+ * DOC: Hotplug > >+ * > >+ * Simply put, hotplug occurs when a display is connected to or disconnected > >+ * from the system. However, there may be adapters and docking stations and > >+ * Display Port short pulses and MST devices involved, complicating matters. > >+ * > >+ * Hotplug in i915 is handled in many different levels of abstraction. > >+ * > >+ * The platform dependent interrupt handling code in i915_irq.c enables, > >+ * disables, and does preliminary handling of the interrupts. The interrupt > >+ * handlers gather the hotplug detect (HPD) information from relevant registers > >+ * into a platform independent mask of hotplug pins that have fired. > >+ * > >+ * The platform independent interrupt handler intel_hpd_irq_handler() in > >+ * intel_hotplug.c does hotplug irq storm detection and mitigation, and passes > >+ * further processing to appropriate bottom halves (Display Port specific and > >+ * regular hotplug). > >+ * > >+ * The Display Port work function i915_digport_work_func() calls into > >+ * intel_dp_hpd_pulse() via hooks, which handles DP short pulses and DP MST long > >+ * pulses, with failures and non-MST long pulses triggering regular hotplug > >+ * processing on the connector. > >+ * > >+ * The regular hotplug work function i915_hotplug_work_func() calls connector > >+ * detect hooks, and, if connector status changes, triggers sending of hotplug > >+ * uevent to userspace via drm_kms_helper_hotplug_event(). > >+ * > >+ * Finally, the userspace is responsible for triggering a modeset upon receiving > >+ * the hotplug uevent, disabling or enabling the crtc as needed. > >+ * > >+ * The hotplug interrupt storm detection and mitigation code keeps track of the > >+ * number of interrupts per hotplug pin per a period of time, and if the number > >+ * of interrupts exceeds a certain threshold, the interrupt is disabled for a > >+ * while before being re-enabled. The intention is to mitigate issues raising > >+ * from broken hardware triggering massive amounts of interrupts and grinding > >+ * the system to a halt. > >+ */ > >+ > > enum port intel_hpd_pin_to_port(enum hpd_pin pin) > > { > > switch (pin) { > can we add that HPD storm is not expected in case of Displayport as > discussed in other thread and > so is not handled in i915_digport_work_func ? Good suggestion, but Jani's on vacation now for a few weeks. Can you pls submit a follow-up patch to add that? I've merged these two meanwhile. Thanks, Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-07-06 9:33 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-07-02 13:05 [PATCH 1/2] drm/i915/audio: clarify HD audio documentation wrt modeset Jani Nikula 2015-07-02 13:05 ` [PATCH 2/2] drm/i915/hotplug: document the hotplug handling in the driver Jani Nikula 2015-07-04 14:45 ` shuang.he 2015-07-06 6:56 ` Sivakumar Thulasimani 2015-07-06 9:36 ` Daniel Vetter
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox