Message ID | 20240221-rb3gen2-dp-connector-v1-1-dc0964ef7d96@quicinc.com |
---|---|
State | New |
Headers | show |
Series | arm64: dts: qcom: qcs6490-rb3gen2: Enable two displays | expand |
On Thu, 22 Feb 2024 at 01:19, Bjorn Andersson <quic_bjorande@quicinc.com> wrote: > > When upstreamed the SC7280 DP controllers where described as one being > DP and one eDP, but they can infact both be DP or eDP. > > Extend the list of DP controllers to cover both instances, and rely on > the newly introduced mechanism for selecting which mode they should > operate in. > > Move qcom,sc7280-edp to a dedicated list, to ensure existing DeviceTree > will continue to select eDP. > > Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> > --- > drivers/gpu/drm/msm/dp/dp_display.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c > index 7b8c695d521a..1792ba9f7259 100644 > --- a/drivers/gpu/drm/msm/dp/dp_display.c > +++ b/drivers/gpu/drm/msm/dp/dp_display.c > @@ -129,7 +129,12 @@ static const struct msm_dp_desc sc7180_dp_descs[] = { > }; > > static const struct msm_dp_desc sc7280_dp_descs[] = { > - { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true }, > + { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .wide_bus_en = true }, > + { .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_1, .wide_bus_en = true }, I think we need to keep .connector_type here, don't we? > + {} > +}; > + > +static const struct msm_dp_desc sc7280_edp_descs[] = { > { .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true }, > {} > }; > @@ -182,7 +187,7 @@ static const struct msm_dp_desc x1e80100_dp_descs[] = { > static const struct of_device_id dp_dt_match[] = { > { .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,sc7280-edp", .data = &sc7280_edp_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 }, > > -- > 2.25.1 >
On Thu, Feb 22, 2024 at 01:38:45AM +0200, Dmitry Baryshkov wrote: > On Thu, 22 Feb 2024 at 01:19, Bjorn Andersson <quic_bjorande@quicinc.com> wrote: > > > > When upstreamed the SC7280 DP controllers where described as one being > > DP and one eDP, but they can infact both be DP or eDP. > > > > Extend the list of DP controllers to cover both instances, and rely on > > the newly introduced mechanism for selecting which mode they should > > operate in. > > > > Move qcom,sc7280-edp to a dedicated list, to ensure existing DeviceTree > > will continue to select eDP. > > > > Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> > > --- > > drivers/gpu/drm/msm/dp/dp_display.c | 9 +++++++-- > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c > > index 7b8c695d521a..1792ba9f7259 100644 > > --- a/drivers/gpu/drm/msm/dp/dp_display.c > > +++ b/drivers/gpu/drm/msm/dp/dp_display.c > > @@ -129,7 +129,12 @@ static const struct msm_dp_desc sc7180_dp_descs[] = { > > }; > > > > static const struct msm_dp_desc sc7280_dp_descs[] = { > > - { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true }, > > + { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .wide_bus_en = true }, > > + { .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_1, .wide_bus_en = true }, > > I think we need to keep .connector_type here, don't we? > No, Abel removes the need for that in his patches - and while that logic is slightly broken in the RFC I think it looks good. Regards, Bjorn > > + {} > > +}; > > + > > +static const struct msm_dp_desc sc7280_edp_descs[] = { > > { .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true }, > > {} > > }; > > @@ -182,7 +187,7 @@ static const struct msm_dp_desc x1e80100_dp_descs[] = { > > static const struct of_device_id dp_dt_match[] = { > > { .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,sc7280-edp", .data = &sc7280_edp_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 }, > > > > -- > > 2.25.1 > > > > > -- > With best wishes > Dmitry
On Thu, 22 Feb 2024 at 05:47, Bjorn Andersson <quic_bjorande@quicinc.com> wrote: > > On Thu, Feb 22, 2024 at 01:38:45AM +0200, Dmitry Baryshkov wrote: > > On Thu, 22 Feb 2024 at 01:19, Bjorn Andersson <quic_bjorande@quicinc.com> wrote: > > > > > > When upstreamed the SC7280 DP controllers where described as one being > > > DP and one eDP, but they can infact both be DP or eDP. > > > > > > Extend the list of DP controllers to cover both instances, and rely on > > > the newly introduced mechanism for selecting which mode they should > > > operate in. > > > > > > Move qcom,sc7280-edp to a dedicated list, to ensure existing DeviceTree > > > will continue to select eDP. > > > > > > Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> > > > --- > > > drivers/gpu/drm/msm/dp/dp_display.c | 9 +++++++-- > > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c > > > index 7b8c695d521a..1792ba9f7259 100644 > > > --- a/drivers/gpu/drm/msm/dp/dp_display.c > > > +++ b/drivers/gpu/drm/msm/dp/dp_display.c > > > @@ -129,7 +129,12 @@ static const struct msm_dp_desc sc7180_dp_descs[] = { > > > }; > > > > > > static const struct msm_dp_desc sc7280_dp_descs[] = { > > > - { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true }, > > > + { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .wide_bus_en = true }, > > > + { .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_1, .wide_bus_en = true }, > > > > I think we need to keep .connector_type here, don't we? > > > > No, Abel removes the need for that in his patches - and while that logic > is slightly broken in the RFC I think it looks good. Let's see v2 first. > > Regards, > Bjorn > > > > + {} > > > +}; > > > + > > > +static const struct msm_dp_desc sc7280_edp_descs[] = { > > > { .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true }, > > > {} > > > }; > > > @@ -182,7 +187,7 @@ static const struct msm_dp_desc x1e80100_dp_descs[] = { > > > static const struct of_device_id dp_dt_match[] = { > > > { .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,sc7280-edp", .data = &sc7280_edp_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 }, > > > > > > -- > > > 2.25.1 > > > > > > > > > -- > > With best wishes > > Dmitry
On Thu, 22 Feb 2024 at 06:01, Dmitry Baryshkov <dmitry.baryshkov@linaro.org> wrote: > > On Thu, 22 Feb 2024 at 05:47, Bjorn Andersson <quic_bjorande@quicinc.com> wrote: > > > > On Thu, Feb 22, 2024 at 01:38:45AM +0200, Dmitry Baryshkov wrote: > > > On Thu, 22 Feb 2024 at 01:19, Bjorn Andersson <quic_bjorande@quicinc.com> wrote: > > > > > > > > When upstreamed the SC7280 DP controllers where described as one being > > > > DP and one eDP, but they can infact both be DP or eDP. > > > > > > > > Extend the list of DP controllers to cover both instances, and rely on > > > > the newly introduced mechanism for selecting which mode they should > > > > operate in. > > > > > > > > Move qcom,sc7280-edp to a dedicated list, to ensure existing DeviceTree > > > > will continue to select eDP. > > > > > > > > Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> > > > > --- > > > > drivers/gpu/drm/msm/dp/dp_display.c | 9 +++++++-- > > > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > > > > > > diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c > > > > index 7b8c695d521a..1792ba9f7259 100644 > > > > --- a/drivers/gpu/drm/msm/dp/dp_display.c > > > > +++ b/drivers/gpu/drm/msm/dp/dp_display.c > > > > @@ -129,7 +129,12 @@ static const struct msm_dp_desc sc7180_dp_descs[] = { > > > > }; > > > > > > > > static const struct msm_dp_desc sc7280_dp_descs[] = { > > > > - { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true }, > > > > + { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .wide_bus_en = true }, > > > > + { .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_1, .wide_bus_en = true }, > > > > > > I think we need to keep .connector_type here, don't we? > > > > > > > No, Abel removes the need for that in his patches - and while that logic > > is slightly broken in the RFC I think it looks good. > > Let's see v2 first. Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > > > > Regards, > > Bjorn > > > > > > + {} > > > > +}; > > > > + > > > > +static const struct msm_dp_desc sc7280_edp_descs[] = { > > > > { .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true }, > > > > {} > > > > }; > > > > @@ -182,7 +187,7 @@ static const struct msm_dp_desc x1e80100_dp_descs[] = { > > > > static const struct of_device_id dp_dt_match[] = { > > > > { .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,sc7280-edp", .data = &sc7280_edp_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 }, > > > > > > > > -- > > > > 2.25.1 > > > > > > > > > > > > > -- > > > With best wishes > > > Dmitry > > > > -- > With best wishes > Dmitry
diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c index 7b8c695d521a..1792ba9f7259 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -129,7 +129,12 @@ static const struct msm_dp_desc sc7180_dp_descs[] = { }; static const struct msm_dp_desc sc7280_dp_descs[] = { - { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .connector_type = DRM_MODE_CONNECTOR_DisplayPort, .wide_bus_en = true }, + { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .wide_bus_en = true }, + { .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_1, .wide_bus_en = true }, + {} +}; + +static const struct msm_dp_desc sc7280_edp_descs[] = { { .io_start = 0x0aea0000, .id = MSM_DP_CONTROLLER_1, .connector_type = DRM_MODE_CONNECTOR_eDP, .wide_bus_en = true }, {} }; @@ -182,7 +187,7 @@ static const struct msm_dp_desc x1e80100_dp_descs[] = { static const struct of_device_id dp_dt_match[] = { { .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,sc7280-edp", .data = &sc7280_edp_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 },
When upstreamed the SC7280 DP controllers where described as one being DP and one eDP, but they can infact both be DP or eDP. Extend the list of DP controllers to cover both instances, and rely on the newly introduced mechanism for selecting which mode they should operate in. Move qcom,sc7280-edp to a dedicated list, to ensure existing DeviceTree will continue to select eDP. Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> --- drivers/gpu/drm/msm/dp/dp_display.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)