All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] drm/msm/dp: Support for external displays
@ 2022-09-16 20:00 ` Bjorn Andersson
  0 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

Introduce support for DisplayPort on SDM845 and SC8280XP, followed by
introduction of drm_bridge based HPD handling.

The version of these patches are restarted, as the previous
drm_connector_oob_hotplug_event()-based approach was abandoned and this
only barely resembles that effort.

In this effort the HPD handling is based on the reliance of the
hpd_notify() being invoked by a downstream (next_bridge) drm_bridge
implementation, such as the standard display-connector, or a something
like an USB Type-C controller implementation.

Bjorn Andersson (7):
  dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
  drm/msm/dp: Stop using DP id as index in desc
  drm/msm/dp: Add DP and EDP compatibles for SC8280XP
  drm/msm/dp: Add SDM845 DisplayPort instance
  drm/msm/dp: Implement hpd_notify()
  drm/msm/dp: Don't enable HPD interrupts for edp
  drm/msm/dp: HPD handling relates to next_bridge

 .../bindings/display/msm/dp-controller.yaml   |   3 +
 drivers/gpu/drm/msm/dp/dp_display.c           | 135 +++++++++++-------
 drivers/gpu/drm/msm/dp/dp_drm.c               |   1 +
 drivers/gpu/drm/msm/dp/dp_drm.h               |   2 +
 drivers/gpu/drm/msm/msm_drv.h                 |   1 +
 5 files changed, 88 insertions(+), 54 deletions(-)

-- 
2.17.1


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

* [PATCH v2 0/7] drm/msm/dp: Support for external displays
@ 2022-09-16 20:00 ` Bjorn Andersson
  0 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: devicetree, Sankeerth Billakanti, linux-arm-msm, linux-kernel,
	dri-devel, Kuogee Hsieh, Rob Herring, Krzysztof Kozlowski,
	Stephen Boyd, freedreno

Introduce support for DisplayPort on SDM845 and SC8280XP, followed by
introduction of drm_bridge based HPD handling.

The version of these patches are restarted, as the previous
drm_connector_oob_hotplug_event()-based approach was abandoned and this
only barely resembles that effort.

In this effort the HPD handling is based on the reliance of the
hpd_notify() being invoked by a downstream (next_bridge) drm_bridge
implementation, such as the standard display-connector, or a something
like an USB Type-C controller implementation.

Bjorn Andersson (7):
  dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
  drm/msm/dp: Stop using DP id as index in desc
  drm/msm/dp: Add DP and EDP compatibles for SC8280XP
  drm/msm/dp: Add SDM845 DisplayPort instance
  drm/msm/dp: Implement hpd_notify()
  drm/msm/dp: Don't enable HPD interrupts for edp
  drm/msm/dp: HPD handling relates to next_bridge

 .../bindings/display/msm/dp-controller.yaml   |   3 +
 drivers/gpu/drm/msm/dp/dp_display.c           | 135 +++++++++++-------
 drivers/gpu/drm/msm/dp/dp_drm.c               |   1 +
 drivers/gpu/drm/msm/dp/dp_drm.h               |   2 +
 drivers/gpu/drm/msm/msm_drv.h                 |   1 +
 5 files changed, 88 insertions(+), 54 deletions(-)

-- 
2.17.1


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

