[PATCH v9 10/18] drm: bridge: samsung-dsim: Init exynos host for first DSI transfer

Jagan Teki jagan at amarulasolutions.com
Mon Dec 12 00:32:05 PST 2022


On Mon, Dec 12, 2022 at 1:56 PM Marek Szyprowski
<m.szyprowski at samsung.com> wrote:
>
> Hi Jagan,
>
> On 09.12.2022 16:23, Jagan Teki wrote:
> > The existing drm panels and bridges in Exynos required host
> > initialization during the first DSI command transfer even though
> > the initialization was done before.
> >
> > This host reinitialization is handled via DSIM_STATE_REINITIALIZED
> > flag and triggers from host transfer.
> >
> > Do this exclusively for Exynos.
> >
> > Initial logic is derived from Marek Szyprowski changes.
> >
> > Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
> > Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
> > ---
> > Changes from v9:
> > - derived from v8
> > - added comments
> >
> >   drivers/gpu/drm/bridge/samsung-dsim.c | 15 ++++++++++++++-
> >   include/drm/bridge/samsung-dsim.h     |  5 +++--
> >   2 files changed, 17 insertions(+), 3 deletions(-)
>
> The following chunk is missing compared to v8:
>
> diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c
> b/drivers/gpu/drm/bridge/samsung-dsim.c
> index 6e9ad955ebd3..6a9403cb92ae 100644
> --- a/drivers/gpu/drm/bridge/samsung-dsim.c
> +++ b/drivers/gpu/drm/bridge/samsung-dsim.c
> @@ -1315,7 +1315,9 @@ static int samsung_dsim_init(struct samsung_dsim
> *dsi, unsigned int flag)
>                  return 0;
>
>          samsung_dsim_reset(dsi);
> -       samsung_dsim_enable_irq(dsi);
> +
> +       if (!(dsi->state & DSIM_STATE_INITIALIZED))
> +               samsung_dsim_enable_irq(dsi);

Is this really required? does it make sure that the IRQ does not enable twice?

Jagan.



More information about the linux-arm-kernel mailing list