Re: [Freedreno] [PATCH 6/7] drm/msm/dp: Inline dp_link_parse_sink_count()

2023-09-03 Thread Dmitry Baryshkov

On 29/08/2023 21:47, Stephen Boyd wrote:

The function dp_link_parse_sink_count() is really just
drm_dp_read_sink_count(). It debug prints out the bit for content
protection (DP_SINK_CP_READY), but that is not useful beyond debug
because 'link->dp_link.sink_count' is overwritten to only contain the
sink_count in this same function. Just use drm_dp_read_sink_count() in
the one place this function is called to simplify.

Cc: Vinod Polimera 
Cc: Kuogee Hsieh 
Signed-off-by: Stephen Boyd 
---
  drivers/gpu/drm/msm/dp/dp_link.c | 38 +++-
  1 file changed, 3 insertions(+), 35 deletions(-)


Reviewed-by: Dmitry Baryshkov 

--
With best wishes
Dmitry



Re: [Freedreno] [PATCH 6/7] drm/msm/dp: Inline dp_link_parse_sink_count()

2023-08-31 Thread Kuogee Hsieh



On 8/29/2023 11:47 AM, Stephen Boyd wrote:

The function dp_link_parse_sink_count() is really just
drm_dp_read_sink_count(). It debug prints out the bit for content
protection (DP_SINK_CP_READY), but that is not useful beyond debug
because 'link->dp_link.sink_count' is overwritten to only contain the
sink_count in this same function. Just use drm_dp_read_sink_count() in
the one place this function is called to simplify.

Cc: Vinod Polimera 
Cc: Kuogee Hsieh 
Signed-off-by: Stephen Boyd 

Tested-by: Kuogee Hsieh 
Reviewed-by: Kuogee Hsieh 

---
  drivers/gpu/drm/msm/dp/dp_link.c | 38 +++-
  1 file changed, 3 insertions(+), 35 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_link.c b/drivers/gpu/drm/msm/dp/dp_link.c
index 42427129acea..94a37914a47f 100644
--- a/drivers/gpu/drm/msm/dp/dp_link.c
+++ b/drivers/gpu/drm/msm/dp/dp_link.c
@@ -712,49 +712,17 @@ static int dp_link_parse_request(struct dp_link_private 
*link)
return ret;
  }
  
-/**

- * dp_link_parse_sink_count() - parses the sink count
- * @dp_link: pointer to link module data
- *
- * Parses the DPCD to check if there is an update to the sink count
- * (Byte 0x200), and whether all the sink devices connected have Content
- * Protection enabled.
- */
-static int dp_link_parse_sink_count(struct dp_link *dp_link)
-{
-   ssize_t rlen;
-   bool cp_ready;
-
-   struct dp_link_private *link = container_of(dp_link,
-   struct dp_link_private, dp_link);
-
-   rlen = drm_dp_dpcd_readb(link->aux, DP_SINK_COUNT,
->dp_link.sink_count);
-   if (rlen < 0) {
-   DRM_ERROR("sink count read failed. rlen=%zd\n", rlen);
-   return rlen;
-   }
-
-   cp_ready = link->dp_link.sink_count & DP_SINK_CP_READY;
-
-   link->dp_link.sink_count =
-   DP_GET_SINK_COUNT(link->dp_link.sink_count);
-
-   drm_dbg_dp(link->drm_dev, "sink_count = 0x%x, cp_ready = 0x%x\n",
-   link->dp_link.sink_count, cp_ready);
-   return 0;
-}
-
  static int dp_link_parse_sink_status_field(struct dp_link_private *link)
  {
-   int len = 0;
+   int len;
  
  	link->prev_sink_count = link->dp_link.sink_count;

-   len = dp_link_parse_sink_count(>dp_link);
+   len = drm_dp_read_sink_count(link->aux);
if (len < 0) {
DRM_ERROR("DP parse sink count failed\n");
return len;
}
+   link->dp_link.sink_count = len;
  
  	len = drm_dp_dpcd_read_link_status(link->aux,

link->link_status);


[Freedreno] [PATCH 6/7] drm/msm/dp: Inline dp_link_parse_sink_count()

2023-08-29 Thread Stephen Boyd
The function dp_link_parse_sink_count() is really just
drm_dp_read_sink_count(). It debug prints out the bit for content
protection (DP_SINK_CP_READY), but that is not useful beyond debug
because 'link->dp_link.sink_count' is overwritten to only contain the
sink_count in this same function. Just use drm_dp_read_sink_count() in
the one place this function is called to simplify.

Cc: Vinod Polimera 
Cc: Kuogee Hsieh 
Signed-off-by: Stephen Boyd 
---
 drivers/gpu/drm/msm/dp/dp_link.c | 38 +++-
 1 file changed, 3 insertions(+), 35 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_link.c b/drivers/gpu/drm/msm/dp/dp_link.c
index 42427129acea..94a37914a47f 100644
--- a/drivers/gpu/drm/msm/dp/dp_link.c
+++ b/drivers/gpu/drm/msm/dp/dp_link.c
@@ -712,49 +712,17 @@ static int dp_link_parse_request(struct dp_link_private 
*link)
return ret;
 }
 
-/**
- * dp_link_parse_sink_count() - parses the sink count
- * @dp_link: pointer to link module data
- *
- * Parses the DPCD to check if there is an update to the sink count
- * (Byte 0x200), and whether all the sink devices connected have Content
- * Protection enabled.
- */
-static int dp_link_parse_sink_count(struct dp_link *dp_link)
-{
-   ssize_t rlen;
-   bool cp_ready;
-
-   struct dp_link_private *link = container_of(dp_link,
-   struct dp_link_private, dp_link);
-
-   rlen = drm_dp_dpcd_readb(link->aux, DP_SINK_COUNT,
->dp_link.sink_count);
-   if (rlen < 0) {
-   DRM_ERROR("sink count read failed. rlen=%zd\n", rlen);
-   return rlen;
-   }
-
-   cp_ready = link->dp_link.sink_count & DP_SINK_CP_READY;
-
-   link->dp_link.sink_count =
-   DP_GET_SINK_COUNT(link->dp_link.sink_count);
-
-   drm_dbg_dp(link->drm_dev, "sink_count = 0x%x, cp_ready = 0x%x\n",
-   link->dp_link.sink_count, cp_ready);
-   return 0;
-}
-
 static int dp_link_parse_sink_status_field(struct dp_link_private *link)
 {
-   int len = 0;
+   int len;
 
link->prev_sink_count = link->dp_link.sink_count;
-   len = dp_link_parse_sink_count(>dp_link);
+   len = drm_dp_read_sink_count(link->aux);
if (len < 0) {
DRM_ERROR("DP parse sink count failed\n");
return len;
}
+   link->dp_link.sink_count = len;
 
len = drm_dp_dpcd_read_link_status(link->aux,
link->link_status);
-- 
https://chromeos.dev