Re: [PATCH 3/7] drm/msm/dp: Remove dead code related to downstream cap info

2023-09-03 Thread Dmitry Baryshkov

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

We read the downstream port count and capability info but never use it
anywhere. Remove 'ds_port_cnt' and 'ds_cap_info' and any associated code
from this driver. Fold the check for 'dfp_present' into a call to
drm_dp_is_branch() at the one place it is used to get rid of any member
storage related to downstream ports.

Cc: Vinod Polimera 
Cc: Kuogee Hsieh 
Signed-off-by: Stephen Boyd 
---
  drivers/gpu/drm/msm/dp/dp_panel.c | 25 +++--
  drivers/gpu/drm/msm/dp/dp_panel.h |  6 --
  2 files changed, 3 insertions(+), 28 deletions(-)


Reviewed-by: Dmitry Baryshkov 

--
With best wishes
Dmitry



Re: [PATCH 3/7] drm/msm/dp: Remove dead code related to downstream cap info

2023-08-31 Thread Kuogee Hsieh



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

We read the downstream port count and capability info but never use it
anywhere. Remove 'ds_port_cnt' and 'ds_cap_info' and any associated code
from this driver. Fold the check for 'dfp_present' into a call to
drm_dp_is_branch() at the one place it is used to get rid of any member
storage related to downstream ports.

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_panel.c | 25 +++--
  drivers/gpu/drm/msm/dp/dp_panel.h |  6 --
  2 files changed, 3 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_panel.c 
b/drivers/gpu/drm/msm/dp/dp_panel.c
index a0523b18b9e9..9fb4e963fefb 100644
--- a/drivers/gpu/drm/msm/dp/dp_panel.c
+++ b/drivers/gpu/drm/msm/dp/dp_panel.c
@@ -43,9 +43,7 @@ static void dp_panel_read_psr_cap(struct dp_panel_private 
*panel)
  
  static int dp_panel_read_dpcd(struct dp_panel *dp_panel)

  {
-   int rc = 0;
-   size_t len;
-   ssize_t rlen;
+   int rc;
struct dp_panel_private *panel;
struct dp_link_info *link_info;
u8 *dpcd, major, minor;
@@ -79,25 +77,8 @@ static int dp_panel_read_dpcd(struct dp_panel *dp_panel)
if (drm_dp_enhanced_frame_cap(dpcd))
link_info->capabilities |= DP_LINK_CAP_ENHANCED_FRAMING;
  
-	dp_panel->dfp_present = dpcd[DP_DOWNSTREAMPORT_PRESENT];

-   dp_panel->dfp_present &= DP_DWN_STRM_PORT_PRESENT;
-
-   if (dp_panel->dfp_present && (dpcd[DP_DPCD_REV] > 0x10)) {
-   dp_panel->ds_port_cnt = dpcd[DP_DOWN_STREAM_PORT_COUNT];
-   dp_panel->ds_port_cnt &= DP_PORT_COUNT_MASK;
-   len = DP_DOWNSTREAM_PORTS * DP_DOWNSTREAM_CAP_SIZE;
-
-   rlen = drm_dp_dpcd_read(panel->aux,
-   DP_DOWNSTREAM_PORT_0, dp_panel->ds_cap_info, len);
-   if (rlen < len) {
-   DRM_ERROR("ds port status failed, rlen=%zd\n", rlen);
-   rc = -EINVAL;
-   goto end;
-   }
-   }
-
dp_panel_read_psr_cap(panel);
-end:
+
return rc;
  }
  
@@ -173,7 +154,7 @@ int dp_panel_read_sink_caps(struct dp_panel *dp_panel,

return -EINVAL;
}
  
