On 12.12.2022 09:32, Jagan Teki wrote: > On Mon, Dec 12, 2022 at 1:56 PM Marek Szyprowski > <m.szyprowski@xxxxxxxxxxx> 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@xxxxxxxxxxx> >>> Signed-off-by: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> >>> --- >>> 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? That's what that check does. Without the 'if (!(dsi->state & DSIM_STATE_INITIALIZED))' check, the irqs will be enabled twice (first from pre_enable, then from the first transfer), what leads to a warning from irq core. Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland