On 2023-07-30 03:16:59, Dmitry Baryshkov wrote: <snip> > >>> + if (!phys_enc->has_intf_te && > >>> + (!phys_enc->hw_pp || > >>> + !phys_enc->hw_pp->ops.enable_tearcheck)) { > >> > >> when is hw_pp assigned? Can't we also check that somewhere in an init > >> phase? > > > > It would happen right before dpu_encoder_phys_cmd_atomic_mode_set() > > where we already happen to check has_intf_te to switch on PP > > intr_readptr vs INTF intr_tear_rd_ptr. Might be the perfect place for > > the pingpong callback checks? > > The problem is that mode_set doesn't return an error (by design). I'd > put a TODO here, so that if we ever move/change resource allocation, > this check can be done next to it (atomic_check isn't a good place, > since phys_enc.atomic_check happens before resource reallocation).
As thought of in another patch, perhaps it could just be a WARN_ON() as these almost always relate directly to constant information provided by the catalog, which we trust to be sound (and these error cases to hardly be reachable) after it has been validated, reviewed and merged. - Marijn