-	if (dp_panel->dfp_present) {

+   if (drm_dp_is_branch(dp_panel->dpcd)) {
count = drm_dp_read_sink_count(panel->aux);
if (!count) {
DRM_ERROR("no downstream ports connected\n");
diff --git a/drivers/gpu/drm/msm/dp/dp_panel.h 
b/drivers/gpu/drm/msm/dp/dp_panel.h
index 6d733480a62d..3cb1f8dcfd3b 100644
--- a/drivers/gpu/drm/msm/dp/dp_panel.h
+++ b/drivers/gpu/drm/msm/dp/dp_panel.h
@@ -13,9 +13,6 @@
  
  struct edid;
  
-#define DP_DOWNSTREAM_PORTS		4

-#define DP_DOWNSTREAM_CAP_SIZE 4
-
  struct dp_display_mode {
struct drm_display_mode drm_mode;
u32 capabilities;
@@ -39,9 +36,6 @@ struct dp_panel_psr {
  struct dp_panel {
/* dpcd raw data */
u8 dpcd[DP_RECEIVER_CAP_SIZE];
-   u8 ds_cap_info[DP_DOWNSTREAM_PORTS * DP_DOWNSTREAM_CAP_SIZE];
-   u32 ds_port_cnt;
-   u32 dfp_present;
  
  	struct dp_link_info link_info;

struct drm_dp_desc desc;


Re: [PATCH 3/7] drm/msm/dp: Remove dead code related to downstream cap info

2023-08-31 Thread Kuogee Hsieh



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

We read the downstream port count and capability info but never use it
anywhere. Remove 'ds_port_cnt' and 'ds_cap_info' and any associated code
from this driver. Fold the check for 'dfp_present' into a call to
drm_dp_is_branch() at the one place it is used to get rid of any member
storage related to downstream ports.

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_panel.c | 25 +++--
  drivers/gpu/drm/msm/dp/dp_panel.h |  6 --
  2 files changed, 3 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_panel.c 
b/drivers/gpu/drm/msm/dp/dp_panel.c
index a0523b18b9e9..9fb4e963fefb 100644
--- a/drivers/gpu/drm/msm/dp/dp_panel.c
+++ b/drivers/gpu/drm/msm/dp/dp_panel.c
@@ -43,9 +43,7 @@ static void dp_panel_read_psr_cap(struct dp_panel_private 
*panel)
  
  static int dp_panel_read_dpcd(struct dp_panel *dp_panel)

  {
-   int rc = 0;
-   size_t len;
-   ssize_t rlen;
+   int rc;
struct dp_panel_private *panel;
struct dp_link_info *link_info;
u8 *dpcd, major, minor;
@@ -79,25 +77,8 @@ static int dp_panel_read_dpcd(struct dp_panel *dp_panel)
if (drm_dp_enhanced_frame_cap(dpcd))
link_info->capabilities |= DP_LINK_CAP_ENHANCED_FRAMING;
  
-	dp_panel->dfp_present = dpcd[DP_DOWNSTREAMPORT_PRESENT];

-   dp_panel->dfp_present &= DP_DWN_STRM_PORT_PRESENT;
-
-   if (dp_panel->dfp_present && (dpcd[DP_DPCD_REV] > 0x10)) {
-   dp_panel->ds_port_cnt = dpcd[DP_DOWN_STREAM_PORT_COUNT];
-   dp_panel->ds_port_cnt &= DP_PORT_COUNT_MASK;
-   len = DP_DOWNSTREAM_PORTS * DP_DOWNSTREAM_CAP_SIZE;
-
-   rlen = drm_dp_dpcd_read(panel->aux,
-   DP_DOWNSTREAM_PORT_0, dp_panel->ds_cap_info, len);
-   if (rlen < len) {
-   DRM_ERROR("ds port status failed, rlen=%zd\n", rlen);
-   rc = -EINVAL;
-   goto end;
-   }
-   }
-
dp_panel_read_psr_cap(panel);
-end:
+
return rc;
  }
  
@@ -173,7 +154,7 @@ int dp_panel_read_sink_caps(struct dp_panel *dp_panel,

return -EINVAL;
}
  
-	if (dp_panel->dfp_present) {

+   if (drm_dp_is_branch(dp_panel->dpcd)) {
count = drm_dp_read_sink_count(panel->aux);
if (!count) {
DRM_ERROR("no downstream ports connected\n");
diff --git a/drivers/gpu/drm/msm/dp/dp_panel.h 
b/drivers/gpu/drm/msm/dp/dp_panel.h
index 6d733480a62d..3cb1f8dcfd3b 100644
--- a/drivers/gpu/drm/msm/dp/dp_panel.h
+++ b/drivers/gpu/drm/msm/dp/dp_panel.h
@@ -13,9 +13,6 @@
  
  struct edid;
  
-#define DP_DOWNSTREAM_PORTS		4

-#define DP_DOWNSTREAM_CAP_SIZE 4
-
  struct dp_display_mode {
struct drm_display_mode drm_mode;
u32 capabilities;
@@ -39,9 +36,6 @@ struct dp_panel_psr {
  struct dp_panel {
/* dpcd raw data */
u8 dpcd[DP_RECEIVER_CAP_SIZE];
-   u8 ds_cap_info[DP_DOWNSTREAM_PORTS * DP_DOWNSTREAM_CAP_SIZE];
-   u32 ds_port_cnt;
-   u32 dfp_present;
  
  	struct dp_link_info link_info;

struct drm_dp_desc desc;


[PATCH 3/7] drm/msm/dp: Remove dead code related to downstream cap info

2023-08-29 Thread Stephen Boyd
We read the downstream port count and capability info but never use it
anywhere. Remove 'ds_port_cnt' and 'ds_cap_info' and any associated code
from this driver. Fold the check for 'dfp_present' into a call to
drm_dp_is_branch() at the one place it is used to get rid of any member
storage related to downstream ports.

Cc: Vinod Polimera 
Cc: Kuogee Hsieh 
Signed-off-by: Stephen Boyd 
---
 drivers/gpu/drm/msm/dp/dp_panel.c | 25 +++--
 drivers/gpu/drm/msm/dp/dp_panel.h |  6 --
 2 files changed, 3 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_panel.c 
b/drivers/gpu/drm/msm/dp/dp_panel.c
index a0523b18b9e9..9fb4e963fefb 100644
--- a/drivers/gpu/drm/msm/dp/dp_panel.c
+++ b/drivers/gpu/drm/msm/dp/dp_panel.c
@@ -43,9 +43,7 @@ static void dp_panel_read_psr_cap(struct dp_panel_private 
*panel)
 
 static int dp_panel_read_dpcd(struct dp_panel *dp_panel)
 {
-   int rc = 0;
-   size_t len;
-   ssize_t rlen;
+   int rc;
struct dp_panel_private *panel;
struct dp_link_info *link_info;
u8 *dpcd, major, minor;
@@ -79,25 +77,8 @@ static int dp_panel_read_dpcd(struct dp_panel *dp_panel)
if (drm_dp_enhanced_frame_cap(dpcd))
link_info->capabilities |= DP_LINK_CAP_ENHANCED_FRAMING;
 
-   dp_panel->dfp_present = dpcd[DP_DOWNSTREAMPORT_PRESENT];
-   dp_panel->dfp_present &= DP_DWN_STRM_PORT_PRESENT;
-
-   if (dp_panel->dfp_present && (dpcd[DP_DPCD_REV] > 0x10)) {
-   dp_panel->ds_port_cnt = dpcd[DP_DOWN_STREAM_PORT_COUNT];
-   dp_panel->ds_port_cnt &= DP_PORT_COUNT_MASK;
-   len = DP_DOWNSTREAM_PORTS * DP_DOWNSTREAM_CAP_SIZE;
-
-   rlen = drm_dp_dpcd_read(panel->aux,
-   DP_DOWNSTREAM_PORT_0, dp_panel->ds_cap_info, len);
-   if (rlen < len) {
-   DRM_ERROR("ds port status failed, rlen=%zd\n", rlen);
-   rc = -EINVAL;
-   goto end;
-   }
-   }
-
dp_panel_read_psr_cap(panel);
-end:
+
return rc;
 }
 
@@ -173,7 +154,7 @@ int dp_panel_read_sink_caps(struct dp_panel *dp_panel,
return -EINVAL;
}
 
-   if (dp_panel->dfp_present) {
+   if (drm_dp_is_branch(dp_panel->dpcd)) {
count = drm_dp_read_sink_count(panel->aux);
if (!count) {
DRM_ERROR("no downstream ports connected\n");
diff --git a/drivers/gpu/drm/msm/dp/dp_panel.h 
b/drivers/gpu/drm/msm/dp/dp_panel.h
index 6d733480a62d..3cb1f8dcfd3b 100644
--- a/drivers/gpu/drm/msm/dp/dp_panel.h
+++ b/drivers/gpu/drm/msm/dp/dp_panel.h
@@ -13,9 +13,6 @@
 
 struct edid;
 
-#define DP_DOWNSTREAM_PORTS4
-#define DP_DOWNSTREAM_CAP_SIZE 4
-
 struct dp_display_mode {
struct drm_display_mode drm_mode;
u32 capabilities;
@@ -39,9 +36,6 @@ struct dp_panel_psr {
 struct dp_panel {
/* dpcd raw data */
u8 dpcd[DP_RECEIVER_CAP_SIZE];
-   u8 ds_cap_info[DP_DOWNSTREAM_PORTS * DP_DOWNSTREAM_CAP_SIZE];
-   u32 ds_port_cnt;
-   u32 dfp_present;
 
struct dp_link_info link_info;
struct drm_dp_desc desc;
-- 
https://chromeos.dev