* [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
  2022-09-16 20:00 ` Bjorn Andersson
@ 2022-09-16 20:00   ` Bjorn Andersson
  -1 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

From: Bjorn Andersson <bjorn.andersson@linaro.org>

Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
Qualcomm SDM845 and SC8280XP platforms.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 .../devicetree/bindings/display/msm/dp-controller.yaml         | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
index f2515af8256f..a1dc3a13e1cf 100644
--- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
@@ -21,6 +21,9 @@ properties:
       - qcom,sc7280-edp
       - qcom,sc8180x-dp
       - qcom,sc8180x-edp
+      - qcom,sc8280xp-dp
+      - qcom,sc8280xp-edp
+      - qcom,sdm845-dp
       - qcom,sm8350-dp
 
   reg:
-- 
2.17.1


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

* [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
@ 2022-09-16 20:00   ` Bjorn Andersson
  0 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: devicetree, Sankeerth Billakanti, linux-arm-msm, linux-kernel,
	dri-devel, Kuogee Hsieh, Rob Herring, Krzysztof Kozlowski,
	Stephen Boyd, freedreno

From: Bjorn Andersson <bjorn.andersson@linaro.org>

Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
Qualcomm SDM845 and SC8280XP platforms.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 .../devicetree/bindings/display/msm/dp-controller.yaml         | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
index f2515af8256f..a1dc3a13e1cf 100644
--- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
@@ -21,6 +21,9 @@ properties:
       - qcom,sc7280-edp
       - qcom,sc8180x-dp
       - qcom,sc8180x-edp
+      - qcom,sc8280xp-dp
+      - qcom,sc8280xp-edp
+      - qcom,sdm845-dp
       - qcom,sm8350-dp
 
   reg:
-- 
2.17.1


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

* [PATCH v2 2/7] drm/msm/dp: Stop using DP id as index in desc
  2022-09-16 20:00 ` Bjorn Andersson
@ 2022-09-16 20:00   ` Bjorn Andersson
  -1 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

From: Bjorn Andersson <bjorn.andersson@linaro.org>

In the SC8280XP platform there are two identical MDSS instances, each
with the same set of DisplayPort instances, at different addresses.

By not relying on the index to define the instance id it's possible to
describe them both in the same table and hence have a single compatible.

While at it, flatten the cfg/desc structure so that the match data is
just an array of descs.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 72 ++++++++++-------------------
 1 file changed, 25 insertions(+), 47 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index bfd0aeff3f0d..2d9bbc335786 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -122,61 +122,41 @@ struct dp_display_private {
 
 struct msm_dp_desc {
 	phys_addr_t io_start;
+	unsigned int id;
 	unsigned int connector_type;
 	bool wide_bus_en;
 };
 
-struct msm_dp_config {
-	const struct msm_dp_desc *descs;
-	size_t num_descs;
-};
-
 static const struct msm_dp_desc sc7180_dp_descs[] = {
-	[MSM_DP_CONTROLLER_0] = { .io_start = 0x0ae90000, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
-};
-
-static const struct msm_dp_config sc7180_dp_cfg = {
-	.descs = sc7180_dp_descs,
-	.num_descs = ARRAY_SIZE(sc7180_dp_descs),
+	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
+	{}
 };
 
 static const struct msm_dp_desc sc7280_dp_descs[] = {
-	[MSM_DP_CONTROLLER_0] =	{ .io_start = 0x0ae90000, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
-	[MSM_DP_CONTROLLER_1] =	{ .io_start = 0x0aea0000, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
-};
-
-static const struct msm_dp_config sc7280_dp_cfg = {
-	.descs = sc7280_dp_descs,
-	.num_descs = ARRAY_SIZE(sc7280_dp_descs),
+	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+	{}
 };
 
 static const struct msm_dp_desc sc8180x_dp_descs[] = {
-	[MSM_DP_CONTROLLER_0] = { .io_start = 0x0ae90000, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
-	[MSM_DP_CONTROLLER_1] = { .io_start = 0x0ae98000, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
-	[MSM_DP_CONTROLLER_2] = { .io_start = 0x0ae9a000, .connector_type = DRM_MODE_CONNECTOR_eDP },
-};
-
-static const struct msm_dp_config sc8180x_dp_cfg = {
-	.descs = sc8180x_dp_descs,
-	.num_descs = ARRAY_SIZE(sc8180x_dp_descs),
+	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
+	{ .io_start = 0x0ae98000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
+	{ .io_start = 0x0ae9a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_eDP },
+	{}
 };
 
 static const struct msm_dp_desc sm8350_dp_descs[] = {
-	[MSM_DP_CONTROLLER_0] = { .io_start = 0x0ae90000, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
-};
-
-static const struct msm_dp_config sm8350_dp_cfg = {
-	.descs = sm8350_dp_descs,
-	.num_descs = ARRAY_SIZE(sm8350_dp_descs),
+	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
+	{}
 };
 
 static const struct of_device_id dp_dt_match[] = {
-	{ .compatible = "qcom,sc7180-dp", .data = &sc7180_dp_cfg },
-	{ .compatible = "qcom,sc7280-dp", .data = &sc7280_dp_cfg },
-	{ .compatible = "qcom,sc7280-edp", .data = &sc7280_dp_cfg },
-	{ .compatible = "qcom,sc8180x-dp", .data = &sc8180x_dp_cfg },
-	{ .compatible = "qcom,sc8180x-edp", .data = &sc8180x_dp_cfg },
-	{ .compatible = "qcom,sm8350-dp", .data = &sm8350_dp_cfg },
+	{ .compatible = "qcom,sc7180-dp", .data = &sc7180_dp_descs },
+	{ .compatible = "qcom,sc7280-dp", .data = &sc7280_dp_descs },
+	{ .compatible = "qcom,sc7280-edp", .data = &sc7280_dp_descs },
+	{ .compatible = "qcom,sc8180x-dp", .data = &sc8180x_dp_descs },
+	{ .compatible = "qcom,sc8180x-edp", .data = &sc8180x_dp_descs },
+	{ .compatible = "qcom,sm8350-dp", .data = &sm8350_dp_descs },
 	{}
 };
 
@@ -1262,10 +1242,9 @@ int dp_display_request_irq(struct msm_dp *dp_display)
 	return 0;
 }
 
-static const struct msm_dp_desc *dp_display_get_desc(struct platform_device *pdev,
-						     unsigned int *id)
+static const struct msm_dp_desc *dp_display_get_desc(struct platform_device *pdev)
 {
-	const struct msm_dp_config *cfg = of_device_get_match_data(&pdev->dev);
+	const struct msm_dp_desc *descs = of_device_get_match_data(&pdev->dev);
 	struct resource *res;
 	int i;
 
@@ -1273,11 +1252,9 @@ static const struct msm_dp_desc *dp_display_get_desc(struct platform_device *pde
 	if (!res)
 		return NULL;
 
-	for (i = 0; i < cfg->num_descs; i++) {
-		if (cfg->descs[i].io_start == res->start) {
-			*id = i;
-			return &cfg->descs[i];
-		}
+	for (i = 0; i < descs[i].io_start; i++) {
+		if (descs[i].io_start == res->start)
+			return &descs[i];
 	}
 
 	dev_err(&pdev->dev, "unknown displayport instance\n");
@@ -1299,12 +1276,13 @@ static int dp_display_probe(struct platform_device *pdev)
 	if (!dp)
 		return -ENOMEM;
 
-	desc = dp_display_get_desc(pdev, &dp->id);
+	desc = dp_display_get_desc(pdev);
 	if (!desc)
 		return -EINVAL;
 
 	dp->pdev = pdev;
 	dp->name = "drm_dp";
+	dp->id = desc->id;
 	dp->dp_display.connector_type = desc->connector_type;
 	dp->wide_bus_en = desc->wide_bus_en;
 	dp->dp_display.is_edp =
-- 
2.17.1


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

* [PATCH v2 2/7] drm/msm/dp: Stop using DP id as index in desc
@ 2022-09-16 20:00   ` Bjorn Andersson
  0 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: devicetree, Sankeerth Billakanti, linux-arm-msm, linux-kernel,
	dri-devel, Kuogee Hsieh, Rob Herring, Krzysztof Kozlowski,
	Stephen Boyd, freedreno

From: Bjorn Andersson <bjorn.andersson@linaro.org>

In the SC8280XP platform there are two identical MDSS instances, each
with the same set of DisplayPort instances, at different addresses.

By not relying on the index to define the instance id it's possible to
describe them both in the same table and hence have a single compatible.

While at it, flatten the cfg/desc structure so that the match data is
just an array of descs.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 72 ++++++++++-------------------
 1 file changed, 25 insertions(+), 47 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index bfd0aeff3f0d..2d9bbc335786 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -122,61 +122,41 @@ struct dp_display_private {
 
 struct msm_dp_desc {
 	phys_addr_t io_start;
+	unsigned int id;
 	unsigned int connector_type;
 	bool wide_bus_en;
 };
 
-struct msm_dp_config {
-	const struct msm_dp_desc *descs;
-	size_t num_descs;
-};
-
 static const struct msm_dp_desc sc7180_dp_descs[] = {
-	[MSM_DP_CONTROLLER_0] = { .io_start = 0x0ae90000, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
-};
-
-static const struct msm_dp_config sc7180_dp_cfg = {
-	.descs = sc7180_dp_descs,
-	.num_descs = ARRAY_SIZE(sc7180_dp_descs),
+	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
+	{}
 };
 
 static const struct msm_dp_desc sc7280_dp_descs[] = {
-	[MSM_DP_CONTROLLER_0] =	{ .io_start = 0x0ae90000, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
-	[MSM_DP_CONTROLLER_1] =	{ .io_start = 0x0aea0000, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
-};
-
-static const struct msm_dp_config sc7280_dp_cfg = {
-	.descs = sc7280_dp_descs,
-	.num_descs = ARRAY_SIZE(sc7280_dp_descs),
+	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+	{}
 };
 
 static const struct msm_dp_desc sc8180x_dp_descs[] = {
-	[MSM_DP_CONTROLLER_0] = { .io_start = 0x0ae90000, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
-	[MSM_DP_CONTROLLER_1] = { .io_start = 0x0ae98000, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
-	[MSM_DP_CONTROLLER_2] = { .io_start = 0x0ae9a000, .connector_type = DRM_MODE_CONNECTOR_eDP },
-};
-
-static const struct msm_dp_config sc8180x_dp_cfg = {
-	.descs = sc8180x_dp_descs,
-	.num_descs = ARRAY_SIZE(sc8180x_dp_descs),
+	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
+	{ .io_start = 0x0ae98000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
+	{ .io_start = 0x0ae9a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_eDP },
+	{}
 };
 
 static const struct msm_dp_desc sm8350_dp_descs[] = {
-	[MSM_DP_CONTROLLER_0] = { .io_start = 0x0ae90000, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
-};
-
-static const struct msm_dp_config sm8350_dp_cfg = {
-	.descs = sm8350_dp_descs,
-	.num_descs = ARRAY_SIZE(sm8350_dp_descs),
+	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
+	{}
 };
 
 static const struct of_device_id dp_dt_match[] = {
-	{ .compatible = "qcom,sc7180-dp", .data = &sc7180_dp_cfg },
-	{ .compatible = "qcom,sc7280-dp", .data = &sc7280_dp_cfg },
-	{ .compatible = "qcom,sc7280-edp", .data = &sc7280_dp_cfg },
-	{ .compatible = "qcom,sc8180x-dp", .data = &sc8180x_dp_cfg },
-	{ .compatible = "qcom,sc8180x-edp", .data = &sc8180x_dp_cfg },
-	{ .compatible = "qcom,sm8350-dp", .data = &sm8350_dp_cfg },
+	{ .compatible = "qcom,sc7180-dp", .data = &sc7180_dp_descs },
+	{ .compatible = "qcom,sc7280-dp", .data = &sc7280_dp_descs },
+	{ .compatible = "qcom,sc7280-edp", .data = &sc7280_dp_descs },
+	{ .compatible = "qcom,sc8180x-dp", .data = &sc8180x_dp_descs },
+	{ .compatible = "qcom,sc8180x-edp", .data = &sc8180x_dp_descs },
+	{ .compatible = "qcom,sm8350-dp", .data = &sm8350_dp_descs },
 	{}
 };
 
@@ -1262,10 +1242,9 @@ int dp_display_request_irq(struct msm_dp *dp_display)
 	return 0;
 }
 
-static const struct msm_dp_desc *dp_display_get_desc(struct platform_device *pdev,
-						     unsigned int *id)
+static const struct msm_dp_desc *dp_display_get_desc(struct platform_device *pdev)
 {
-	const struct msm_dp_config *cfg = of_device_get_match_data(&pdev->dev);
+	const struct msm_dp_desc *descs = of_device_get_match_data(&pdev->dev);
 	struct resource *res;
 	int i;
 
@@ -1273,11 +1252,9 @@ static const struct msm_dp_desc *dp_display_get_desc(struct platform_device *pde
 	if (!res)
 		return NULL;
 
-	for (i = 0; i < cfg->num_descs; i++) {
-		if (cfg->descs[i].io_start == res->start) {
-			*id = i;
-			return &cfg->descs[i];
-		}
+	for (i = 0; i < descs[i].io_start; i++) {
+		if (descs[i].io_start == res->start)
+			return &descs[i];
 	}
 
 	dev_err(&pdev->dev, "unknown displayport instance\n");
@@ -1299,12 +1276,13 @@ static int dp_display_probe(struct platform_device *pdev)
 	if (!dp)
 		return -ENOMEM;
 
-	desc = dp_display_get_desc(pdev, &dp->id);
+	desc = dp_display_get_desc(pdev);
 	if (!desc)
 		return -EINVAL;
 
 	dp->pdev = pdev;
 	dp->name = "drm_dp";
+	dp->id = desc->id;
 	dp->dp_display.connector_type = desc->connector_type;
 	dp->wide_bus_en = desc->wide_bus_en;
 	dp->dp_display.is_edp =
-- 
2.17.1


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

* [PATCH v2 3/7] drm/msm/dp: Add DP and EDP compatibles for SC8280XP
  2022-09-16 20:00 ` Bjorn Andersson
@ 2022-09-16 20:00   ` Bjorn Andersson
  -1 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

From: Bjorn Andersson <bjorn.andersson@linaro.org>

The SC8280XP platform has four DisplayPort controllers, per MDSS
instance, all with widebus support.

The first two are defined to be DisplayPort only, while the latter pair
(of each instance) can be either DisplayPort or Embedded DisplayPort.
The two sets are tied to the possible compatibels.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 22 ++++++++++++++++++++++
 drivers/gpu/drm/msm/msm_drv.h       |  1 +
 2 files changed, 23 insertions(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index 2d9bbc335786..e4a83c2cd972 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -145,6 +145,26 @@ static const struct msm_dp_desc sc8180x_dp_descs[] = {
 	{}
 };
 
+static const struct msm_dp_desc sc8280xp_dp_descs[] = {
+	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x0ae98000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x0ae9a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_3, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x22090000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x22098000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x2209a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x220a0000, .id = MSM_DP_CONTROLLER_3, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{}
+};
+
+static const struct msm_dp_desc sc8280xp_edp_descs[] = {
+	{ .io_start = 0x0ae9a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+	{ .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_3, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+	{ .io_start = 0x2209a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+	{ .io_start = 0x220a0000, .id = MSM_DP_CONTROLLER_3, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+	{}
+};
+
 static const struct msm_dp_desc sm8350_dp_descs[] = {
 	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
 	{}
@@ -156,6 +176,8 @@ static const struct of_device_id dp_dt_match[] = {
 	{ .compatible = "qcom,sc7280-edp", .data = &sc7280_dp_descs },
 	{ .compatible = "qcom,sc8180x-dp", .data = &sc8180x_dp_descs },
 	{ .compatible = "qcom,sc8180x-edp", .data = &sc8180x_dp_descs },
+	{ .compatible = "qcom,sc8280xp-dp", .data = &sc8280xp_dp_descs },
+	{ .compatible = "qcom,sc8280xp-edp", .data = &sc8280xp_edp_descs },
 	{ .compatible = "qcom,sm8350-dp", .data = &sm8350_dp_descs },
 	{}
 };
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index b2ea262296a4..2dd342e49de6 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -61,6 +61,7 @@ enum msm_dp_controller {
 	MSM_DP_CONTROLLER_0,
 	MSM_DP_CONTROLLER_1,
 	MSM_DP_CONTROLLER_2,
+	MSM_DP_CONTROLLER_3,
 	MSM_DP_CONTROLLER_COUNT,
 };
 
-- 
2.17.1


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

* [PATCH v2 3/7] drm/msm/dp: Add DP and EDP compatibles for SC8280XP
@ 2022-09-16 20:00   ` Bjorn Andersson
  0 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: devicetree, Sankeerth Billakanti, linux-arm-msm, linux-kernel,
	dri-devel, Kuogee Hsieh, Rob Herring, Krzysztof Kozlowski,
	Stephen Boyd, freedreno

From: Bjorn Andersson <bjorn.andersson@linaro.org>

The SC8280XP platform has four DisplayPort controllers, per MDSS
instance, all with widebus support.

The first two are defined to be DisplayPort only, while the latter pair
(of each instance) can be either DisplayPort or Embedded DisplayPort.
The two sets are tied to the possible compatibels.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 22 ++++++++++++++++++++++
 drivers/gpu/drm/msm/msm_drv.h       |  1 +
 2 files changed, 23 insertions(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index 2d9bbc335786..e4a83c2cd972 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -145,6 +145,26 @@ static const struct msm_dp_desc sc8180x_dp_descs[] = {
 	{}
 };
 
+static const struct msm_dp_desc sc8280xp_dp_descs[] = {
+	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x0ae98000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x0ae9a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_3, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x22090000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x22098000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x2209a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{ .io_start = 0x220a0000, .id = MSM_DP_CONTROLLER_3, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true },
+	{}
+};
+
+static const struct msm_dp_desc sc8280xp_edp_descs[] = {
+	{ .io_start = 0x0ae9a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+	{ .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_3, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+	{ .io_start = 0x2209a000, .id = MSM_DP_CONTROLLER_2, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+	{ .io_start = 0x220a0000, .id = MSM_DP_CONTROLLER_3, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true },
+	{}
+};
+
 static const struct msm_dp_desc sm8350_dp_descs[] = {
 	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort },
 	{}
@@ -156,6 +176,8 @@ static const struct of_device_id dp_dt_match[] = {
 	{ .compatible = "qcom,sc7280-edp", .data = &sc7280_dp_descs },
 	{ .compatible = "qcom,sc8180x-dp", .data = &sc8180x_dp_descs },
 	{ .compatible = "qcom,sc8180x-edp", .data = &sc8180x_dp_descs },
+	{ .compatible = "qcom,sc8280xp-dp", .data = &sc8280xp_dp_descs },
+	{ .compatible = "qcom,sc8280xp-edp", .data = &sc8280xp_edp_descs },
 	{ .compatible = "qcom,sm8350-dp", .data = &sm8350_dp_descs },
 	{}
 };
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index b2ea262296a4..2dd342e49de6 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -61,6 +61,7 @@ enum msm_dp_controller {
 	MSM_DP_CONTROLLER_0,
 	MSM_DP_CONTROLLER_1,
 	MSM_DP_CONTROLLER_2,
+	MSM_DP_CONTROLLER_3,
 	MSM_DP_CONTROLLER_COUNT,
 };
 
-- 
2.17.1


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

* [PATCH v2 4/7] drm/msm/dp: Add SDM845 DisplayPort instance
  2022-09-16 20:00 ` Bjorn Andersson
@ 2022-09-16 20:00   ` Bjorn Andersson
  -1 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

From: Bjorn Andersson <bjorn.andersson@linaro.org>

The Qualcomm SDM845 platform has a single DisplayPort controller, with
the same design as SC7180, so add support for this by reusing the SC7180
definition.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index e4a83c2cd972..699f28f2251e 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -178,6 +178,7 @@ static const struct of_device_id dp_dt_match[] = {
 	{ .compatible = "qcom,sc8180x-edp", .data = &sc8180x_dp_descs },
 	{ .compatible = "qcom,sc8280xp-dp", .data = &sc8280xp_dp_descs },
 	{ .compatible = "qcom,sc8280xp-edp", .data = &sc8280xp_edp_descs },
+	{ .compatible = "qcom,sdm845-dp", .data = &sc7180_dp_descs },
 	{ .compatible = "qcom,sm8350-dp", .data = &sm8350_dp_descs },
 	{}
 };
-- 
2.17.1


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

* [PATCH v2 4/7] drm/msm/dp: Add SDM845 DisplayPort instance
@ 2022-09-16 20:00   ` Bjorn Andersson
  0 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: devicetree, Sankeerth Billakanti, linux-arm-msm, linux-kernel,
	dri-devel, Kuogee Hsieh, Rob Herring, Krzysztof Kozlowski,
	Stephen Boyd, freedreno

From: Bjorn Andersson <bjorn.andersson@linaro.org>

The Qualcomm SDM845 platform has a single DisplayPort controller, with
the same design as SC7180, so add support for this by reusing the SC7180
definition.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index e4a83c2cd972..699f28f2251e 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -178,6 +178,7 @@ static const struct of_device_id dp_dt_match[] = {
 	{ .compatible = "qcom,sc8180x-edp", .data = &sc8180x_dp_descs },
 	{ .compatible = "qcom,sc8280xp-dp", .data = &sc8280xp_dp_descs },
 	{ .compatible = "qcom,sc8280xp-edp", .data = &sc8280xp_edp_descs },
+	{ .compatible = "qcom,sdm845-dp", .data = &sc7180_dp_descs },
 	{ .compatible = "qcom,sm8350-dp", .data = &sm8350_dp_descs },
 	{}
 };
-- 
2.17.1


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

* [PATCH v2 5/7] drm/msm/dp: Implement hpd_notify()
  2022-09-16 20:00 ` Bjorn Andersson
@ 2022-09-16 20:00   ` Bjorn Andersson
  -1 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

From: Bjorn Andersson <bjorn.andersson@linaro.org>

The DisplayPort controller's hot-plug mechanism is based on pinmuxing a
physical signal no a GPIO pin into the controller. This is not always
possible, either because there aren't dedicated GPIOs available or
because the hot-plug signal is a virtual notification, in cases such as
USB Type-C.

For these cases, by implementing the hpd_notify() callback for the
DisplayPort controller's drm_bridge, a downstream drm_bridge
(next_bridge) can be used to track and signal the connection status
changes.

This makes it possible to use downstream drm_bridges such as
display-connector or any virtual mechanism, as long as they are
implemented as a drm_bridge.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
[bjorn: Drop connector->fwnode assignment and dev from struct msm_dp]
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 22 ++++++++++++++++++++++
 drivers/gpu/drm/msm/dp/dp_drm.c     |  1 +
 drivers/gpu/drm/msm/dp/dp_drm.h     |  2 ++
 3 files changed, 25 insertions(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index 699f28f2251e..a4563a0753b0 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -1765,3 +1765,25 @@ void dp_bridge_mode_set(struct drm_bridge *drm_bridge,
 	dp_display->dp_mode.h_active_low =
 		!!(dp_display->dp_mode.drm_mode.flags & DRM_MODE_FLAG_NHSYNC);
 }
+
+void dp_bridge_hpd_notify(struct drm_bridge *bridge,
+			  enum drm_connector_status status)
+{
+	struct msm_dp_bridge *dp_bridge = to_dp_bridge(bridge);
+	struct msm_dp *dp_display = dp_bridge->dp_display;
+	struct dp_display_private *dp = container_of(dp_display, struct dp_display_private, dp_display);
+
+	/* Without next_bridge interrupts are handled by the DP core directly */
+	if (!dp_display->next_bridge)
+		return;
+
+	if (!dp->core_initialized) {
+		drm_dbg_dp(dp->drm_dev, "not initialized\n");
+		return;
+	}
+
+	if (!dp_display->is_connected && status == connector_status_connected)
+		dp_add_event(dp, EV_HPD_PLUG_INT, 0, 0);
+	else if (dp_display->is_connected && status == connector_status_disconnected)
+		dp_add_event(dp, EV_HPD_UNPLUG_INT, 0, 0);
+}
diff --git a/drivers/gpu/drm/msm/dp/dp_drm.c b/drivers/gpu/drm/msm/dp/dp_drm.c
index 6df25f7662e7..1a02ec029fdd 100644
--- a/drivers/gpu/drm/msm/dp/dp_drm.c
+++ b/drivers/gpu/drm/msm/dp/dp_drm.c
@@ -68,6 +68,7 @@ static const struct drm_bridge_funcs dp_bridge_ops = {
 	.mode_valid   = dp_bridge_mode_valid,
 	.get_modes    = dp_bridge_get_modes,
 	.detect       = dp_bridge_detect,
+	.hpd_notify   = dp_bridge_hpd_notify,
 };
 
 struct drm_bridge *dp_bridge_init(struct msm_dp *dp_display, struct drm_device *dev,
diff --git a/drivers/gpu/drm/msm/dp/dp_drm.h b/drivers/gpu/drm/msm/dp/dp_drm.h
index 82035dbb0578..79e6b2cf2d25 100644
--- a/drivers/gpu/drm/msm/dp/dp_drm.h
+++ b/drivers/gpu/drm/msm/dp/dp_drm.h
@@ -32,5 +32,7 @@ enum drm_mode_status dp_bridge_mode_valid(struct drm_bridge *bridge,
 void dp_bridge_mode_set(struct drm_bridge *drm_bridge,
 			const struct drm_display_mode *mode,
 			const struct drm_display_mode *adjusted_mode);
+void dp_bridge_hpd_notify(struct drm_bridge *bridge,
+			  enum drm_connector_status status);
 
 #endif /* _DP_DRM_H_ */
-- 
2.17.1


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

* [PATCH v2 5/7] drm/msm/dp: Implement hpd_notify()
@ 2022-09-16 20:00   ` Bjorn Andersson
  0 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: devicetree, Sankeerth Billakanti, linux-arm-msm, linux-kernel,
	dri-devel, Kuogee Hsieh, Rob Herring, Krzysztof Kozlowski,
	Stephen Boyd, freedreno

From: Bjorn Andersson <bjorn.andersson@linaro.org>

The DisplayPort controller's hot-plug mechanism is based on pinmuxing a
physical signal no a GPIO pin into the controller. This is not always
possible, either because there aren't dedicated GPIOs available or
because the hot-plug signal is a virtual notification, in cases such as
USB Type-C.

For these cases, by implementing the hpd_notify() callback for the
DisplayPort controller's drm_bridge, a downstream drm_bridge
(next_bridge) can be used to track and signal the connection status
changes.

This makes it possible to use downstream drm_bridges such as
display-connector or any virtual mechanism, as long as they are
implemented as a drm_bridge.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
[bjorn: Drop connector->fwnode assignment and dev from struct msm_dp]
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 22 ++++++++++++++++++++++
 drivers/gpu/drm/msm/dp/dp_drm.c     |  1 +
 drivers/gpu/drm/msm/dp/dp_drm.h     |  2 ++
 3 files changed, 25 insertions(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index 699f28f2251e..a4563a0753b0 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -1765,3 +1765,25 @@ void dp_bridge_mode_set(struct drm_bridge *drm_bridge,
 	dp_display->dp_mode.h_active_low =
 		!!(dp_display->dp_mode.drm_mode.flags & DRM_MODE_FLAG_NHSYNC);
 }
+
+void dp_bridge_hpd_notify(struct drm_bridge *bridge,
+			  enum drm_connector_status status)
+{
+	struct msm_dp_bridge *dp_bridge = to_dp_bridge(bridge);
+	struct msm_dp *dp_display = dp_bridge->dp_display;
+	struct dp_display_private *dp = container_of(dp_display, struct dp_display_private, dp_display);
+
+	/* Without next_bridge interrupts are handled by the DP core directly */
+	if (!dp_display->next_bridge)
+		return;
+
+	if (!dp->core_initialized) {
+		drm_dbg_dp(dp->drm_dev, "not initialized\n");
+		return;
+	}
+
+	if (!dp_display->is_connected && status == connector_status_connected)
+		dp_add_event(dp, EV_HPD_PLUG_INT, 0, 0);
+	else if (dp_display->is_connected && status == connector_status_disconnected)
+		dp_add_event(dp, EV_HPD_UNPLUG_INT, 0, 0);
+}
diff --git a/drivers/gpu/drm/msm/dp/dp_drm.c b/drivers/gpu/drm/msm/dp/dp_drm.c
index 6df25f7662e7..1a02ec029fdd 100644
--- a/drivers/gpu/drm/msm/dp/dp_drm.c
+++ b/drivers/gpu/drm/msm/dp/dp_drm.c
@@ -68,6 +68,7 @@ static const struct drm_bridge_funcs dp_bridge_ops = {
 	.mode_valid   = dp_bridge_mode_valid,
 	.get_modes    = dp_bridge_get_modes,
 	.detect       = dp_bridge_detect,
+	.hpd_notify   = dp_bridge_hpd_notify,
 };
 
 struct drm_bridge *dp_bridge_init(struct msm_dp *dp_display, struct drm_device *dev,
diff --git a/drivers/gpu/drm/msm/dp/dp_drm.h b/drivers/gpu/drm/msm/dp/dp_drm.h
index 82035dbb0578..79e6b2cf2d25 100644
--- a/drivers/gpu/drm/msm/dp/dp_drm.h
+++ b/drivers/gpu/drm/msm/dp/dp_drm.h
@@ -32,5 +32,7 @@ enum drm_mode_status dp_bridge_mode_valid(struct drm_bridge *bridge,
 void dp_bridge_mode_set(struct drm_bridge *drm_bridge,
 			const struct drm_display_mode *mode,
 			const struct drm_display_mode *adjusted_mode);
+void dp_bridge_hpd_notify(struct drm_bridge *bridge,
+			  enum drm_connector_status status);
 
 #endif /* _DP_DRM_H_ */
-- 
2.17.1


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

* [PATCH v2 6/7] drm/msm/dp: Don't enable HPD interrupts for edp
  2022-09-16 20:00 ` Bjorn Andersson
@ 2022-09-16 20:00   ` Bjorn Andersson
  -1 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

From: Bjorn Andersson <bjorn.andersson@linaro.org>

Most instances where HPD interrupts are masked and unmasked are guareded
by the presence of an EDP panel being connected, but not all. Extend
this to cover the last few places, as HPD interrupt handling is not used
for the EDP case.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index a4563a0753b0..3d365950de0f 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -610,8 +610,10 @@ static int dp_hpd_plug_handle(struct dp_display_private *dp, u32 data)
 	}
 
 	/* enable HDP irq_hpd/replug interrupt */
-	dp_catalog_hpd_config_intr(dp->catalog,
-		DP_DP_IRQ_HPD_INT_MASK | DP_DP_HPD_REPLUG_INT_MASK, true);
+	if (!dp->dp_display.is_edp)
+		dp_catalog_hpd_config_intr(dp->catalog,
+					   DP_DP_IRQ_HPD_INT_MASK | DP_DP_HPD_REPLUG_INT_MASK,
+					   true);
 
 	drm_dbg_dp(dp->drm_dev, "After, type=%d hpd_state=%d\n",
 			dp->dp_display.connector_type, state);
@@ -651,8 +653,10 @@ static int dp_hpd_unplug_handle(struct dp_display_private *dp, u32 data)
 			dp->dp_display.connector_type, state);
 
 	/* disable irq_hpd/replug interrupts */
-	dp_catalog_hpd_config_intr(dp->catalog,
-		DP_DP_IRQ_HPD_INT_MASK | DP_DP_HPD_REPLUG_INT_MASK, false);
+	if (!dp->dp_display.is_edp)
+		dp_catalog_hpd_config_intr(dp->catalog,
+					   DP_DP_IRQ_HPD_INT_MASK | DP_DP_HPD_REPLUG_INT_MASK,
+					   false);
 
 	/* unplugged, no more irq_hpd handle */
 	dp_del_event(dp, EV_IRQ_HPD_INT);
@@ -678,7 +682,8 @@ static int dp_hpd_unplug_handle(struct dp_display_private *dp, u32 data)
 	}
 
 	/* disable HPD plug interrupts */
-	dp_catalog_hpd_config_intr(dp->catalog, DP_DP_HPD_PLUG_INT_MASK, false);
+	if (!dp->dp_display.is_edp)
+		dp_catalog_hpd_config_intr(dp->catalog, DP_DP_HPD_PLUG_INT_MASK, false);
 
 	/*
 	 * We don't need separate work for disconnect as
-- 
2.17.1


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

* [PATCH v2 6/7] drm/msm/dp: Don't enable HPD interrupts for edp
@ 2022-09-16 20:00   ` Bjorn Andersson
  0 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: devicetree, Sankeerth Billakanti, linux-arm-msm, linux-kernel,
	dri-devel, Kuogee Hsieh, Rob Herring, Krzysztof Kozlowski,
	Stephen Boyd, freedreno

From: Bjorn Andersson <bjorn.andersson@linaro.org>

Most instances where HPD interrupts are masked and unmasked are guareded
by the presence of an EDP panel being connected, but not all. Extend
this to cover the last few places, as HPD interrupt handling is not used
for the EDP case.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index a4563a0753b0..3d365950de0f 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -610,8 +610,10 @@ static int dp_hpd_plug_handle(struct dp_display_private *dp, u32 data)
 	}
 
 	/* enable HDP irq_hpd/replug interrupt */
-	dp_catalog_hpd_config_intr(dp->catalog,
-		DP_DP_IRQ_HPD_INT_MASK | DP_DP_HPD_REPLUG_INT_MASK, true);
+	if (!dp->dp_display.is_edp)
+		dp_catalog_hpd_config_intr(dp->catalog,
+					   DP_DP_IRQ_HPD_INT_MASK | DP_DP_HPD_REPLUG_INT_MASK,
+					   true);
 
 	drm_dbg_dp(dp->drm_dev, "After, type=%d hpd_state=%d\n",
 			dp->dp_display.connector_type, state);
@@ -651,8 +653,10 @@ static int dp_hpd_unplug_handle(struct dp_display_private *dp, u32 data)
 			dp->dp_display.connector_type, state);
 
 	/* disable irq_hpd/replug interrupts */
-	dp_catalog_hpd_config_intr(dp->catalog,
-		DP_DP_IRQ_HPD_INT_MASK | DP_DP_HPD_REPLUG_INT_MASK, false);
+	if (!dp->dp_display.is_edp)
+		dp_catalog_hpd_config_intr(dp->catalog,
+					   DP_DP_IRQ_HPD_INT_MASK | DP_DP_HPD_REPLUG_INT_MASK,
+					   false);
 
 	/* unplugged, no more irq_hpd handle */
 	dp_del_event(dp, EV_IRQ_HPD_INT);
@@ -678,7 +682,8 @@ static int dp_hpd_unplug_handle(struct dp_display_private *dp, u32 data)
 	}
 
 	/* disable HPD plug interrupts */
-	dp_catalog_hpd_config_intr(dp->catalog, DP_DP_HPD_PLUG_INT_MASK, false);
+	if (!dp->dp_display.is_edp)
+		dp_catalog_hpd_config_intr(dp->catalog, DP_DP_HPD_PLUG_INT_MASK, false);
 
 	/*
 	 * We don't need separate work for disconnect as
-- 
2.17.1


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

* [PATCH v2 7/7] drm/msm/dp: HPD handling relates to next_bridge
  2022-09-16 20:00 ` Bjorn Andersson
@ 2022-09-16 20:00   ` Bjorn Andersson
  -1 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

From: Bjorn Andersson <bjorn.andersson@linaro.org>

The DisplayPort controller's internal HPD interrupt handling is used for
cases where the HPD signal is connected to a GPIO which is pinmuxed into
the DisplayPort controller.

Most of the logic for enabling and disabling the HPD-related interrupts
is conditioned on the presence of an EDP panel, but more generically
designs that has a downstream drm_bridge (next_bridge) could use this to
handle the HPD interrupts, instead of the internal mechanism.

So replace the current is_edp-based guards with a check for the presence
of next_bridge.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index 3d365950de0f..224ae3aa07c4 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -610,7 +610,7 @@ static int dp_hpd_plug_handle(struct dp_display_private *dp, u32 data)
 	}
 
 	/* enable HDP irq_hpd/replug interrupt */
-	if (!dp->dp_display.is_edp)
+	if (!dp->dp_display.next_bridge)
 		dp_catalog_hpd_config_intr(dp->catalog,
 					   DP_DP_IRQ_HPD_INT_MASK | DP_DP_HPD_REPLUG_INT_MASK,
 					   true);
@@ -653,7 +653,7 @@ static int dp_hpd_unplug_handle(struct dp_display_private *dp, u32 data)
 			dp->dp_display.connector_type, state);
 
 	/* disable irq_hpd/replug interrupts */
-	if (!dp->dp_display.is_edp)
+	if (!dp->dp_display.next_bridge)
 		dp_catalog_hpd_config_intr(dp->catalog,
 					   DP_DP_IRQ_HPD_INT_MASK | DP_DP_HPD_REPLUG_INT_MASK,
 					   false);
@@ -682,7 +682,7 @@ static int dp_hpd_unplug_handle(struct dp_display_private *dp, u32 data)
 	}
 
 	/* disable HPD plug interrupts */
-	if (!dp->dp_display.is_edp)
+	if (!dp->dp_display.next_bridge)
 		dp_catalog_hpd_config_intr(dp->catalog, DP_DP_HPD_PLUG_INT_MASK, false);
 
 	/*
@@ -701,7 +701,7 @@ static int dp_hpd_unplug_handle(struct dp_display_private *dp, u32 data)
 	dp_display_handle_plugged_change(&dp->dp_display, false);
 
 	/* enable HDP plug interrupt to prepare for next plugin */
-	if (!dp->dp_display.is_edp)
+	if (!dp->dp_display.next_bridge)
 		dp_catalog_hpd_config_intr(dp->catalog, DP_DP_HPD_PLUG_INT_MASK, true);
 
 	drm_dbg_dp(dp->drm_dev, "After, type=%d hpd_state=%d\n",
@@ -1086,8 +1086,8 @@ static void dp_display_config_hpd(struct dp_display_private *dp)
 	dp_display_host_init(dp);
 	dp_catalog_ctrl_hpd_config(dp->catalog);
 
-	/* Enable plug and unplug interrupts only for external DisplayPort */
-	if (!dp->dp_display.is_edp)
+	/* Enable plug and unplug interrupts only if not handled by next_bridge */
+	if (!dp->dp_display.next_bridge)
 		dp_catalog_hpd_config_intr(dp->catalog,
 				DP_DP_HPD_PLUG_INT_MASK |
 				DP_DP_HPD_UNPLUG_INT_MASK,
@@ -1379,8 +1379,7 @@ static int dp_pm_resume(struct device *dev)
 
 	dp_catalog_ctrl_hpd_config(dp->catalog);
 
-
-	if (!dp->dp_display.is_edp)
+	if (!dp->dp_display.next_bridge)
 		dp_catalog_hpd_config_intr(dp->catalog,
 				DP_DP_HPD_PLUG_INT_MASK |
 				DP_DP_HPD_UNPLUG_INT_MASK,
-- 
2.17.1


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

* [PATCH v2 7/7] drm/msm/dp: HPD handling relates to next_bridge
@ 2022-09-16 20:00   ` Bjorn Andersson
  0 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-16 20:00 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: devicetree, Sankeerth Billakanti, linux-arm-msm, linux-kernel,
	dri-devel, Kuogee Hsieh, Rob Herring, Krzysztof Kozlowski,
	Stephen Boyd, freedreno

From: Bjorn Andersson <bjorn.andersson@linaro.org>

The DisplayPort controller's internal HPD interrupt handling is used for
cases where the HPD signal is connected to a GPIO which is pinmuxed into
the DisplayPort controller.

Most of the logic for enabling and disabling the HPD-related interrupts
is conditioned on the presence of an EDP panel, but more generically
designs that has a downstream drm_bridge (next_bridge) could use this to
handle the HPD interrupts, instead of the internal mechanism.

So replace the current is_edp-based guards with a check for the presence
of next_bridge.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index 3d365950de0f..224ae3aa07c4 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -610,7 +610,7 @@ static int dp_hpd_plug_handle(struct dp_display_private *dp, u32 data)
 	}
 
 	/* enable HDP irq_hpd/replug interrupt */
-	if (!dp->dp_display.is_edp)
+	if (!dp->dp_display.next_bridge)
 		dp_catalog_hpd_config_intr(dp->catalog,
 					   DP_DP_IRQ_HPD_INT_MASK | DP_DP_HPD_REPLUG_INT_MASK,
 					   true);
@@ -653,7 +653,7 @@ static int dp_hpd_unplug_handle(struct dp_display_private *dp, u32 data)
 			dp->dp_display.connector_type, state);
 
 	/* disable irq_hpd/replug interrupts */
-	if (!dp->dp_display.is_edp)
+	if (!dp->dp_display.next_bridge)
 		dp_catalog_hpd_config_intr(dp->catalog,
 					   DP_DP_IRQ_HPD_INT_MASK | DP_DP_HPD_REPLUG_INT_MASK,
 					   false);
@@ -682,7 +682,7 @@ static int dp_hpd_unplug_handle(struct dp_display_private *dp, u32 data)
 	}
 
 	/* disable HPD plug interrupts */
-	if (!dp->dp_display.is_edp)
+	if (!dp->dp_display.next_bridge)
 		dp_catalog_hpd_config_intr(dp->catalog, DP_DP_HPD_PLUG_INT_MASK, false);
 
 	/*
@@ -701,7 +701,7 @@ static int dp_hpd_unplug_handle(struct dp_display_private *dp, u32 data)
 	dp_display_handle_plugged_change(&dp->dp_display, false);
 
 	/* enable HDP plug interrupt to prepare for next plugin */
-	if (!dp->dp_display.is_edp)
+	if (!dp->dp_display.next_bridge)
 		dp_catalog_hpd_config_intr(dp->catalog, DP_DP_HPD_PLUG_INT_MASK, true);
 
 	drm_dbg_dp(dp->drm_dev, "After, type=%d hpd_state=%d\n",
@@ -1086,8 +1086,8 @@ static void dp_display_config_hpd(struct dp_display_private *dp)
 	dp_display_host_init(dp);
 	dp_catalog_ctrl_hpd_config(dp->catalog);
 
-	/* Enable plug and unplug interrupts only for external DisplayPort */
-	if (!dp->dp_display.is_edp)
+	/* Enable plug and unplug interrupts only if not handled by next_bridge */
+	if (!dp->dp_display.next_bridge)
 		dp_catalog_hpd_config_intr(dp->catalog,
 				DP_DP_HPD_PLUG_INT_MASK |
 				DP_DP_HPD_UNPLUG_INT_MASK,
@@ -1379,8 +1379,7 @@ static int dp_pm_resume(struct device *dev)
 
 	dp_catalog_ctrl_hpd_config(dp->catalog);
 
-
-	if (!dp->dp_display.is_edp)
+	if (!dp->dp_display.next_bridge)
 		dp_catalog_hpd_config_intr(dp->catalog,
 				DP_DP_HPD_PLUG_INT_MASK |
 				DP_DP_HPD_UNPLUG_INT_MASK,
-- 
2.17.1


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

* Re: [PATCH v2 5/7] drm/msm/dp: Implement hpd_notify()
  2022-09-16 20:00   ` Bjorn Andersson
@ 2022-09-16 21:17     ` Jeff Johnson
  -1 siblings, 0 replies; 34+ messages in thread
From: Jeff Johnson @ 2022-09-16 21:17 UTC (permalink / raw)
  To: Bjorn Andersson, Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

On 9/16/2022 1:00 PM, Bjorn Andersson wrote:
> From: Bjorn Andersson <bjorn.andersson@linaro.org>
> 
> The DisplayPort controller's hot-plug mechanism is based on pinmuxing a
> physical signal no a GPIO pin into the controller. This is not always

nit: s/ no / on /?

> possible, either because there aren't dedicated GPIOs available or
> because the hot-plug signal is a virtual notification, in cases such as
> USB Type-C.


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

* Re: [PATCH v2 5/7] drm/msm/dp: Implement hpd_notify()
@ 2022-09-16 21:17     ` Jeff Johnson
  0 siblings, 0 replies; 34+ messages in thread
From: Jeff Johnson @ 2022-09-16 21:17 UTC (permalink / raw)
  To: Bjorn Andersson, Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: devicetree, Sankeerth Billakanti, linux-arm-msm, linux-kernel,
	dri-devel, Kuogee Hsieh, Rob Herring, Krzysztof Kozlowski,
	Stephen Boyd, freedreno

On 9/16/2022 1:00 PM, Bjorn Andersson wrote:
> From: Bjorn Andersson <bjorn.andersson@linaro.org>
> 
> The DisplayPort controller's hot-plug mechanism is based on pinmuxing a
> physical signal no a GPIO pin into the controller. This is not always

nit: s/ no / on /?

> possible, either because there aren't dedicated GPIOs available or
> because the hot-plug signal is a virtual notification, in cases such as
> USB Type-C.


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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
  2022-09-16 20:00   ` Bjorn Andersson
@ 2022-09-17 17:03     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 34+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-17 17:03 UTC (permalink / raw)
  To: Bjorn Andersson, Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

On 16/09/2022 21:00, Bjorn Andersson wrote:
> From: Bjorn Andersson <bjorn.andersson@linaro.org>
> 
> Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
> Qualcomm SDM845 and SC8280XP platforms.
> 
> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>

No need for quicinc SoB (unless you also take ownership).

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>\


Best regards,
Krzysztof

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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
@ 2022-09-17 17:03     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 34+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-17 17:03 UTC (permalink / raw)
  To: Bjorn Andersson, Rob Clark, Abhinav Kumar, Dmitry Baryshkov
  Cc: devicetree, Sankeerth Billakanti, linux-arm-msm, linux-kernel,
	dri-devel, Kuogee Hsieh, Rob Herring, Krzysztof Kozlowski,
	Stephen Boyd, freedreno

On 16/09/2022 21:00, Bjorn Andersson wrote:
> From: Bjorn Andersson <bjorn.andersson@linaro.org>
> 
> Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
> Qualcomm SDM845 and SC8280XP platforms.
> 
> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>

No need for quicinc SoB (unless you also take ownership).

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>\


Best regards,
Krzysztof

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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
  2022-09-17 17:03     ` Krzysztof Kozlowski
@ 2022-09-19 21:18       ` Bjorn Andersson
  -1 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-19 21:18 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Bjorn Andersson, Rob Clark, Abhinav Kumar, Dmitry Baryshkov,
	Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

On Sat, Sep 17, 2022 at 06:03:27PM +0100, Krzysztof Kozlowski wrote:
> On 16/09/2022 21:00, Bjorn Andersson wrote:
> > From: Bjorn Andersson <bjorn.andersson@linaro.org>
> > 
> > Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
> > Qualcomm SDM845 and SC8280XP platforms.
> > 
> > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> > Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
> 
> No need for quicinc SoB (unless you also take ownership).
> 

It's my understanding that both needs to be there. Bjorn @ Linaro
authored the patch and the author must certify its origin, but as the
submitter I must certify its origin.

I'm not entirely sure what you mean about taking ownership, I am going
to pursue getting these patches landed. But it wouldn't be correct for
new me to claim I authored them.

Regards,
Bjorn

> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>\
> 
> 
> Best regards,
> Krzysztof

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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
@ 2022-09-19 21:18       ` Bjorn Andersson
  0 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-19 21:18 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: devicetree, Sankeerth Billakanti, Bjorn Andersson, linux-arm-msm,
	Abhinav Kumar, dri-devel, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Dmitry Baryshkov, Kuogee Hsieh, freedreno,
	linux-kernel

On Sat, Sep 17, 2022 at 06:03:27PM +0100, Krzysztof Kozlowski wrote:
> On 16/09/2022 21:00, Bjorn Andersson wrote:
> > From: Bjorn Andersson <bjorn.andersson@linaro.org>
> > 
> > Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
> > Qualcomm SDM845 and SC8280XP platforms.
> > 
> > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> > Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
> 
> No need for quicinc SoB (unless you also take ownership).
> 

It's my understanding that both needs to be there. Bjorn @ Linaro
authored the patch and the author must certify its origin, but as the
submitter I must certify its origin.

I'm not entirely sure what you mean about taking ownership, I am going
to pursue getting these patches landed. But it wouldn't be correct for
new me to claim I authored them.

Regards,
Bjorn

> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>\
> 
> 
> Best regards,
> Krzysztof

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

* Re: [PATCH v2 5/7] drm/msm/dp: Implement hpd_notify()
  2022-09-16 21:17     ` Jeff Johnson
@ 2022-09-19 21:22       ` Bjorn Andersson
  -1 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-19 21:22 UTC (permalink / raw)
  To: Jeff Johnson
  Cc: Bjorn Andersson, Rob Clark, Abhinav Kumar, Dmitry Baryshkov,
	Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

On Fri, Sep 16, 2022 at 02:17:30PM -0700, Jeff Johnson wrote:
> On 9/16/2022 1:00 PM, Bjorn Andersson wrote:
> > From: Bjorn Andersson <bjorn.andersson@linaro.org>
> > 
> > The DisplayPort controller's hot-plug mechanism is based on pinmuxing a
> > physical signal no a GPIO pin into the controller. This is not always
> 
> nit: s/ no / on /?
> 

Correct, thank you Jeff.

> > possible, either because there aren't dedicated GPIOs available or
> > because the hot-plug signal is a virtual notification, in cases such as
> > USB Type-C.
> 

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

* Re: [PATCH v2 5/7] drm/msm/dp: Implement hpd_notify()
@ 2022-09-19 21:22       ` Bjorn Andersson
  0 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-19 21:22 UTC (permalink / raw)
  To: Jeff Johnson
  Cc: devicetree, Sankeerth Billakanti, Bjorn Andersson, linux-arm-msm,
	Abhinav Kumar, dri-devel, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Dmitry Baryshkov, Kuogee Hsieh, freedreno,
	linux-kernel

On Fri, Sep 16, 2022 at 02:17:30PM -0700, Jeff Johnson wrote:
> On 9/16/2022 1:00 PM, Bjorn Andersson wrote:
> > From: Bjorn Andersson <bjorn.andersson@linaro.org>
> > 
> > The DisplayPort controller's hot-plug mechanism is based on pinmuxing a
> > physical signal no a GPIO pin into the controller. This is not always
> 
> nit: s/ no / on /?
> 

Correct, thank you Jeff.

> > possible, either because there aren't dedicated GPIOs available or
> > because the hot-plug signal is a virtual notification, in cases such as
> > USB Type-C.
> 

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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
  2022-09-19 21:18       ` Bjorn Andersson
@ 2022-09-20  7:09         ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 34+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-20  7:09 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Bjorn Andersson, Rob Clark, Abhinav Kumar, Dmitry Baryshkov,
	Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

On 19/09/2022 23:18, Bjorn Andersson wrote:
> On Sat, Sep 17, 2022 at 06:03:27PM +0100, Krzysztof Kozlowski wrote:
>> On 16/09/2022 21:00, Bjorn Andersson wrote:
>>> From: Bjorn Andersson <bjorn.andersson@linaro.org>
>>>
>>> Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
>>> Qualcomm SDM845 and SC8280XP platforms.
>>>
>>> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
>>> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
>>
>> No need for quicinc SoB (unless you also take ownership).
>>
> 
> It's my understanding that both needs to be there. Bjorn @ Linaro
> authored the patch and the author must certify its origin, but as the
> submitter I must certify its origin.

It's the same person. There are no two Bjorns (unless there are :) ), so
you certify with old email. SoB chain is coming from people, not email
addresses.

And it is not only my understanding of SoB chain.
https://lore.kernel.org/all/YuKcBO5JatwRYQJ3@kroah.com/

> 
> I'm not entirely sure what you mean about taking ownership, 

I meant you to be the author of the commit.

> I am going
> to pursue getting these patches landed. But it wouldn't be correct for
> new me to claim I authored them.

Yeah, that's true.


Best regards,
Krzysztof

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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
@ 2022-09-20  7:09         ` Krzysztof Kozlowski
  0 siblings, 0 replies; 34+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-20  7:09 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: devicetree, Sankeerth Billakanti, Bjorn Andersson, linux-arm-msm,
	Abhinav Kumar, dri-devel, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Dmitry Baryshkov, Kuogee Hsieh, freedreno,
	linux-kernel

On 19/09/2022 23:18, Bjorn Andersson wrote:
> On Sat, Sep 17, 2022 at 06:03:27PM +0100, Krzysztof Kozlowski wrote:
>> On 16/09/2022 21:00, Bjorn Andersson wrote:
>>> From: Bjorn Andersson <bjorn.andersson@linaro.org>
>>>
>>> Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
>>> Qualcomm SDM845 and SC8280XP platforms.
>>>
>>> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
>>> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
>>
>> No need for quicinc SoB (unless you also take ownership).
>>
> 
> It's my understanding that both needs to be there. Bjorn @ Linaro
> authored the patch and the author must certify its origin, but as the
> submitter I must certify its origin.

It's the same person. There are no two Bjorns (unless there are :) ), so
you certify with old email. SoB chain is coming from people, not email
addresses.

And it is not only my understanding of SoB chain.
https://lore.kernel.org/all/YuKcBO5JatwRYQJ3@kroah.com/

> 
> I'm not entirely sure what you mean about taking ownership, 

I meant you to be the author of the commit.

> I am going
> to pursue getting these patches landed. But it wouldn't be correct for
> new me to claim I authored them.

Yeah, that's true.


Best regards,
Krzysztof

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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
  2022-09-20  7:09         ` Krzysztof Kozlowski
@ 2022-09-22  0:14           ` Bjorn Andersson
  -1 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-22  0:14 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Bjorn Andersson, Rob Clark, Abhinav Kumar, Dmitry Baryshkov,
	Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

On Tue, Sep 20, 2022 at 09:09:13AM +0200, Krzysztof Kozlowski wrote:
> On 19/09/2022 23:18, Bjorn Andersson wrote:
> > On Sat, Sep 17, 2022 at 06:03:27PM +0100, Krzysztof Kozlowski wrote:
> >> On 16/09/2022 21:00, Bjorn Andersson wrote:
> >>> From: Bjorn Andersson <bjorn.andersson@linaro.org>
> >>>
> >>> Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
> >>> Qualcomm SDM845 and SC8280XP platforms.
> >>>
> >>> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> >>> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
> >>
> >> No need for quicinc SoB (unless you also take ownership).
> >>
> > 
> > It's my understanding that both needs to be there. Bjorn @ Linaro
> > authored the patch and the author must certify its origin, but as the
> > submitter I must certify its origin.
> 
> It's the same person. There are no two Bjorns (unless there are :) ), so
> you certify with old email. SoB chain is coming from people, not email
> addresses.
> 

IANAL, but I don't think it's the same person. I can't use my old
signature to certify the origin in a contribution today and I can't
claim authorship of something Linaro did.

> And it is not only my understanding of SoB chain.
> https://lore.kernel.org/all/YuKcBO5JatwRYQJ3@kroah.com/
> 

Again, IANAL, but I think the situation is different given AMD and
Xilinx relationship.

> > 
> > I'm not entirely sure what you mean about taking ownership, 
> 
> I meant you to be the author of the commit.
> 

As mentioned above, I can't do that.

Regards,
Bjorn

> > I am going
> > to pursue getting these patches landed. But it wouldn't be correct for
> > new me to claim I authored them.
> 
> Yeah, that's true.
> 
> 
> Best regards,
> Krzysztof

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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
@ 2022-09-22  0:14           ` Bjorn Andersson
  0 siblings, 0 replies; 34+ messages in thread
From: Bjorn Andersson @ 2022-09-22  0:14 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: devicetree, Sankeerth Billakanti, Bjorn Andersson, linux-arm-msm,
	Abhinav Kumar, dri-devel, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Dmitry Baryshkov, Kuogee Hsieh, freedreno,
	linux-kernel

On Tue, Sep 20, 2022 at 09:09:13AM +0200, Krzysztof Kozlowski wrote:
> On 19/09/2022 23:18, Bjorn Andersson wrote:
> > On Sat, Sep 17, 2022 at 06:03:27PM +0100, Krzysztof Kozlowski wrote:
> >> On 16/09/2022 21:00, Bjorn Andersson wrote:
> >>> From: Bjorn Andersson <bjorn.andersson@linaro.org>
> >>>
> >>> Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
> >>> Qualcomm SDM845 and SC8280XP platforms.
> >>>
> >>> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> >>> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
> >>
> >> No need for quicinc SoB (unless you also take ownership).
> >>
> > 
> > It's my understanding that both needs to be there. Bjorn @ Linaro
> > authored the patch and the author must certify its origin, but as the
> > submitter I must certify its origin.
> 
> It's the same person. There are no two Bjorns (unless there are :) ), so
> you certify with old email. SoB chain is coming from people, not email
> addresses.
> 

IANAL, but I don't think it's the same person. I can't use my old
signature to certify the origin in a contribution today and I can't
claim authorship of something Linaro did.

> And it is not only my understanding of SoB chain.
> https://lore.kernel.org/all/YuKcBO5JatwRYQJ3@kroah.com/
> 

Again, IANAL, but I think the situation is different given AMD and
Xilinx relationship.

> > 
> > I'm not entirely sure what you mean about taking ownership, 
> 
> I meant you to be the author of the commit.
> 

As mentioned above, I can't do that.

Regards,
Bjorn

> > I am going
> > to pursue getting these patches landed. But it wouldn't be correct for
> > new me to claim I authored them.
> 
> Yeah, that's true.
> 
> 
> Best regards,
> Krzysztof

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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
  2022-09-22  0:14           ` Bjorn Andersson
@ 2022-09-22 15:37             ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 34+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-22 15:37 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Bjorn Andersson, Rob Clark, Abhinav Kumar, Dmitry Baryshkov,
	Rob Herring, Krzysztof Kozlowski, Stephen Boyd, Kuogee Hsieh,
	Sankeerth Billakanti, linux-arm-msm, dri-devel, freedreno,
	devicetree, linux-kernel

On 22/09/2022 02:14, Bjorn Andersson wrote:
> On Tue, Sep 20, 2022 at 09:09:13AM +0200, Krzysztof Kozlowski wrote:
>> On 19/09/2022 23:18, Bjorn Andersson wrote:
>>> On Sat, Sep 17, 2022 at 06:03:27PM +0100, Krzysztof Kozlowski wrote:
>>>> On 16/09/2022 21:00, Bjorn Andersson wrote:
>>>>> From: Bjorn Andersson <bjorn.andersson@linaro.org>
>>>>>
>>>>> Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
>>>>> Qualcomm SDM845 and SC8280XP platforms.
>>>>>
>>>>> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
>>>>> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
>>>>
>>>> No need for quicinc SoB (unless you also take ownership).
>>>>
>>>
>>> It's my understanding that both needs to be there. Bjorn @ Linaro
>>> authored the patch and the author must certify its origin, but as the
>>> submitter I must certify its origin.
>>
>> It's the same person. There are no two Bjorns (unless there are :) ), so
>> you certify with old email. SoB chain is coming from people, not email
>> addresses.
>>
> 
> IANAL, but I don't think it's the same person. I can't use my old
> signature to certify the origin in a contribution today and I can't
> claim authorship of something Linaro did.

Fine with me.

> 
>> And it is not only my understanding of SoB chain.
>> https://lore.kernel.org/all/YuKcBO5JatwRYQJ3@kroah.com/
>>
> 
> Again, IANAL, but I think the situation is different given AMD and
> Xilinx relationship.

Hm, I am not sure how it is different. We might know or we might know
the change of ownership. Maybe the change of owner came with copyrights,
maybe not (someone else bought them). I don't know, there can be many
cases here. I interpret Greg's point there as in SoB statement - the
person, not email address, certifies.

Anyway, this is not a blocker for the patch.


Best regards,
Krzysztof


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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
@ 2022-09-22 15:37             ` Krzysztof Kozlowski
  0 siblings, 0 replies; 34+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-22 15:37 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: devicetree, Sankeerth Billakanti, Bjorn Andersson, linux-arm-msm,
	Abhinav Kumar, dri-devel, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Dmitry Baryshkov, Kuogee Hsieh, freedreno,
	linux-kernel

On 22/09/2022 02:14, Bjorn Andersson wrote:
> On Tue, Sep 20, 2022 at 09:09:13AM +0200, Krzysztof Kozlowski wrote:
>> On 19/09/2022 23:18, Bjorn Andersson wrote:
>>> On Sat, Sep 17, 2022 at 06:03:27PM +0100, Krzysztof Kozlowski wrote:
>>>> On 16/09/2022 21:00, Bjorn Andersson wrote:
>>>>> From: Bjorn Andersson <bjorn.andersson@linaro.org>
>>>>>
>>>>> Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
>>>>> Qualcomm SDM845 and SC8280XP platforms.
>>>>>
>>>>> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
>>>>> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
>>>>
>>>> No need for quicinc SoB (unless you also take ownership).
>>>>
>>>
>>> It's my understanding that both needs to be there. Bjorn @ Linaro
>>> authored the patch and the author must certify its origin, but as the
>>> submitter I must certify its origin.
>>
>> It's the same person. There are no two Bjorns (unless there are :) ), so
>> you certify with old email. SoB chain is coming from people, not email
>> addresses.
>>
> 
> IANAL, but I don't think it's the same person. I can't use my old
> signature to certify the origin in a contribution today and I can't
> claim authorship of something Linaro did.

Fine with me.

> 
>> And it is not only my understanding of SoB chain.
>> https://lore.kernel.org/all/YuKcBO5JatwRYQJ3@kroah.com/
>>
> 
> Again, IANAL, but I think the situation is different given AMD and
> Xilinx relationship.

Hm, I am not sure how it is different. We might know or we might know
the change of ownership. Maybe the change of owner came with copyrights,
maybe not (someone else bought them). I don't know, there can be many
cases here. I interpret Greg's point there as in SoB statement - the
person, not email address, certifies.

Anyway, this is not a blocker for the patch.


Best regards,
Krzysztof


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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
  2022-09-22 15:37             ` Krzysztof Kozlowski
@ 2022-09-26 15:13               ` Rob Herring
  -1 siblings, 0 replies; 34+ messages in thread
From: Rob Herring @ 2022-09-26 15:13 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: devicetree, Sankeerth Billakanti, Bjorn Andersson, linux-arm-msm,
	Bjorn Andersson, Abhinav Kumar, dri-devel, Stephen Boyd,
	Krzysztof Kozlowski, Dmitry Baryshkov, Kuogee Hsieh, freedreno,
	linux-kernel

On Thu, Sep 22, 2022 at 05:37:39PM +0200, Krzysztof Kozlowski wrote:
> On 22/09/2022 02:14, Bjorn Andersson wrote:
> > On Tue, Sep 20, 2022 at 09:09:13AM +0200, Krzysztof Kozlowski wrote:
> >> On 19/09/2022 23:18, Bjorn Andersson wrote:
> >>> On Sat, Sep 17, 2022 at 06:03:27PM +0100, Krzysztof Kozlowski wrote:
> >>>> On 16/09/2022 21:00, Bjorn Andersson wrote:
> >>>>> From: Bjorn Andersson <bjorn.andersson@linaro.org>
> >>>>>
> >>>>> Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
> >>>>> Qualcomm SDM845 and SC8280XP platforms.
> >>>>>
> >>>>> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> >>>>> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
> >>>>
> >>>> No need for quicinc SoB (unless you also take ownership).
> >>>>
> >>>
> >>> It's my understanding that both needs to be there. Bjorn @ Linaro
> >>> authored the patch and the author must certify its origin, but as the
> >>> submitter I must certify its origin.
> >>
> >> It's the same person. There are no two Bjorns (unless there are :) ), so
> >> you certify with old email. SoB chain is coming from people, not email
> >> addresses.
> >>
> > 
> > IANAL, but I don't think it's the same person. I can't use my old
> > signature to certify the origin in a contribution today and I can't
> > claim authorship of something Linaro did.
> 
> Fine with me.
> 
> > 
> >> And it is not only my understanding of SoB chain.
> >> https://lore.kernel.org/all/YuKcBO5JatwRYQJ3@kroah.com/
> >>
> > 
> > Again, IANAL, but I think the situation is different given AMD and
> > Xilinx relationship.
> 
> Hm, I am not sure how it is different. We might know or we might know
> the change of ownership. Maybe the change of owner came with copyrights,
> maybe not (someone else bought them). I don't know, there can be many
> cases here. I interpret Greg's point there as in SoB statement - the
> person, not email address, certifies.

If Bjorn owned the copyright, then yeah, 1 email would be enough. But 
Linaro owned the copyright so it should be there.

Rob

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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
@ 2022-09-26 15:13               ` Rob Herring
  0 siblings, 0 replies; 34+ messages in thread
From: Rob Herring @ 2022-09-26 15:13 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Bjorn Andersson, Bjorn Andersson, Rob Clark, Abhinav Kumar,
	Dmitry Baryshkov, Krzysztof Kozlowski, Stephen Boyd,
	Kuogee Hsieh, Sankeerth Billakanti, linux-arm-msm, dri-devel,
	freedreno, devicetree, linux-kernel

On Thu, Sep 22, 2022 at 05:37:39PM +0200, Krzysztof Kozlowski wrote:
> On 22/09/2022 02:14, Bjorn Andersson wrote:
> > On Tue, Sep 20, 2022 at 09:09:13AM +0200, Krzysztof Kozlowski wrote:
> >> On 19/09/2022 23:18, Bjorn Andersson wrote:
> >>> On Sat, Sep 17, 2022 at 06:03:27PM +0100, Krzysztof Kozlowski wrote:
> >>>> On 16/09/2022 21:00, Bjorn Andersson wrote:
> >>>>> From: Bjorn Andersson <bjorn.andersson@linaro.org>
> >>>>>
> >>>>> Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
> >>>>> Qualcomm SDM845 and SC8280XP platforms.
> >>>>>
> >>>>> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> >>>>> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
> >>>>
> >>>> No need for quicinc SoB (unless you also take ownership).
> >>>>
> >>>
> >>> It's my understanding that both needs to be there. Bjorn @ Linaro
> >>> authored the patch and the author must certify its origin, but as the
> >>> submitter I must certify its origin.
> >>
> >> It's the same person. There are no two Bjorns (unless there are :) ), so
> >> you certify with old email. SoB chain is coming from people, not email
> >> addresses.
> >>
> > 
> > IANAL, but I don't think it's the same person. I can't use my old
> > signature to certify the origin in a contribution today and I can't
> > claim authorship of something Linaro did.
> 
> Fine with me.
> 
> > 
> >> And it is not only my understanding of SoB chain.
> >> https://lore.kernel.org/all/YuKcBO5JatwRYQJ3@kroah.com/
> >>
> > 
> > Again, IANAL, but I think the situation is different given AMD and
> > Xilinx relationship.
> 
> Hm, I am not sure how it is different. We might know or we might know
> the change of ownership. Maybe the change of owner came with copyrights,
> maybe not (someone else bought them). I don't know, there can be many
> cases here. I interpret Greg's point there as in SoB statement - the
> person, not email address, certifies.

If Bjorn owned the copyright, then yeah, 1 email would be enough. But 
Linaro owned the copyright so it should be there.

Rob

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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
  2022-09-26 15:13               ` Rob Herring
@ 2022-09-26 15:20                 ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 34+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-26 15:20 UTC (permalink / raw)
  To: Rob Herring
  Cc: devicetree, Sankeerth Billakanti, Bjorn Andersson, linux-arm-msm,
	Bjorn Andersson, Abhinav Kumar, dri-devel, Stephen Boyd,
	Krzysztof Kozlowski, Dmitry Baryshkov, Kuogee Hsieh, freedreno,
	linux-kernel

On 26/09/2022 17:13, Rob Herring wrote:
> On Thu, Sep 22, 2022 at 05:37:39PM +0200, Krzysztof Kozlowski wrote:
>> On 22/09/2022 02:14, Bjorn Andersson wrote:
>>> On Tue, Sep 20, 2022 at 09:09:13AM +0200, Krzysztof Kozlowski wrote:
>>>> On 19/09/2022 23:18, Bjorn Andersson wrote:
>>>>> On Sat, Sep 17, 2022 at 06:03:27PM +0100, Krzysztof Kozlowski wrote:
>>>>>> On 16/09/2022 21:00, Bjorn Andersson wrote:
>>>>>>> From: Bjorn Andersson <bjorn.andersson@linaro.org>
>>>>>>>
>>>>>>> Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
>>>>>>> Qualcomm SDM845 and SC8280XP platforms.
>>>>>>>
>>>>>>> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
>>>>>>> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
>>>>>>
>>>>>> No need for quicinc SoB (unless you also take ownership).
>>>>>>
>>>>>
>>>>> It's my understanding that both needs to be there. Bjorn @ Linaro
>>>>> authored the patch and the author must certify its origin, but as the
>>>>> submitter I must certify its origin.
>>>>
>>>> It's the same person. There are no two Bjorns (unless there are :) ), so
>>>> you certify with old email. SoB chain is coming from people, not email
>>>> addresses.
>>>>
>>>
>>> IANAL, but I don't think it's the same person. I can't use my old
>>> signature to certify the origin in a contribution today and I can't
>>> claim authorship of something Linaro did.
>>
>> Fine with me.
>>
>>>
>>>> And it is not only my understanding of SoB chain.
>>>> https://lore.kernel.org/all/YuKcBO5JatwRYQJ3@kroah.com/
>>>>
>>>
>>> Again, IANAL, but I think the situation is different given AMD and
>>> Xilinx relationship.
>>
>> Hm, I am not sure how it is different. We might know or we might know
>> the change of ownership. Maybe the change of owner came with copyrights,
>> maybe not (someone else bought them). I don't know, there can be many
>> cases here. I interpret Greg's point there as in SoB statement - the
>> person, not email address, certifies.
> 
> If Bjorn owned the copyright, then yeah, 1 email would be enough. But 
> Linaro owned the copyright so it should be there.

True for taking the authorship of patch, however SoB is not for
copyright holders/ownership but to certify that one has the right to
send it. Since patch was on the list, anyone can take it and send it.
Everyone has such right. If another person is sending, then he needs to
certify the origin with SoB. If Bjornv2 is that other person, he already
certified (although with different email address).

Best regards,
Krzysztof


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

* Re: [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles
@ 2022-09-26 15:20                 ` Krzysztof Kozlowski
  0 siblings, 0 replies; 34+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-26 15:20 UTC (permalink / raw)
  To: Rob Herring
  Cc: Bjorn Andersson, Bjorn Andersson, Rob Clark, Abhinav Kumar,
	Dmitry Baryshkov, Krzysztof Kozlowski, Stephen Boyd,
	Kuogee Hsieh, Sankeerth Billakanti, linux-arm-msm, dri-devel,
	freedreno, devicetree, linux-kernel

On 26/09/2022 17:13, Rob Herring wrote:
> On Thu, Sep 22, 2022 at 05:37:39PM +0200, Krzysztof Kozlowski wrote:
>> On 22/09/2022 02:14, Bjorn Andersson wrote:
>>> On Tue, Sep 20, 2022 at 09:09:13AM +0200, Krzysztof Kozlowski wrote:
>>>> On 19/09/2022 23:18, Bjorn Andersson wrote:
>>>>> On Sat, Sep 17, 2022 at 06:03:27PM +0100, Krzysztof Kozlowski wrote:
>>>>>> On 16/09/2022 21:00, Bjorn Andersson wrote:
>>>>>>> From: Bjorn Andersson <bjorn.andersson@linaro.org>
>>>>>>>
>>>>>>> Add compatibles for the DisplayPort and Embedded DisplayPort blocks in
>>>>>>> Qualcomm SDM845 and SC8280XP platforms.
>>>>>>>
>>>>>>> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
>>>>>>> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
>>>>>>
>>>>>> No need for quicinc SoB (unless you also take ownership).
>>>>>>
>>>>>
>>>>> It's my understanding that both needs to be there. Bjorn @ Linaro
>>>>> authored the patch and the author must certify its origin, but as the
>>>>> submitter I must certify its origin.
>>>>
>>>> It's the same person. There are no two Bjorns (unless there are :) ), so
>>>> you certify with old email. SoB chain is coming from people, not email
>>>> addresses.
>>>>
>>>
>>> IANAL, but I don't think it's the same person. I can't use my old
>>> signature to certify the origin in a contribution today and I can't
>>> claim authorship of something Linaro did.
>>
>> Fine with me.
>>
>>>
>>>> And it is not only my understanding of SoB chain.
>>>> https://lore.kernel.org/all/YuKcBO5JatwRYQJ3@kroah.com/
>>>>
>>>
>>> Again, IANAL, but I think the situation is different given AMD and
>>> Xilinx relationship.
>>
>> Hm, I am not sure how it is different. We might know or we might know
>> the change of ownership. Maybe the change of owner came with copyrights,
>> maybe not (someone else bought them). I don't know, there can be many
>> cases here. I interpret Greg's point there as in SoB statement - the
>> person, not email address, certifies.
> 
> If Bjorn owned the copyright, then yeah, 1 email would be enough. But 
> Linaro owned the copyright so it should be there.

True for taking the authorship of patch, however SoB is not for
copyright holders/ownership but to certify that one has the right to
send it. Since patch was on the list, anyone can take it and send it.
Everyone has such right. If another person is sending, then he needs to
certify the origin with SoB. If Bjornv2 is that other person, he already
certified (although with different email address).

Best regards,
Krzysztof


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

end of thread, other threads:[~2022-09-26 16:32 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-16 20:00 [PATCH v2 0/7] drm/msm/dp: Support for external displays Bjorn Andersson
2022-09-16 20:00 ` Bjorn Andersson
2022-09-16 20:00 ` [PATCH v2 1/7] dt-bindings: msm/dp: Add SDM845 and SC8280XP compatibles Bjorn Andersson
2022-09-16 20:00   ` Bjorn Andersson
2022-09-17 17:03   ` Krzysztof Kozlowski
2022-09-17 17:03     ` Krzysztof Kozlowski
2022-09-19 21:18     ` Bjorn Andersson
2022-09-19 21:18       ` Bjorn Andersson
2022-09-20  7:09       ` Krzysztof Kozlowski
2022-09-20  7:09         ` Krzysztof Kozlowski
2022-09-22  0:14         ` Bjorn Andersson
2022-09-22  0:14           ` Bjorn Andersson
2022-09-22 15:37           ` Krzysztof Kozlowski
2022-09-22 15:37             ` Krzysztof Kozlowski
2022-09-26 15:13             ` Rob Herring
2022-09-26 15:13               ` Rob Herring
2022-09-26 15:20               ` Krzysztof Kozlowski
2022-09-26 15:20                 ` Krzysztof Kozlowski
2022-09-16 20:00 ` [PATCH v2 2/7] drm/msm/dp: Stop using DP id as index in desc Bjorn Andersson
2022-09-16 20:00   ` Bjorn Andersson
2022-09-16 20:00 ` [PATCH v2 3/7] drm/msm/dp: Add DP and EDP compatibles for SC8280XP Bjorn Andersson
2022-09-16 20:00   ` Bjorn Andersson
2022-09-16 20:00 ` [PATCH v2 4/7] drm/msm/dp: Add SDM845 DisplayPort instance Bjorn Andersson
2022-09-16 20:00   ` Bjorn Andersson
2022-09-16 20:00 ` [PATCH v2 5/7] drm/msm/dp: Implement hpd_notify() Bjorn Andersson
2022-09-16 20:00   ` Bjorn Andersson
2022-09-16 21:17   ` Jeff Johnson
2022-09-16 21:17     ` Jeff Johnson
2022-09-19 21:22     ` Bjorn Andersson
2022-09-19 21:22       ` Bjorn Andersson
2022-09-16 20:00 ` [PATCH v2 6/7] drm/msm/dp: Don't enable HPD interrupts for edp Bjorn Andersson
2022-09-16 20:00   ` Bjorn Andersson
2022-09-16 20:00 ` [PATCH v2 7/7] drm/msm/dp: HPD handling relates to next_bridge Bjorn Andersson
2022-09-16 20:00   ` Bjorn Andersson

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.