On 12/30/2016 2:18 AM, Daniel Vetter wrote:
I just learned that &struct_name.member_name works and looks pretty even. It doesn't (yet) link to the member directly though, which would be really good for big structures or vfunc tables (where the per-member kerneldoc tends to be long).
Also some minor drive-by polish where it makes sense, I read a lot of docs ...
Cc: Archit Taneja architt@codeaurora.org Cc: Jani Nikula jani.nikula@linux.intel.com Cc: Chris Wilson chris@chris-wilson.co.uk Signed-off-by: Daniel Vetter daniel.vetter@intel.com
drivers/gpu/drm/drm_bridge.c | 27 +++++++++++-------------- include/drm/drm_bridge.h | 48 +++++++++++++++++++++++++------------------- 2 files changed, 39 insertions(+), 36 deletions(-)
diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c index ae5e57ad718c..86a7637ba344 100644 --- a/drivers/gpu/drm/drm_bridge.c +++ b/drivers/gpu/drm/drm_bridge.c @@ -55,7 +55,7 @@
- just provide additional hooks to get the desired output at the end of the
- encoder chain.
- Bridges can also be chained up using the next pointer in &struct drm_bridge.
*/
- Bridges can also be chained up using the &drm_bridge.next pointer.
- Both legacy CRTC helpers and the new atomic modeset helpers support bridges.
@@ -179,7 +179,7 @@ void drm_bridge_detach(struct drm_bridge *bridge)
- @mode: desired mode to be set for the bridge
- @adjusted_mode: updated mode that works for this bridge
- Calls ->mode_fixup() &drm_bridge_funcs op for all the bridges in the
- Calls &drm_bridge_funcs.mode_fixup for all the bridges in the
- encoder chain, starting from the first bridge to the last.
- Note: the bridge passed should be the one closest to the encoder
@@ -206,11 +206,10 @@ bool drm_bridge_mode_fixup(struct drm_bridge *bridge, EXPORT_SYMBOL(drm_bridge_mode_fixup);
/**
- drm_bridge_disable - calls ->disable() &drm_bridge_funcs op for all
bridges in the encoder chain.
- drm_bridge_disable - disables all bridges in the encoder chain
- @bridge: bridge control structure
- Calls ->disable() &drm_bridge_funcs op for all the bridges in the encoder
- Calls &drm_bridge_funcs.disable op for all the bridges in the encoder
- chain, starting from the last bridge to the first. These are called before
- calling the encoder's prepare op.
@@ -229,11 +228,10 @@ void drm_bridge_disable(struct drm_bridge *bridge) EXPORT_SYMBOL(drm_bridge_disable);
/**
- drm_bridge_post_disable - calls ->post_disable() &drm_bridge_funcs op for
all bridges in the encoder chain.
- drm_bridge_post_disable - cleans up after disabling all bridges in the encoder chain
- @bridge: bridge control structure
- Calls ->post_disable() &drm_bridge_funcs op for all the bridges in the
- Calls &drm_bridge_funcs.post_disable op for all the bridges in the
- encoder chain, starting from the first bridge to the last. These are called
- after completing the encoder's prepare op.
@@ -258,7 +256,7 @@ EXPORT_SYMBOL(drm_bridge_post_disable);
- @mode: desired mode to be set for the bridge
- @adjusted_mode: updated mode that works for this bridge
- Calls ->mode_set() &drm_bridge_funcs op for all the bridges in the
- Calls &drm_bridge_funcs.mode_set op for all the bridges in the
- encoder chain, starting from the first bridge to the last.
- Note: the bridge passed should be the one closest to the encoder
@@ -278,11 +276,11 @@ void drm_bridge_mode_set(struct drm_bridge *bridge, EXPORT_SYMBOL(drm_bridge_mode_set);
/**
- drm_bridge_pre_enable - calls ->pre_enable() &drm_bridge_funcs op for all
bridges in the encoder chain.
- drm_bridge_pre_enable - prepares for enabling all
bridges in the encoder chain
- @bridge: bridge control structure
- Calls ->pre_enable() &drm_bridge_funcs op for all the bridges in the encoder
- Calls &drm_bridge_funcs.pre_enable op for all the bridges in the encoder
- chain, starting from the last bridge to the first. These are called
- before calling the encoder's commit op.
@@ -301,11 +299,10 @@ void drm_bridge_pre_enable(struct drm_bridge *bridge) EXPORT_SYMBOL(drm_bridge_pre_enable);
/**
- drm_bridge_enable - calls ->enable() &drm_bridge_funcs op for all bridges
in the encoder chain.
- drm_bridge_enable - enables all bridges in the encoder chain
- @bridge: bridge control structure
- Calls ->enable() &drm_bridge_funcs op for all the bridges in the encoder
- Calls &drm_bridge_funcs.enable op for all the bridges in the encoder
- chain, starting from the first bridge to the last. These are called
- after completing the encoder's commit op.
diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h index d3ca16f4da8f..1595a57dfbf2 100644 --- a/include/drm/drm_bridge.h +++ b/include/drm/drm_bridge.h @@ -87,18 +87,19 @@ struct drm_bridge_funcs { * True if an acceptable configuration is possible, false if the modeset * operation should be rejected. */
- bool (*mode_fixup)(struct drm_bridge *bridge,
const struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode);
- bool (*mode_fixup)(struct drm_bridge *bridge, const struct
drm_display_mode *mode, struct drm_display_mode
*adjusted_mode);
The change above doesn't seem to help with anything. Otherwise:
Reviewed-by: Archit Taneja architt@codeaurora.org
/** * @disable: * * This callback should disable the bridge. It is called right before * the preceding element in the display pipe is disabled. If the * preceding element is a bridge this means it's called before that
* bridge's ->disable() function. If the preceding element is a
* &drm_encoder it's called right before the encoder's ->disable(),
* ->prepare() or ->dpms() hook from &struct drm_encoder_helper_funcs.
* bridge's @disable vfunc. If the preceding element is a &drm_encoder
* it's called right before the &drm_encoder_helper_funcs.disable,
* &drm_encoder_helper_funcs.prepare or &drm_encoder_helper_funcs.dpms
* hook.
- The bridge can assume that the display pipe (i.e. clocks and timing
- signals) feeding it is still running when this callback is called.
@@ -110,12 +111,13 @@ struct drm_bridge_funcs { /** * @post_disable: *
* This callback should disable the bridge. It is called right after
* the preceding element in the display pipe is disabled. If the
* preceding element is a bridge this means it's called after that
* bridge's ->post_disable() function. If the preceding element is a
* &drm_encoder it's called right after the encoder's ->disable(),
* ->prepare() or ->dpms() hook from &struct drm_encoder_helper_funcs.
* This callback should disable the bridge. It is called right after the
* preceding element in the display pipe is disabled. If the preceding
* element is a bridge this means it's called after that bridge's
* @post_disable function. If the preceding element is a &drm_encoder
* it's called right after the encoder's
* &drm_encoder_helper_funcs.disable, &drm_encoder_helper_funcs.prepare
* or &drm_encoder_helper_funcs.dpms hook.
- The bridge must assume that the display pipe (i.e. clocks and timing
- singals) feeding it is no longer running when this callback is
@@ -129,9 +131,11 @@ struct drm_bridge_funcs { * @mode_set: * * This callback should set the given mode on the bridge. It is called
* after the ->mode_set() callback for the preceding element in the
* display pipeline has been called already. The display pipe (i.e.
* clocks and timing signals) is off when this function is called.
* after the @mode_set callback for the preceding element in the display
* pipeline has been called already. If the bridge is the first element
* then this would be &drm_encoder_helper_funcs.mode_set. The display
* pipe (i.e. clocks and timing signals) is off when this function is
*/ void (*mode_set)(struct drm_bridge *bridge, struct drm_display_mode *mode,* called.
@@ -142,9 +146,10 @@ struct drm_bridge_funcs { * This callback should enable the bridge. It is called right before * the preceding element in the display pipe is enabled. If the * preceding element is a bridge this means it's called before that
* bridge's ->pre_enable() function. If the preceding element is a
* &drm_encoder it's called right before the encoder's ->enable(),
* ->commit() or ->dpms() hook from &struct drm_encoder_helper_funcs.
* bridge's @pre_enable function. If the preceding element is a
* &drm_encoder it's called right before the encoder's
* &drm_encoder_helper_funcs.enable, &drm_encoder_helper_funcs.commit or
* &drm_encoder_helper_funcs.dpms hook.
- The display pipe (i.e. clocks and timing signals) feeding this bridge
- will not yet be running when this callback is called. The bridge must
@@ -161,9 +166,10 @@ struct drm_bridge_funcs { * This callback should enable the bridge. It is called right after * the preceding element in the display pipe is enabled. If the * preceding element is a bridge this means it's called after that
* bridge's ->enable() function. If the preceding element is a
* &drm_encoder it's called right after the encoder's ->enable(),
* ->commit() or ->dpms() hook from &struct drm_encoder_helper_funcs.
* bridge's @enable function. If the preceding element is a
* &drm_encoder it's called right after the encoder's
* &drm_encoder_helper_funcs.enable, &drm_encoder_helper_funcs.commit or
* &drm_encoder_helper_funcs.dpms hook.
- The bridge can assume that the display pipe (i.e. clocks and timing
- signals) feeding it is running when this callback is called. This