Message ID | 20210511042043.592802-1-bjorn.andersson@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | drm/msm/dp: Add support for SC8180x eDP controller | expand |
Hi Bjorn I had a quick glance on the series and before getting to other things wanted to know how you are initializing two different connectors for DP & EDP resp. The connector type for DP should be DRM_MODE_CONNECTOR_DisplayPort and eDP should be DRM_MODE_CONNECTOR_eDP. We need both to be created so that both EDP and DP can be supported concurrently. Will these changes work for concurrent eDP and DP case? Thanks Abhinav On 2021-05-10 21:20, Bjorn Andersson wrote: > The first patch in the series is somewhat unrelated to the support, but > simplifies reasoning and debugging of timing related issues. > > The second patch introduces support for dealing with different register > block > layouts, which is used in the forth patch to describe the hardware > blocks found > in the SC8180x eDP block. > > The third patch configures the INTF_CONFIG register, which carries the > configuration for widebus handling. As with the DPU the bootloader > enables > widebus and we need to disable it, or implement support for adjusting > the > timing. > > Bjorn Andersson (4): > drm/msm/dp: Simplify the mvid/nvid calculation > drm/msm/dp: Store each subblock in the io region > drm/msm/dp: Initialize the INTF_CONFIG register > drm/msm/dp: Add support for SC8180x eDP > > drivers/gpu/drm/msm/dp/dp_catalog.c | 99 +++++++---------------------- > drivers/gpu/drm/msm/dp/dp_display.c | 1 + > drivers/gpu/drm/msm/dp/dp_parser.c | 22 +++++++ > drivers/gpu/drm/msm/dp/dp_parser.h | 8 +++ > 4 files changed, 53 insertions(+), 77 deletions(-)
On Tue 18 May 22:41 CDT 2021, abhinavk@codeaurora.org wrote: > Hi Bjorn > > I had a quick glance on the series and before getting to other things wanted > to know how you are initializing two different connectors for > DP & EDP resp. > > The connector type for DP should be DRM_MODE_CONNECTOR_DisplayPort and eDP > should be DRM_MODE_CONNECTOR_eDP. As far as I've been able to conclude there is no eDP support in the upstream DPU driver; an encoder of type DRM_MODE_ENCODER_TMDS will only attach to INTF_DP. > We need both to be created so that both EDP and DP can be supported > concurrently. > Further more the DP controller driver has a global variable to track state and the INTF-picker will always pick the interface of index 0 when setting up the DP controller. > Will these changes work for concurrent eDP and DP case? > The proposed changes are all that I need to get eDP working on my sc8180x laptop. But the DPU code does not currently support more than a single DP interface - and that has to be on the first INTF_DP that the DPU driver knows about. But this is a limitation we should fix, rather than claiming that you can only have one of each. Further more, afaict the sc7280 DP controller can do both DP and eDP, so it would make sense not to distinguish the interfaces as eDP or DP - just because the product in mind will use eDP. PS. I've currently disabled the eDP interface on my laptop and am working on trying to get Type-C DP working. Once that's in place I'd need a better INTF/encoder picker - because the current model of just picking INTF_DP 0 (or in a sequential fashion) won't work. Regards, Bjorn > Thanks > > Abhinav > > On 2021-05-10 21:20, Bjorn Andersson wrote: > > The first patch in the series is somewhat unrelated to the support, but > > simplifies reasoning and debugging of timing related issues. > > > > The second patch introduces support for dealing with different register > > block > > layouts, which is used in the forth patch to describe the hardware > > blocks found > > in the SC8180x eDP block. > > > > The third patch configures the INTF_CONFIG register, which carries the > > configuration for widebus handling. As with the DPU the bootloader > > enables > > widebus and we need to disable it, or implement support for adjusting > > the > > timing. > > > > Bjorn Andersson (4): > > drm/msm/dp: Simplify the mvid/nvid calculation > > drm/msm/dp: Store each subblock in the io region > > drm/msm/dp: Initialize the INTF_CONFIG register > > drm/msm/dp: Add support for SC8180x eDP > > > > drivers/gpu/drm/msm/dp/dp_catalog.c | 99 +++++++---------------------- > > drivers/gpu/drm/msm/dp/dp_display.c | 1 + > > drivers/gpu/drm/msm/dp/dp_parser.c | 22 +++++++ > > drivers/gpu/drm/msm/dp/dp_parser.h | 8 +++ > > 4 files changed, 53 insertions(+), 77 deletions(-)
Hi Bjorn On 2021-05-19 07:51, Bjorn Andersson wrote: > On Tue 18 May 22:41 CDT 2021, abhinavk@codeaurora.org wrote: > >> Hi Bjorn >> >> I had a quick glance on the series and before getting to other things >> wanted >> to know how you are initializing two different connectors for >> DP & EDP resp. >> >> The connector type for DP should be DRM_MODE_CONNECTOR_DisplayPort and >> eDP >> should be DRM_MODE_CONNECTOR_eDP. > > As far as I've been able to conclude there is no eDP support in the > upstream DPU driver; an encoder of type DRM_MODE_ENCODER_TMDS will only > attach to INTF_DP. > >> We need both to be created so that both EDP and DP can be supported >> concurrently. >> > > Further more the DP controller driver has a global variable to track > state and the INTF-picker will always pick the interface of index 0 > when > setting up the DP controller. > >> Will these changes work for concurrent eDP and DP case? >> > > The proposed changes are all that I need to get eDP working on my > sc8180x laptop. But the DPU code does not currently support more than a > single DP interface - and that has to be on the first INTF_DP that the > DPU driver knows about. > > But this is a limitation we should fix, rather than claiming that you > can only have one of each. Further more, afaict the sc7280 DP > controller > can do both DP and eDP, so it would make sense not to distinguish the > interfaces as eDP or DP - just because the product in mind will use > eDP. > > > PS. I've currently disabled the eDP interface on my laptop and am > working on trying to get Type-C DP working. Once that's in place I'd > need a better INTF/encoder picker - because the current model of just > picking INTF_DP 0 (or in a sequential fashion) won't work. > > Regards, > Bjorn Yes, we should be able to support eDP + DP concurrently on both sc7280 and sc8180x. Some of the changes we will be posting in the coming weeks should add support for it. Till then, as we spoke on IRC, since your changes dont break existing DP functionality, will continue reviewing rest of the changes. > >> Thanks >> >> Abhinav >> >> On 2021-05-10 21:20, Bjorn Andersson wrote: >> > The first patch in the series is somewhat unrelated to the support, but >> > simplifies reasoning and debugging of timing related issues. >> > >> > The second patch introduces support for dealing with different register >> > block >> > layouts, which is used in the forth patch to describe the hardware >> > blocks found >> > in the SC8180x eDP block. >> > >> > The third patch configures the INTF_CONFIG register, which carries the >> > configuration for widebus handling. As with the DPU the bootloader >> > enables >> > widebus and we need to disable it, or implement support for adjusting >> > the >> > timing. >> > >> > Bjorn Andersson (4): >> > drm/msm/dp: Simplify the mvid/nvid calculation >> > drm/msm/dp: Store each subblock in the io region >> > drm/msm/dp: Initialize the INTF_CONFIG register >> > drm/msm/dp: Add support for SC8180x eDP >> > >> > drivers/gpu/drm/msm/dp/dp_catalog.c | 99 +++++++---------------------- >> > drivers/gpu/drm/msm/dp/dp_display.c | 1 + >> > drivers/gpu/drm/msm/dp/dp_parser.c | 22 +++++++ >> > drivers/gpu/drm/msm/dp/dp_parser.h | 8 +++ >> > 4 files changed, 53 insertions(+), 77 deletions(-)