Quoting Sankeerth Billakanti (2021-08-11 17:08:01) > The eDP controller on SC7280 is similar to the eDP/DP controllers > supported by the current driver implementation. > > SC7280 supports one EDP and one DP controller which can operate > concurrently. > > The following are some required changes for the sc7280 sink: > 1. Additional gpio configuration for backlight and pwm via pmic. > 2. ASSR support programming on the sink. > 3. SSC support programming on the sink. > > Signed-off-by: Sankeerth Billakanti <sbillaka@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 4 ++-- > drivers/gpu/drm/msm/dp/dp_ctrl.c | 19 +++++++++++++++ > drivers/gpu/drm/msm/dp/dp_display.c | 32 ++++++++++++++++++++++++-- > drivers/gpu/drm/msm/dp/dp_parser.c | 31 +++++++++++++++++++++++++ > drivers/gpu/drm/msm/dp/dp_parser.h | 5 ++++ > 5 files changed, 87 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c > index b131fd37..1096c44 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c > @@ -856,9 +856,9 @@ static const struct dpu_intf_cfg sm8150_intf[] = { > }; > > static const struct dpu_intf_cfg sc7280_intf[] = { > - INTF_BLK("intf_0", INTF_0, 0x34000, INTF_DP, 0, 24, INTF_SC7280_MASK, MDP_SSPP_TOP0_INTR, 24, 25), > + INTF_BLK("intf_0", INTF_0, 0x34000, INTF_DP, 1, 24, INTF_SC7280_MASK, MDP_SSPP_TOP0_INTR, 24, 25), > INTF_BLK("intf_1", INTF_1, 0x35000, INTF_DSI, 0, 24, INTF_SC7280_MASK, MDP_SSPP_TOP0_INTR, 26, 27), > - INTF_BLK("intf_5", INTF_5, 0x39000, INTF_EDP, 0, 24, INTF_SC7280_MASK, MDP_SSPP_TOP0_INTR, 22, 23), > + INTF_BLK("intf_5", INTF_5, 0x39000, INTF_DP, 0, 24, INTF_SC7280_MASK, MDP_SSPP_TOP0_INTR, 22, 23), Why is this INTF_5? Instead of INTF_2? I noticed that if I changed it to INTF_2 that I could get external DP to work but not the internal eDP. Then changing it back to INTF_5 got eDP interface working but not DP. I also noticed that we changed it from INTF_EDP to INTF_DP for the eDP hardware. Can you please explain this struct? I looked at it and I still don't understand what's going on. The index (fifth element above) seems to need to match the index that is set for the address in sc7280_edp_cfg[]. If the two don't match things don't seem to work either. But then I also tried flipping that and still things didn't work. Does that index matter? Or can the first INTF_DP be 0 still?