All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: "a.hajda" <a.hajda@samsung.com>
To: Maxime Ripard <maxime@cerno.tech>,
	Sam Ravnborg <sam@ravnborg.org>,
	Daniel Vetter <daniel.vetter@intel.com>,
	David Airlie <airlied@linux.ie>,
	Thierry Reding <thierry.reding@gmail.com>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Jernej Skrabec <jernej.skrabec@gmail.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Jonas Karlman <jonas@kwiboo.se>,
	Robert Foss <robert.foss@linaro.org>
Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v2 0/8] drm/bridge: Make panel and bridge probe order consistent
Date: Wed, 4 Aug 2021 16:09:38 +0200	[thread overview]
Message-ID: <cc638e20-aa7c-7014-f70b-1bb68e629d87@samsung.com> (raw)
In-Reply-To: <20210728133229.2247965-1-maxime@cerno.tech>

Hi Maxime,

I have been busy with other tasks, and I did not follow the list last 
time, so sorry for my late response.

On 28.07.2021 15:32, Maxime Ripard wrote:
> Hi,
> 
> We've encountered an issue with the RaspberryPi DSI panel that prevented the
> whole display driver from probing.
> 
> The issue is described in detail in the commit 7213246a803f ("drm/vc4: dsi:
> Only register our component once a DSI device is attached"), but the basic idea
> is that since the panel is probed through i2c, there's no synchronization
> between its probe and the registration of the MIPI-DSI host it's attached to.
> 
> We initially moved the component framework registration to the MIPI-DSI Host
> attach hook to make sure we register our component only when we have a DSI
> device attached to our MIPI-DSI host, and then use lookup our DSI device in our
> bind hook.
> 
> However, all the DSI bridges controlled through i2c are only registering their
> associated DSI device in their bridge attach hook, meaning with our change


I guess this is incorrect. I have promoted several times the pattern 
that device driver shouldn't expose its interfaces (for example 
component_add, drm_panel_add, drm_bridge_add) until it gathers all 
required dependencies. In this particular case bridges should defer 
probe until DSI bus becomes available. I guess this way the patch you 
reverts would work.

I advised few times this pattern in case of DSI hosts, apparently I 
didn't notice the similar issue can appear in case of bridges. Or there 
is something I have missed???

Anyway there are already eleven(?) bridge drivers using this pattern. I 
wonder if fixing it would be difficult, or if it expose other issues???
The patches should be quite straightforward - move 
of_find_mipi_dsi_host_by_node and mipi_dsi_device_register_full to probe 
time.

Finally I think that if we will not fix these bridge drivers we will 
encounter another set of issues with new platforms connecting "DSI host 
drivers assuming this pattern" and "i2c/dsi device drivers assuming 
pattern already present in the bridges".

Regards
Andrzej

  parent reply	other threads:[~2021-08-04 14:09 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-28 13:32 [PATCH v2 0/8] drm/bridge: Make panel and bridge probe order consistent Maxime Ripard
2021-07-28 13:32 ` [PATCH v2 1/8] Revert "drm/vc4: dsi: Only register our component once a DSI device is attached" Maxime Ripard
2021-07-28 13:32 ` [PATCH v2 2/8] drm/bridge: Add a function to abstract away panels Maxime Ripard
2021-07-28 13:32 ` [PATCH v2 3/8] drm/bridge: Add documentation sections Maxime Ripard
2021-07-28 13:32 ` [PATCH v2 4/8] drm/bridge: Document the probe issue with MIPI-DSI bridges Maxime Ripard
2021-07-28 13:32 ` [PATCH v2 5/8] drm/panel: Create attach and detach callbacks Maxime Ripard
2021-07-28 13:32 ` [PATCH v2 6/8] drm/vc4: dsi: Switch to drm_of_get_bridge Maxime Ripard
2021-07-28 13:32 ` [PATCH v2 7/8] drm/panel: raspberrypi-touchscreen: Use the attach hook Maxime Ripard
2021-07-28 13:32 ` [PATCH v2 8/8] drm/panel: raspberrypi-touchscreen: Remove MIPI-DSI driver Maxime Ripard
     [not found] ` <CGME20210804140941eucas1p2d4d4ec491074530c714797523aec05ea@eucas1p2.samsung.com>
2021-08-04 14:09   ` a.hajda [this message]
2021-08-09  8:00     ` [PATCH v2 0/8] drm/bridge: Make panel and bridge probe order consistent Jagan Teki
2021-08-09 12:03       ` Andrzej Hajda
2021-08-20 16:49     ` Maxime Ripard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cc638e20-aa7c-7014-f70b-1bb68e629d87@samsung.com \
    --to=a.hajda@samsung.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=airlied@linux.ie \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jernej.skrabec@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=maxime@cerno.tech \
    --cc=narmstrong@baylibre.com \
    --cc=robert.foss@linaro.org \
    --cc=sam@ravnborg.org \
    --cc=thierry.reding@gmail.com \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.