On Sat, 25 Jun 2022 at 02:45, Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote: > > Quoting Kuogee Hsieh (2022-06-24 16:30:59) > > > > On 6/24/2022 4:12 PM, Stephen Boyd wrote: > > > Quoting Kuogee Hsieh (2022-06-24 15:53:45) > > >> MSM_DP_CONTROLLER_1 need to match to the index = 1 of sc7280_dp_cfg[] <== This is correct > > >> > > >> The problem is sc7280_dp_cfg[] have two entries since eDP place at index > > >> of MSM_DP_CONTROLLER_1. > > >> > > >> but .num_desc = 1 <== this said only have one entry at sc7280_dp_cfg[] > > >> table. Therefore eDP will never be found at for loop at > > >> _dpu_kms_initialize_displayport(). > > >> > > > Yes, but what else does the MSM_DP_CONTROLLER_1 need to match? Because > > > the intention of the previous commit was to make it so the order of > > > sc7280_dp_cfg couldn't be messed up and not match the > > > MSM_DP_CONTROLLER_1 value that lives in sc7280_intf[]. > > > > > > at _dpu_kms_initialize_displayport() > > > > > - info.h_tile_instance[0] = i; <== assign i to become dp controller id, "i" is index of scxxxx_dp_cfg[] > > > > This what I mean MSM_DP_CONTROLLER_1 need to match to index = 1 of > > scxxxx_dp_cfg[]. > > > > it it is not match, then MSM_DP_CONTROLLER_1 with match to different INTF. > > I thought we matched the INTF instance by searching through > sc7280_intf[] for a matching MSM_DP_CONTROLLER_1 and then returning that > INTF number. See dpu_encoder_get_intf() and the caller. You both are correct here. We are searching through the _intf[] array for the corresponding controller_id. And yes, the controller_ids are being passed through the h_tile_instance[] array. -- With best wishes Dmitry