[PATCH v5 5/9] drm/msm/hdmi: turn mode_set into atomic_enable
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Thu Jun 20 21:24:19 UTC 2024
On Thu, Jun 20, 2024 at 01:49:33PM GMT, Abhinav Kumar wrote:
>
>
> On 6/20/2024 1:32 PM, Dmitry Baryshkov wrote:
> > On Thu, Jun 20, 2024 at 01:27:15PM GMT, Abhinav Kumar wrote:
> > >
> > >
> > > On 6/7/2024 6:23 AM, Dmitry Baryshkov wrote:
> > > > The mode_set callback is deprecated, it doesn't get the
> > > > drm_bridge_state, just mode-related argumetns. Turn it into the
> > > > atomic_enable callback as suggested by the documentation.
> > > >
> > >
> > > mode_set is deprecated but atomic_mode_set is not.
> >
> > There is no atomic_mode_set() in drm_bridge_funcs. Also:
> >
>
> Please excuse me. I thought since encoder has atomic_mode_set(), bridge has
> one too.
>
> > * This is deprecated, do not use!
> > * New drivers shall set their mode in the
> > * &drm_bridge_funcs.atomic_enable operation.
> >
>
> Yes I saw this note but it also says "new drivers" and not really enforcing
> migrating existing ones which are using modeset to atomic_enable.
Well, deprecated functions are supposed to be migrated.
> My concern is that today the timing engine setup happens in encoder's
> enable() and the hdmi's timing is programmed in mode_set().
>
> Ideally, we should program hdmi's timing registers first before the
> encoder's timing.
>
> Although timing engine is not enabled yet, till post_kickoff, this is
> changing the sequence.
>
> If this really required for rest of this series?
No, it was just worth doing it as I was doing conversion to atomic_*
anyway. I can delay this patch for now.
Two questions:
1) Are you sure regarding the HDMI timing registers vs INTF order? I
observe the underrun issues while changing modes on db820c.
2) What should be the order between programming of the HDMI timing
engine and HDMI PHY?
What would be your opinion on moving HDMI timing programming to
atomic_pre_enable? (the exact place depends on the answer on the second
question).
>
> > >
> > > I would rather use atomic_mode_set because moving to atomic_enable() would
> > > be incorrect.
> > >
> > > That would be called after encoder's enable and hence changes the sequence.
> > > That was not the intention of this patch.
> > >
> > > NAK.
> > >
> > > > Acked-by: Maxime Ripard <mripard at kernel.org>
> > > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
> > > > ---
> > > > drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 33 ++++++++++++++++++++++++++-------
> > > > 1 file changed, 26 insertions(+), 7 deletions(-)
> >
> >
--
With best wishes
Dmitry
More information about the Freedreno
mailing list