All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/bridge: ti-sn65dsi86: Clear old error bits before AUX transfers
@ 2020-05-08 23:33 ` Douglas Anderson
  0 siblings, 0 replies; 6+ messages in thread
From: Douglas Anderson @ 2020-05-08 23:33 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Laurent Pinchart
  Cc: linux-arm-msm, seanpaul, robdclark, Douglas Anderson,
	Daniel Vetter, David Airlie, Jernej Skrabec, Jonas Karlman,
	Sandeep Panda, dri-devel, linux-kernel

The AUX channel transfer error bits in the status register are latched
and need to be cleared.  Clear them before doing our transfer so we
don't see old bits and get confused.

Without this patch having a single failure would mean that all future
transfers would look like they failed.

Fixes: b814ec6d4535 ("drm/bridge: ti-sn65dsi86: Implement AUX channel")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/gpu/drm/bridge/ti-sn65dsi86.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
index 6ad688b320ae..d865cc2565bc 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
@@ -827,6 +827,12 @@ static ssize_t ti_sn_aux_transfer(struct drm_dp_aux *aux,
 				     buf[i]);
 	}
 
+	/* Clear old status bits before start so we don't get confused */
+	regmap_write(pdata->regmap, SN_AUX_CMD_STATUS_REG,
+		     AUX_IRQ_STATUS_NAT_I2C_FAIL |
+		     AUX_IRQ_STATUS_AUX_RPLY_TOUT |
+		     AUX_IRQ_STATUS_AUX_SHORT);
+
 	regmap_write(pdata->regmap, SN_AUX_CMD_REG, request_val | AUX_CMD_SEND);
 
 	ret = regmap_read_poll_timeout(pdata->regmap, SN_AUX_CMD_REG, val,
-- 
2.26.2.645.ge9eca65c58-goog


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH] drm/bridge: ti-sn65dsi86: Clear old error bits before AUX transfers
@ 2020-05-08 23:33 ` Douglas Anderson
  0 siblings, 0 replies; 6+ messages in thread
From: Douglas Anderson @ 2020-05-08 23:33 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Laurent Pinchart
  Cc: robdclark, Jernej Skrabec, Jonas Karlman, David Airlie,
	linux-arm-msm, Douglas Anderson, dri-devel, Sandeep Panda,
	seanpaul, linux-kernel

The AUX channel transfer error bits in the status register are latched
and need to be cleared.  Clear them before doing our transfer so we
don't see old bits and get confused.

Without this patch having a single failure would mean that all future
transfers would look like they failed.

Fixes: b814ec6d4535 ("drm/bridge: ti-sn65dsi86: Implement AUX channel")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/gpu/drm/bridge/ti-sn65dsi86.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
index 6ad688b320ae..d865cc2565bc 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
@@ -827,6 +827,12 @@ static ssize_t ti_sn_aux_transfer(struct drm_dp_aux *aux,
 				     buf[i]);
 	}
 
