@@ -176,33 +176,17 @@ struct drm_bridge_funcs {
176176 /**
177177 * @disable:
178178 *
179- * The @disable callback should disable the bridge.
179+ * This callback should disable the bridge. It is called right before
180+ * the preceding element in the display pipe is disabled. If the
181+ * preceding element is a bridge this means it's called before that
182+ * bridge's @disable vfunc. If the preceding element is a &drm_encoder
183+ * it's called right before the &drm_encoder_helper_funcs.disable,
184+ * &drm_encoder_helper_funcs.prepare or &drm_encoder_helper_funcs.dpms
185+ * hook.
180186 *
181187 * The bridge can assume that the display pipe (i.e. clocks and timing
182188 * signals) feeding it is still running when this callback is called.
183189 *
184- *
185- * If the preceding element is a &drm_bridge, then this is called before
186- * that bridge is disabled via one of:
187- *
188- * - &drm_bridge_funcs.disable
189- * - &drm_bridge_funcs.atomic_disable
190- *
191- * If the preceding element of the bridge is a display controller, then
192- * this callback is called before the encoder is disabled via one of:
193- *
194- * - &drm_encoder_helper_funcs.atomic_disable
195- * - &drm_encoder_helper_funcs.prepare
196- * - &drm_encoder_helper_funcs.disable
197- * - &drm_encoder_helper_funcs.dpms
198- *
199- * and the CRTC is disabled via one of:
200- *
201- * - &drm_crtc_helper_funcs.prepare
202- * - &drm_crtc_helper_funcs.atomic_disable
203- * - &drm_crtc_helper_funcs.disable
204- * - &drm_crtc_helper_funcs.dpms.
205- *
206190 * The @disable callback is optional.
207191 *
208192 * NOTE:
@@ -215,34 +199,17 @@ struct drm_bridge_funcs {
215199 /**
216200 * @post_disable:
217201 *
218- * The bridge must assume that the display pipe (i.e. clocks and timing
219- * signals) feeding this bridge is no longer running when the
220- * @post_disable is called.
202+ * This callback should disable the bridge. It is called right after the
203+ * preceding element in the display pipe is disabled. If the preceding
204+ * element is a bridge this means it's called after that bridge's
205+ * @post_disable function. If the preceding element is a &drm_encoder
206+ * it's called right after the encoder's
207+ * &drm_encoder_helper_funcs.disable, &drm_encoder_helper_funcs.prepare
208+ * or &drm_encoder_helper_funcs.dpms hook.
221209 *
222- * This callback should perform all the actions required by the hardware
223- * after it has stopped receiving signals from the preceding element.
224- *
225- * If the preceding element is a &drm_bridge, then this is called after
226- * that bridge is post-disabled (unless marked otherwise by the
227- * @pre_enable_prev_first flag) via one of:
228- *
229- * - &drm_bridge_funcs.post_disable
230- * - &drm_bridge_funcs.atomic_post_disable
231- *
232- * If the preceding element of the bridge is a display controller, then
233- * this callback is called after the encoder is disabled via one of:
234- *
235- * - &drm_encoder_helper_funcs.atomic_disable
236- * - &drm_encoder_helper_funcs.prepare
237- * - &drm_encoder_helper_funcs.disable
238- * - &drm_encoder_helper_funcs.dpms
239- *
240- * and the CRTC is disabled via one of:
241- *
242- * - &drm_crtc_helper_funcs.prepare
243- * - &drm_crtc_helper_funcs.atomic_disable
244- * - &drm_crtc_helper_funcs.disable
245- * - &drm_crtc_helper_funcs.dpms
210+ * The bridge must assume that the display pipe (i.e. clocks and timing
211+ * signals) feeding it is no longer running when this callback is
212+ * called.
246213 *
247214 * The @post_disable callback is optional.
248215 *
@@ -285,30 +252,18 @@ struct drm_bridge_funcs {
285252 /**
286253 * @pre_enable:
287254 *
288- * The display pipe (i.e. clocks and timing signals) feeding this bridge
289- * will not yet be running when the @pre_enable is called.
290- *
291- * This callback should perform all the necessary actions to prepare the
292- * bridge to accept signals from the preceding element.
293- *
294- * If the preceding element is a &drm_bridge, then this is called before
295- * that bridge is pre-enabled (unless marked otherwise by
296- * @pre_enable_prev_first flag) via one of:
297- *
298- * - &drm_bridge_funcs.pre_enable
299- * - &drm_bridge_funcs.atomic_pre_enable
300- *
301- * If the preceding element of the bridge is a display controller, then
302- * this callback is called before the CRTC is enabled via one of:
303- *
304- * - &drm_crtc_helper_funcs.atomic_enable
305- * - &drm_crtc_helper_funcs.commit
306- *
307- * and the encoder is enabled via one of:
255+ * This callback should enable the bridge. It is called right before
256+ * the preceding element in the display pipe is enabled. If the
257+ * preceding element is a bridge this means it's called before that
258+ * bridge's @pre_enable function. If the preceding element is a
259+ * &drm_encoder it's called right before the encoder's
260+ * &drm_encoder_helper_funcs.enable, &drm_encoder_helper_funcs.commit or
261+ * &drm_encoder_helper_funcs.dpms hook.
308262 *
309- * - &drm_encoder_helper_funcs.atomic_enable
310- * - &drm_encoder_helper_funcs.enable
311- * - &drm_encoder_helper_funcs.commit
263+ * The display pipe (i.e. clocks and timing signals) feeding this bridge
264+ * will not yet be running when this callback is called. The bridge must
265+ * not enable the display link feeding the next bridge in the chain (if
266+ * there is one) when this callback is called.
312267 *
313268 * The @pre_enable callback is optional.
314269 *
@@ -322,31 +277,19 @@ struct drm_bridge_funcs {
322277 /**
323278 * @enable:
324279 *
325- * The @enable callback should enable the bridge.
280+ * This callback should enable the bridge. It is called right after
281+ * the preceding element in the display pipe is enabled. If the
282+ * preceding element is a bridge this means it's called after that
283+ * bridge's @enable function. If the preceding element is a
284+ * &drm_encoder it's called right after the encoder's
285+ * &drm_encoder_helper_funcs.enable, &drm_encoder_helper_funcs.commit or
286+ * &drm_encoder_helper_funcs.dpms hook.
326287 *
327288 * The bridge can assume that the display pipe (i.e. clocks and timing
328289 * signals) feeding it is running when this callback is called. This
329290 * callback must enable the display link feeding the next bridge in the
330291 * chain if there is one.
331292 *
332- * If the preceding element is a &drm_bridge, then this is called after
333- * that bridge is enabled via one of:
334- *
335- * - &drm_bridge_funcs.enable
336- * - &drm_bridge_funcs.atomic_enable
337- *
338- * If the preceding element of the bridge is a display controller, then
339- * this callback is called after the CRTC is enabled via one of:
340- *
341- * - &drm_crtc_helper_funcs.atomic_enable
342- * - &drm_crtc_helper_funcs.commit
343- *
344- * and the encoder is enabled via one of:
345- *
346- * - &drm_encoder_helper_funcs.atomic_enable
347- * - &drm_encoder_helper_funcs.enable
348- * - drm_encoder_helper_funcs.commit
349- *
350293 * The @enable callback is optional.
351294 *
352295 * NOTE:
@@ -359,30 +302,17 @@ struct drm_bridge_funcs {
359302 /**
360303 * @atomic_pre_enable:
361304 *
362- * The display pipe (i.e. clocks and timing signals) feeding this bridge
363- * will not yet be running when the @atomic_pre_enable is called.
364- *
365- * This callback should perform all the necessary actions to prepare the
366- * bridge to accept signals from the preceding element.
367- *
368- * If the preceding element is a &drm_bridge, then this is called before
369- * that bridge is pre-enabled (unless marked otherwise by
370- * @pre_enable_prev_first flag) via one of:
371- *
372- * - &drm_bridge_funcs.pre_enable
373- * - &drm_bridge_funcs.atomic_pre_enable
305+ * This callback should enable the bridge. It is called right before
306+ * the preceding element in the display pipe is enabled. If the
307+ * preceding element is a bridge this means it's called before that
308+ * bridge's @atomic_pre_enable or @pre_enable function. If the preceding
309+ * element is a &drm_encoder it's called right before the encoder's
310+ * &drm_encoder_helper_funcs.atomic_enable hook.
374311 *
375- * If the preceding element of the bridge is a display controller, then
376- * this callback is called before the CRTC is enabled via one of:
377- *
378- * - &drm_crtc_helper_funcs.atomic_enable
379- * - &drm_crtc_helper_funcs.commit
380- *
381- * and the encoder is enabled via one of:
382- *
383- * - &drm_encoder_helper_funcs.atomic_enable
384- * - &drm_encoder_helper_funcs.enable
385- * - &drm_encoder_helper_funcs.commit
312+ * The display pipe (i.e. clocks and timing signals) feeding this bridge
313+ * will not yet be running when this callback is called. The bridge must
314+ * not enable the display link feeding the next bridge in the chain (if
315+ * there is one) when this callback is called.
386316 *
387317 * The @atomic_pre_enable callback is optional.
388318 */
@@ -392,64 +322,35 @@ struct drm_bridge_funcs {
392322 /**
393323 * @atomic_enable:
394324 *
395- * The @atomic_enable callback should enable the bridge.
325+ * This callback should enable the bridge. It is called right after
326+ * the preceding element in the display pipe is enabled. If the
327+ * preceding element is a bridge this means it's called after that
328+ * bridge's @atomic_enable or @enable function. If the preceding element
329+ * is a &drm_encoder it's called right after the encoder's
330+ * &drm_encoder_helper_funcs.atomic_enable hook.
396331 *
397332 * The bridge can assume that the display pipe (i.e. clocks and timing
398333 * signals) feeding it is running when this callback is called. This
399334 * callback must enable the display link feeding the next bridge in the
400335 * chain if there is one.
401336 *
402- * If the preceding element is a &drm_bridge, then this is called after
403- * that bridge is enabled via one of:
404- *
405- * - &drm_bridge_funcs.enable
406- * - &drm_bridge_funcs.atomic_enable
407- *
408- * If the preceding element of the bridge is a display controller, then
409- * this callback is called after the CRTC is enabled via one of:
410- *
411- * - &drm_crtc_helper_funcs.atomic_enable
412- * - &drm_crtc_helper_funcs.commit
413- *
414- * and the encoder is enabled via one of:
415- *
416- * - &drm_encoder_helper_funcs.atomic_enable
417- * - &drm_encoder_helper_funcs.enable
418- * - drm_encoder_helper_funcs.commit
419- *
420337 * The @atomic_enable callback is optional.
421338 */
422339 void (* atomic_enable )(struct drm_bridge * bridge ,
423340 struct drm_atomic_state * state );
424341 /**
425342 * @atomic_disable:
426343 *
427- * The @atomic_disable callback should disable the bridge.
344+ * This callback should disable the bridge. It is called right before
345+ * the preceding element in the display pipe is disabled. If the
346+ * preceding element is a bridge this means it's called before that
347+ * bridge's @atomic_disable or @disable vfunc. If the preceding element
348+ * is a &drm_encoder it's called right before the
349+ * &drm_encoder_helper_funcs.atomic_disable hook.
428350 *
429351 * The bridge can assume that the display pipe (i.e. clocks and timing
430352 * signals) feeding it is still running when this callback is called.
431353 *
432- * If the preceding element is a &drm_bridge, then this is called before
433- * that bridge is disabled via one of:
434- *
435- * - &drm_bridge_funcs.disable
436- * - &drm_bridge_funcs.atomic_disable
437- *
438- * If the preceding element of the bridge is a display controller, then
439- * this callback is called before the encoder is disabled via one of:
440- *
441- * - &drm_encoder_helper_funcs.atomic_disable
442- * - &drm_encoder_helper_funcs.prepare
443- * - &drm_encoder_helper_funcs.disable
444- * - &drm_encoder_helper_funcs.dpms
445- *
446- * and the CRTC is disabled via one of:
447- *
448- * - &drm_crtc_helper_funcs.prepare
449- * - &drm_crtc_helper_funcs.atomic_disable
450- * - &drm_crtc_helper_funcs.disable
451- * - &drm_crtc_helper_funcs.dpms.
452- *
453354 * The @atomic_disable callback is optional.
454355 */
455356 void (* atomic_disable )(struct drm_bridge * bridge ,
@@ -458,34 +359,16 @@ struct drm_bridge_funcs {
458359 /**
459360 * @atomic_post_disable:
460361 *
461- * The bridge must assume that the display pipe (i.e. clocks and timing
462- * signals) feeding this bridge is no longer running when the
463- * @atomic_post_disable is called.
464- *
465- * This callback should perform all the actions required by the hardware
466- * after it has stopped receiving signals from the preceding element .
362+ * This callback should disable the bridge. It is called right after the
363+ * preceding element in the display pipe is disabled. If the preceding
364+ * element is a bridge this means it's called after that bridge's
365+ * @atomic_post_disable or @post_disable function. If the preceding
366+ * element is a &drm_encoder it's called right after the encoder's
367+ * &drm_encoder_helper_funcs.atomic_disable hook .
467368 *
468- * If the preceding element is a &drm_bridge, then this is called after
469- * that bridge is post-disabled (unless marked otherwise by the
470- * @pre_enable_prev_first flag) via one of:
471- *
472- * - &drm_bridge_funcs.post_disable
473- * - &drm_bridge_funcs.atomic_post_disable
474- *
475- * If the preceding element of the bridge is a display controller, then
476- * this callback is called after the encoder is disabled via one of:
477- *
478- * - &drm_encoder_helper_funcs.atomic_disable
479- * - &drm_encoder_helper_funcs.prepare
480- * - &drm_encoder_helper_funcs.disable
481- * - &drm_encoder_helper_funcs.dpms
482- *
483- * and the CRTC is disabled via one of:
484- *
485- * - &drm_crtc_helper_funcs.prepare
486- * - &drm_crtc_helper_funcs.atomic_disable
487- * - &drm_crtc_helper_funcs.disable
488- * - &drm_crtc_helper_funcs.dpms
369+ * The bridge must assume that the display pipe (i.e. clocks and timing
370+ * signals) feeding it is no longer running when this callback is
371+ * called.
489372 *
490373 * The @atomic_post_disable callback is optional.
491374 */
0 commit comments