Message ID | 20221110183853.3678209-1-jagan@amarulasolutions.com (mailing list archive) |
---|---|
Headers | show |
Series | drm: bridge: Add Samsung MIPI DSIM bridge | expand |
Hi Jagan, On 10.11.22 19:38, Jagan Teki wrote: > This series supports common bridge support for Samsung MIPI DSIM > which is used in Exynos and i.MX8MM SoC's. > > The final bridge supports both the Exynos and i.MX8M Mini/Nano/Plus. > > Changes for v8: > * fixed comment lines > * fixed commit messages > * fixed video mode bits > * collect Marek Ack > * fixed video mode bit names > * update input formats logic > * added imx8mplus support Did you miss to collect all the Tested-by tags from v7, or did you drop them deliberately? Best regards Frieder
Hi Frieder, On Mon, Nov 14, 2022 at 2:12 PM Frieder Schrempf <frieder.schrempf@kontron.de> wrote: > > Hi Jagan, > > On 10.11.22 19:38, Jagan Teki wrote: > > This series supports common bridge support for Samsung MIPI DSIM > > which is used in Exynos and i.MX8MM SoC's. > > > > The final bridge supports both the Exynos and i.MX8M Mini/Nano/Plus. > > > > Changes for v8: > > * fixed comment lines > > * fixed commit messages > > * fixed video mode bits > > * collect Marek Ack > > * fixed video mode bit names > > * update input formats logic > > * added imx8mplus support > > Did you miss to collect all the Tested-by tags from v7, or did you drop > them deliberately? Few changes in v8 compared to v7, so I've not picked these tags as code changes. Jagan.
On 11/10/22 19:38, Jagan Teki wrote: [...] > +static int samsung_dsim_wait_for_hdr_fifo(struct samsung_dsim *dsi) > +{ > + int timeout = 2000; > + > + do { > + u32 reg = samsung_dsim_read(dsi, DSIM_FIFOCTRL_REG); > + > + if (!(reg & DSIM_SFR_HEADER_FULL)) Seems that unless I wait for DSIM_SFR_HEADER_EMPTY here, there may be some command transfer corruption if very short commands are transferred in rapid succession. This can be triggered with icn6211 driver for example. > + return 0; > + > + if (!cond_resched()) > + usleep_range(950, 1050); > + } while (--timeout); > + > + return -ETIMEDOUT; > +} [...]
On Thu, Nov 17, 2022 at 10:31 AM Marek Vasut <marex@denx.de> wrote: > > On 11/10/22 19:38, Jagan Teki wrote: > > [...] > > > +static int samsung_dsim_wait_for_hdr_fifo(struct samsung_dsim *dsi) > > +{ > > + int timeout = 2000; > > + > > + do { > > + u32 reg = samsung_dsim_read(dsi, DSIM_FIFOCTRL_REG); > > + > > + if (!(reg & DSIM_SFR_HEADER_FULL)) > > Seems that unless I wait for DSIM_SFR_HEADER_EMPTY here, there may be > some command transfer corruption if very short commands are transferred > in rapid succession. This can be triggered with icn6211 driver for example. Not aware of this test, maybe adjusting or fixing the wait code on top of this initial support later make sense. Thanks, Jagan.
On 10.11.22 19:38, Jagan Teki wrote: > This series supports common bridge support for Samsung MIPI DSIM > which is used in Exynos and i.MX8MM SoC's. > > The final bridge supports both the Exynos and i.MX8M Mini/Nano/Plus. > > Changes for v8: > * fixed comment lines > * fixed commit messages > * fixed video mode bits > * collect Marek Ack > * fixed video mode bit names > * update input formats logic > * added imx8mplus support > > Changes for v7: > * fix the drm bridge attach chain for exynos drm dsi driver > * fix the hw_type checking logic > > Changes for v6: > * handle previous bridge for exynos dsi while attaching bridge > > Changes for v5: > * bridge changes to support multi-arch > * updated and clear commit messages > * add hw_type via plat data > * removed unneeded quirk > * rebased on linux-next > > Changes for v4: > * include Inki Dae in MAINTAINERS > * remove dsi_driver probe in exynos_drm_drv to support multi-arch build > * update init handling to ensure host init done on first cmd transfer > > Changes for v3: > * fix the mult-arch build > * fix dsi host init > * updated commit messages > > Changes for v2: > * fix bridge handling > * fix dsi host init > * correct the commit messages > > Patch 0001: Fix MIPI_DSI*_NO_* mode bits > > Patch 0002: Properly name HSA/HBP/HFP/HSE bits > > Patch 0003: Samsung DSIM bridge > > Patch 0004: PHY optional > > Patch 0005: OF-graph or Child node lookup > > Patch 0006: DSI host initialization > > Patch 0007: atomic check > > Patch 0008: PMS_P offset via plat data > > Patch 0009: atomic_get_input_bus_fmts > > Patch 0010: input_bus_flags > > Patch 0011: document fsl,imx8mm-mipi-dsim > > Patch 0012: add i.MX8M Mini/Nano DSIM support > > Patch 0013: document fsl,imx8mp-mipi-dsim > > Patch 0014: add i.MX8M Plus DSIM support > > Tested in Engicam i.Core MX8M Mini SoM. > > Repo: > https://gitlab.com/openedev/kernel/-/commits/imx8mm-dsi-v8 > > Any inputs? > Jagan. I tested this on the Kontron DL i.MX8MM which uses a TI SN65DSI84 bridge and a Jenson 7" LVDS Display. Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de> # Kontron DL i.MX8MM