+	/* Clear old status bits before start so we don't get confused */
+	regmap_write(pdata->regmap, SN_AUX_CMD_STATUS_REG,
+		     AUX_IRQ_STATUS_NAT_I2C_FAIL |
+		     AUX_IRQ_STATUS_AUX_RPLY_TOUT |
+		     AUX_IRQ_STATUS_AUX_SHORT);
+
 	regmap_write(pdata->regmap, SN_AUX_CMD_REG, request_val | AUX_CMD_SEND);
 
 	ret = regmap_read_poll_timeout(pdata->regmap, SN_AUX_CMD_REG, val,
-- 
2.26.2.645.ge9eca65c58-goog

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/bridge: ti-sn65dsi86: Clear old error bits before AUX transfers
  2020-05-08 23:33 ` Douglas Anderson
@ 2020-05-15 21:48   ` Rob Clark
  -1 siblings, 0 replies; 6+ messages in thread
From: Rob Clark @ 2020-05-15 21:48 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Andrzej Hajda, Neil Armstrong, Laurent Pinchart, Rob Clark,
	Jernej Skrabec, Jonas Karlman, David Airlie, linux-arm-msm,
	dri-devel, Sandeep Panda, Sean Paul, Linux Kernel Mailing List

On Fri, May 8, 2020 at 4:33 PM Douglas Anderson <dianders@chromium.org> wrote:
>
> The AUX channel transfer error bits in the status register are latched
> and need to be cleared.  Clear them before doing our transfer so we
> don't see old bits and get confused.
>
> Without this patch having a single failure would mean that all future
> transfers would look like they failed.
>
> Fixes: b814ec6d4535 ("drm/bridge: ti-sn65dsi86: Implement AUX channel")
> Signed-off-by: Douglas Anderson <dianders@chromium.org>

Reviewed-by: Rob Clark <robdclark@gmail.com>

> ---
>
>  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> index 6ad688b320ae..d865cc2565bc 100644
> --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> @@ -827,6 +827,12 @@ static ssize_t ti_sn_aux_transfer(struct drm_dp_aux *aux,
>                                      buf[i]);
>         }
>
> +       /* Clear old status bits before start so we don't get confused */
> +       regmap_write(pdata->regmap, SN_AUX_CMD_STATUS_REG,
> +                    AUX_IRQ_STATUS_NAT_I2C_FAIL |
> +                    AUX_IRQ_STATUS_AUX_RPLY_TOUT |
> +                    AUX_IRQ_STATUS_AUX_SHORT);
> +
>         regmap_write(pdata->regmap, SN_AUX_CMD_REG, request_val | AUX_CMD_SEND);
>
>         ret = regmap_read_poll_timeout(pdata->regmap, SN_AUX_CMD_REG, val,
> --
> 2.26.2.645.ge9eca65c58-goog
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/bridge: ti-sn65dsi86: Clear old error bits before AUX transfers
@ 2020-05-15 21:48   ` Rob Clark
  0 siblings, 0 replies; 6+ messages in thread
From: Rob Clark @ 2020-05-15 21:48 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Rob Clark, Jernej Skrabec, Jonas Karlman, David Airlie,
	linux-arm-msm, Neil Armstrong, Sandeep Panda, dri-devel,
	Linux Kernel Mailing List, Andrzej Hajda, Sean Paul,
	Laurent Pinchart

On Fri, May 8, 2020 at 4:33 PM Douglas Anderson <dianders@chromium.org> wrote:
>
> The AUX channel transfer error bits in the status register are latched
> and need to be cleared.  Clear them before doing our transfer so we
> don't see old bits and get confused.
>
> Without this patch having a single failure would mean that all future
> transfers would look like they failed.
>
> Fixes: b814ec6d4535 ("drm/bridge: ti-sn65dsi86: Implement AUX channel")
> Signed-off-by: Douglas Anderson <dianders@chromium.org>

Reviewed-by: Rob Clark <robdclark@gmail.com>

> ---
>
>  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> index 6ad688b320ae..d865cc2565bc 100644
> --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> @@ -827,6 +827,12 @@ static ssize_t ti_sn_aux_transfer(struct drm_dp_aux *aux,
>                                      buf[i]);
>         }
>
> +       /* Clear old status bits before start so we don't get confused */
> +       regmap_write(pdata->regmap, SN_AUX_CMD_STATUS_REG,
> +                    AUX_IRQ_STATUS_NAT_I2C_FAIL |
> +                    AUX_IRQ_STATUS_AUX_RPLY_TOUT |
> +                    AUX_IRQ_STATUS_AUX_SHORT);
> +
>         regmap_write(pdata->regmap, SN_AUX_CMD_REG, request_val | AUX_CMD_SEND);
>
>         ret = regmap_read_poll_timeout(pdata->regmap, SN_AUX_CMD_REG, val,
> --
> 2.26.2.645.ge9eca65c58-goog
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/bridge: ti-sn65dsi86: Clear old error bits before AUX transfers
  2020-05-08 23:33 ` Douglas Anderson
@ 2020-05-18 18:01   ` Sam Ravnborg
  -1 siblings, 0 replies; 6+ messages in thread
From: Sam Ravnborg @ 2020-05-18 18:01 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Andrzej Hajda, Neil Armstrong, Laurent Pinchart, robdclark,
	Jernej Skrabec, Jonas Karlman, David Airlie, linux-arm-msm,
	dri-devel, Sandeep Panda, seanpaul, linux-kernel

On Fri, May 08, 2020 at 04:33:29PM -0700, Douglas Anderson wrote:
> The AUX channel transfer error bits in the status register are latched
> and need to be cleared.  Clear them before doing our transfer so we
> don't see old bits and get confused.
> 
> Without this patch having a single failure would mean that all future
> transfers would look like they failed.
> 
> Fixes: b814ec6d4535 ("drm/bridge: ti-sn65dsi86: Implement AUX channel")
> Signed-off-by: Douglas Anderson <dianders@chromium.org>

Applied.

	Sam

> ---
> 
>  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> index 6ad688b320ae..d865cc2565bc 100644
> --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> @@ -827,6 +827,12 @@ static ssize_t ti_sn_aux_transfer(struct drm_dp_aux *aux,
>  				     buf[i]);
>  	}
>  
> +	/* Clear old status bits before start so we don't get confused */
> +	regmap_write(pdata->regmap, SN_AUX_CMD_STATUS_REG,
> +		     AUX_IRQ_STATUS_NAT_I2C_FAIL |
> +		     AUX_IRQ_STATUS_AUX_RPLY_TOUT |
> +		     AUX_IRQ_STATUS_AUX_SHORT);
> +
>  	regmap_write(pdata->regmap, SN_AUX_CMD_REG, request_val | AUX_CMD_SEND);
>  
>  	ret = regmap_read_poll_timeout(pdata->regmap, SN_AUX_CMD_REG, val,
> -- 
> 2.26.2.645.ge9eca65c58-goog
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/bridge: ti-sn65dsi86: Clear old error bits before AUX transfers
@ 2020-05-18 18:01   ` Sam Ravnborg
  0 siblings, 0 replies; 6+ messages in thread
From: Sam Ravnborg @ 2020-05-18 18:01 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: robdclark, Jernej Skrabec, Jonas Karlman, David Airlie,
	linux-arm-msm, Neil Armstrong, Sandeep Panda, dri-devel,
	linux-kernel, Andrzej Hajda, seanpaul, Laurent Pinchart

On Fri, May 08, 2020 at 04:33:29PM -0700, Douglas Anderson wrote:
> The AUX channel transfer error bits in the status register are latched
> and need to be cleared.  Clear them before doing our transfer so we
> don't see old bits and get confused.
> 
> Without this patch having a single failure would mean that all future
> transfers would look like they failed.
> 
> Fixes: b814ec6d4535 ("drm/bridge: ti-sn65dsi86: Implement AUX channel")
> Signed-off-by: Douglas Anderson <dianders@chromium.org>

Applied.

	Sam

> ---
> 
>  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> index 6ad688b320ae..d865cc2565bc 100644
> --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> @@ -827,6 +827,12 @@ static ssize_t ti_sn_aux_transfer(struct drm_dp_aux *aux,
>  				     buf[i]);
>  	}
>  
> +	/* Clear old status bits before start so we don't get confused */
> +	regmap_write(pdata->regmap, SN_AUX_CMD_STATUS_REG,
> +		     AUX_IRQ_STATUS_NAT_I2C_FAIL |
> +		     AUX_IRQ_STATUS_AUX_RPLY_TOUT |
> +		     AUX_IRQ_STATUS_AUX_SHORT);
> +
>  	regmap_write(pdata->regmap, SN_AUX_CMD_REG, request_val | AUX_CMD_SEND);
>  
>  	ret = regmap_read_poll_timeout(pdata->regmap, SN_AUX_CMD_REG, val,
> -- 
> 2.26.2.645.ge9eca65c58-goog
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-05-18 18:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-08 23:33 [PATCH] drm/bridge: ti-sn65dsi86: Clear old error bits before AUX transfers Douglas Anderson
2020-05-08 23:33 ` Douglas Anderson
2020-05-15 21:48 ` Rob Clark
2020-05-15 21:48   ` Rob Clark
2020-05-18 18:01 ` Sam Ravnborg
2020-05-18 18:01   ` Sam Ravnborg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.