diff mbox

[14/15] v4l: vsp1: Add BRx dynamic assignment debugging messages

Message ID 20180226214516.11559-15-laurent.pinchart+renesas@ideasonboard.com (mailing list archive)
State New, archived
Headers show

Commit Message

Laurent Pinchart Feb. 26, 2018, 9:45 p.m. UTC
Dynamic assignment of the BRU and BRS to pipelines is prone to
regressions, add messages to make debugging easier. Keep it as a
separate commit to ease removal of those messages once the code will
deem to be completely stable.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 drivers/media/platform/vsp1/vsp1_drm.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Kieran Bingham April 4, 2018, 4:17 p.m. UTC | #1
Hi Laurent,

On 26/02/18 21:45, Laurent Pinchart wrote:
> Dynamic assignment of the BRU and BRS to pipelines is prone to
> regressions, add messages to make debugging easier. Keep it as a
> separate commit to ease removal of those messages once the code will
> deem to be completely stable.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

Not really a review required here so much, so I'll just :

Acked-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

> ---
>  drivers/media/platform/vsp1/vsp1_drm.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/media/platform/vsp1/vsp1_drm.c b/drivers/media/platform/vsp1/vsp1_drm.c
> index 87e31ba0ddf5..521bbc227110 100644
> --- a/drivers/media/platform/vsp1/vsp1_drm.c
> +++ b/drivers/media/platform/vsp1/vsp1_drm.c
> @@ -190,6 +190,10 @@ static int vsp1_du_pipeline_setup_bru(struct vsp1_device *vsp1,
>  
>  		/* Release our BRU if we have one. */
>  		if (pipe->bru) {
> +			dev_dbg(vsp1->dev, "%s: pipe %u: releasing %s\n",
> +				__func__, pipe->lif->index,
> +				BRU_NAME(pipe->bru));
> +
>  			/*
>  			 * The BRU might be acquired by the other pipeline in
>  			 * the next step. We must thus remove it from the list
> @@ -219,6 +223,9 @@ static int vsp1_du_pipeline_setup_bru(struct vsp1_device *vsp1,
>  		if (bru->pipe) {
>  			struct vsp1_drm_pipeline *owner_pipe;
>  
> +			dev_dbg(vsp1->dev, "%s: pipe %u: waiting for %s\n",
> +				__func__, pipe->lif->index, BRU_NAME(bru));
> +
>  			owner_pipe = to_vsp1_drm_pipeline(bru->pipe);
>  			owner_pipe->force_bru_release = true;
>  
> @@ -245,6 +252,9 @@ static int vsp1_du_pipeline_setup_bru(struct vsp1_device *vsp1,
>  				      &pipe->entities);
>  
>  		/* Add the BRU to the pipeline. */
> +		dev_dbg(vsp1->dev, "%s: pipe %u: acquired %s\n",
> +			__func__, pipe->lif->index, BRU_NAME(bru));
> +
>  		pipe->bru = bru;
>  		pipe->bru->pipe = pipe;
>  		pipe->bru->sink = &pipe->output->entity;
> @@ -549,6 +559,10 @@ int vsp1_du_setup_lif(struct device *dev, unsigned int pipe_index,
>  		drm_pipe->du_complete = NULL;
>  		pipe->num_inputs = 0;
>  
> +		dev_dbg(vsp1->dev, "%s: pipe %u: releasing %s\n",
> +			__func__, pipe->lif->index,
> +			BRU_NAME(pipe->bru));
> +
>  		list_del(&pipe->bru->list_pipe);
>  		pipe->bru->pipe = NULL;
>  		pipe->bru = NULL;
>
diff mbox

Patch

diff --git a/drivers/media/platform/vsp1/vsp1_drm.c b/drivers/media/platform/vsp1/vsp1_drm.c
index 87e31ba0ddf5..521bbc227110 100644
--- a/drivers/media/platform/vsp1/vsp1_drm.c
+++ b/drivers/media/platform/vsp1/vsp1_drm.c
@@ -190,6 +190,10 @@  static int vsp1_du_pipeline_setup_bru(struct vsp1_device *vsp1,
 
 		/* Release our BRU if we have one. */
 		if (pipe->bru) {
+			dev_dbg(vsp1->dev, "%s: pipe %u: releasing %s\n",
+				__func__, pipe->lif->index,
+				BRU_NAME(pipe->bru));
+
 			/*
 			 * The BRU might be acquired by the other pipeline in
 			 * the next step. We must thus remove it from the list
@@ -219,6 +223,9 @@  static int vsp1_du_pipeline_setup_bru(struct vsp1_device *vsp1,
 		if (bru->pipe) {
 			struct vsp1_drm_pipeline *owner_pipe;
 
+			dev_dbg(vsp1->dev, "%s: pipe %u: waiting for %s\n",
+				__func__, pipe->lif->index, BRU_NAME(bru));
+
 			owner_pipe = to_vsp1_drm_pipeline(bru->pipe);
 			owner_pipe->force_bru_release = true;
 
@@ -245,6 +252,9 @@  static int vsp1_du_pipeline_setup_bru(struct vsp1_device *vsp1,
 				      &pipe->entities);
 
 		/* Add the BRU to the pipeline. */
+		dev_dbg(vsp1->dev, "%s: pipe %u: acquired %s\n",
+			__func__, pipe->lif->index, BRU_NAME(bru));
+
 		pipe->bru = bru;
 		pipe->bru->pipe = pipe;
 		pipe->bru->sink = &pipe->output->entity;
@@ -549,6 +559,10 @@  int vsp1_du_setup_lif(struct device *dev, unsigned int pipe_index,
 		drm_pipe->du_complete = NULL;
 		pipe->num_inputs = 0;
 
+		dev_dbg(vsp1->dev, "%s: pipe %u: releasing %s\n",
+			__func__, pipe->lif->index,
+			BRU_NAME(pipe->bru));
+
 		list_del(&pipe->bru->list_pipe);
 		pipe->bru->pipe = NULL;
 		pipe->bru = NULL;