From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: dri-devel@lists.freedesktop.org,
Andrzej Hajda <andrzej.hajda@intel.com>,
Chun-Kuang Hu <chunkuang.hu@kernel.org>,
Dafna Hirschfeld <dafna.hirschfeld@collabora.com>,
Daniel Vetter <daniel@ffwll.ch>, David Airlie <airlied@linux.ie>,
Enric Balletbo i Serra <enric.balletbo@collabora.com>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Jitao Shi <jitao.shi@mediatek.com>,
Jonas Karlman <jonas@kwiboo.se>,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
Maxime Ripard <mripard@kernel.org>,
Neil Armstrong <narmstrong@baylibre.com>,
Philip Chen <philipchen@chromium.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
Robert Foss <robert.foss@linaro.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
Maxime Ripard <maxime@cerno.tech>,
Andrzej Hajda <a.hajda@samsung.com>
Subject: Re: [PATCH v2 1/7] drm/bridge: ps8640: Use atomic variants of drm_bridge_funcs
Date: Fri, 22 Oct 2021 17:15:49 +0300 [thread overview]
Message-ID: <YXLHlaLfPD4wI7R7@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20211020181901.2114645-2-sam@ravnborg.org>
Hi Sam,
Thank you for the patch.
On Wed, Oct 20, 2021 at 08:18:55PM +0200, Sam Ravnborg wrote:
> The atomic variants of enable/disable in drm_bridge_funcs are the
> preferred operations - introduce these.
>
> The ps8640 driver used the non-atomic variants of the drm_bridge_chain_pre_enable/
> drm_bridge_chain_post_disable - convert these to the atomic variants.
>
> v2:
> - Added a few more people to cc: (Jitao, Enric, Philip) to increase
> possibility to get test feedback
>
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Reviewed-by: Maxime Ripard <maxime@cerno.tech>
> Cc: Jitao Shi <jitao.shi@mediatek.com>
> Cc: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> Cc: Philip Chen <philipchen@chromium.org>
> Cc: Andrzej Hajda <a.hajda@samsung.com>
> Cc: Neil Armstrong <narmstrong@baylibre.com>
> Cc: Robert Foss <robert.foss@linaro.org>
> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> Cc: Jonas Karlman <jonas@kwiboo.se>
> Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
> ---
> drivers/gpu/drm/bridge/parade-ps8640.c | 14 ++++++++------
> 1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
> index 3aaa90913bf8..0b620afe99c0 100644
> --- a/drivers/gpu/drm/bridge/parade-ps8640.c
> +++ b/drivers/gpu/drm/bridge/parade-ps8640.c
> @@ -376,7 +376,8 @@ static void ps8640_bridge_poweroff(struct ps8640 *ps_bridge)
> ps_bridge->powered = false;
> }
>
> -static void ps8640_pre_enable(struct drm_bridge *bridge)
> +static void ps8640_atomic_pre_enable(struct drm_bridge *bridge,
> + struct drm_bridge_state *old_bridge_state)
> {
> struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
> int ret;
> @@ -388,7 +389,8 @@ static void ps8640_pre_enable(struct drm_bridge *bridge)
> ps8640_bridge_poweroff(ps_bridge);
> }
>
> -static void ps8640_post_disable(struct drm_bridge *bridge)
> +static void ps8640_atomic_post_disable(struct drm_bridge *bridge,
> + struct drm_bridge_state *old_bridge_state)
> {
> struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
>
> @@ -489,7 +491,7 @@ static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
> * EDID, for this chip, we need to do a full poweron, otherwise it will
> * fail.
> */
> - drm_bridge_chain_pre_enable(bridge);
> + drm_atomic_bridge_chain_pre_enable(bridge, connector->state->state);
>
> edid = drm_get_edid(connector,
> ps_bridge->page[PAGE0_DP_CNTL]->adapter);
> @@ -499,7 +501,7 @@ static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
> * before, return the chip to its original power state.
> */
> if (poweroff)
> - drm_bridge_chain_post_disable(bridge);
> + drm_atomic_bridge_chain_post_disable(bridge, connector->state->state);
>
> return edid;
> }
> @@ -508,8 +510,8 @@ static const struct drm_bridge_funcs ps8640_bridge_funcs = {
> .attach = ps8640_bridge_attach,
> .detach = ps8640_bridge_detach,
> .get_edid = ps8640_bridge_get_edid,
> - .post_disable = ps8640_post_disable,
> - .pre_enable = ps8640_pre_enable,
> + .atomic_post_disable = ps8640_atomic_post_disable,
> + .atomic_pre_enable = ps8640_atomic_pre_enable,
Don't you also need to implement .atomic_duplicate_state(),
.atomic_destroy_state() and .atomic_reset() to use the atomic API ?
> };
>
> static int ps8640_probe(struct i2c_client *client)
--
Regards,
Laurent Pinchart
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: dri-devel@lists.freedesktop.org,
Andrzej Hajda <andrzej.hajda@intel.com>,
Chun-Kuang Hu <chunkuang.hu@kernel.org>,
Dafna Hirschfeld <dafna.hirschfeld@collabora.com>,
Daniel Vetter <daniel@ffwll.ch>, David Airlie <airlied@linux.ie>,
Enric Balletbo i Serra <enric.balletbo@collabora.com>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Jitao Shi <jitao.shi@mediatek.com>,
Jonas Karlman <jonas@kwiboo.se>,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
Maxime Ripard <mripard@kernel.org>,
Neil Armstrong <narmstrong@baylibre.com>,
Philip Chen <philipchen@chromium.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
Robert Foss <robert.foss@linaro.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
Maxime Ripard <maxime@cerno.tech>,
Andrzej Hajda <a.hajda@samsung.com>
Subject: Re: [PATCH v2 1/7] drm/bridge: ps8640: Use atomic variants of drm_bridge_funcs
Date: Fri, 22 Oct 2021 17:15:49 +0300 [thread overview]
Message-ID: <YXLHlaLfPD4wI7R7@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20211020181901.2114645-2-sam@ravnborg.org>
Hi Sam,
Thank you for the patch.
On Wed, Oct 20, 2021 at 08:18:55PM +0200, Sam Ravnborg wrote:
> The atomic variants of enable/disable in drm_bridge_funcs are the
> preferred operations - introduce these.
>
> The ps8640 driver used the non-atomic variants of the drm_bridge_chain_pre_enable/
> drm_bridge_chain_post_disable - convert these to the atomic variants.
>
> v2:
> - Added a few more people to cc: (Jitao, Enric, Philip) to increase
> possibility to get test feedback
>
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Reviewed-by: Maxime Ripard <maxime@cerno.tech>
> Cc: Jitao Shi <jitao.shi@mediatek.com>
> Cc: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> Cc: Philip Chen <philipchen@chromium.org>
> Cc: Andrzej Hajda <a.hajda@samsung.com>
> Cc: Neil Armstrong <narmstrong@baylibre.com>
> Cc: Robert Foss <robert.foss@linaro.org>
> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> Cc: Jonas Karlman <jonas@kwiboo.se>
> Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
> ---
> drivers/gpu/drm/bridge/parade-ps8640.c | 14 ++++++++------
> 1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
> index 3aaa90913bf8..0b620afe99c0 100644
> --- a/drivers/gpu/drm/bridge/parade-ps8640.c
> +++ b/drivers/gpu/drm/bridge/parade-ps8640.c
> @@ -376,7 +376,8 @@ static void ps8640_bridge_poweroff(struct ps8640 *ps_bridge)
> ps_bridge->powered = false;
> }
>
> -static void ps8640_pre_enable(struct drm_bridge *bridge)
> +static void ps8640_atomic_pre_enable(struct drm_bridge *bridge,
> + struct drm_bridge_state *old_bridge_state)
> {
> struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
> int ret;
> @@ -388,7 +389,8 @@ static void ps8640_pre_enable(struct drm_bridge *bridge)
> ps8640_bridge_poweroff(ps_bridge);
> }
>
> -static void ps8640_post_disable(struct drm_bridge *bridge)
> +static void ps8640_atomic_post_disable(struct drm_bridge *bridge,
> + struct drm_bridge_state *old_bridge_state)
> {
> struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
>
> @@ -489,7 +491,7 @@ static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
> * EDID, for this chip, we need to do a full poweron, otherwise it will
> * fail.
> */
> - drm_bridge_chain_pre_enable(bridge);
> + drm_atomic_bridge_chain_pre_enable(bridge, connector->state->state);
>
> edid = drm_get_edid(connector,
> ps_bridge->page[PAGE0_DP_CNTL]->adapter);
> @@ -499,7 +501,7 @@ static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
> * before, return the chip to its original power state.
> */
> if (poweroff)
> - drm_bridge_chain_post_disable(bridge);
> + drm_atomic_bridge_chain_post_disable(bridge, connector->state->state);
>
> return edid;
> }
> @@ -508,8 +510,8 @@ static const struct drm_bridge_funcs ps8640_bridge_funcs = {
> .attach = ps8640_bridge_attach,
> .detach = ps8640_bridge_detach,
> .get_edid = ps8640_bridge_get_edid,
> - .post_disable = ps8640_post_disable,
> - .pre_enable = ps8640_pre_enable,
> + .atomic_post_disable = ps8640_atomic_post_disable,
> + .atomic_pre_enable = ps8640_atomic_pre_enable,
Don't you also need to implement .atomic_duplicate_state(),
.atomic_destroy_state() and .atomic_reset() to use the atomic API ?
> };
>
> static int ps8640_probe(struct i2c_client *client)
--
Regards,
Laurent Pinchart
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: dri-devel@lists.freedesktop.org,
Andrzej Hajda <andrzej.hajda@intel.com>,
Chun-Kuang Hu <chunkuang.hu@kernel.org>,
Dafna Hirschfeld <dafna.hirschfeld@collabora.com>,
Daniel Vetter <daniel@ffwll.ch>, David Airlie <airlied@linux.ie>,
Enric Balletbo i Serra <enric.balletbo@collabora.com>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Jitao Shi <jitao.shi@mediatek.com>,
Jonas Karlman <jonas@kwiboo.se>,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
Maxime Ripard <mripard@kernel.org>,
Neil Armstrong <narmstrong@baylibre.com>,
Philip Chen <philipchen@chromium.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
Robert Foss <robert.foss@linaro.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
Maxime Ripard <maxime@cerno.tech>,
Andrzej Hajda <a.hajda@samsung.com>
Subject: Re: [PATCH v2 1/7] drm/bridge: ps8640: Use atomic variants of drm_bridge_funcs
Date: Fri, 22 Oct 2021 17:15:49 +0300 [thread overview]
Message-ID: <YXLHlaLfPD4wI7R7@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20211020181901.2114645-2-sam@ravnborg.org>
Hi Sam,
Thank you for the patch.
On Wed, Oct 20, 2021 at 08:18:55PM +0200, Sam Ravnborg wrote:
> The atomic variants of enable/disable in drm_bridge_funcs are the
> preferred operations - introduce these.
>
> The ps8640 driver used the non-atomic variants of the drm_bridge_chain_pre_enable/
> drm_bridge_chain_post_disable - convert these to the atomic variants.
>
> v2:
> - Added a few more people to cc: (Jitao, Enric, Philip) to increase
> possibility to get test feedback
>
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Reviewed-by: Maxime Ripard <maxime@cerno.tech>
> Cc: Jitao Shi <jitao.shi@mediatek.com>
> Cc: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> Cc: Philip Chen <philipchen@chromium.org>
> Cc: Andrzej Hajda <a.hajda@samsung.com>
> Cc: Neil Armstrong <narmstrong@baylibre.com>
> Cc: Robert Foss <robert.foss@linaro.org>
> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> Cc: Jonas Karlman <jonas@kwiboo.se>
> Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
> ---
> drivers/gpu/drm/bridge/parade-ps8640.c | 14 ++++++++------
> 1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
> index 3aaa90913bf8..0b620afe99c0 100644
> --- a/drivers/gpu/drm/bridge/parade-ps8640.c
> +++ b/drivers/gpu/drm/bridge/parade-ps8640.c
> @@ -376,7 +376,8 @@ static void ps8640_bridge_poweroff(struct ps8640 *ps_bridge)
> ps_bridge->powered = false;
> }
>
> -static void ps8640_pre_enable(struct drm_bridge *bridge)
> +static void ps8640_atomic_pre_enable(struct drm_bridge *bridge,
> + struct drm_bridge_state *old_bridge_state)
> {
> struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
> int ret;
> @@ -388,7 +389,8 @@ static void ps8640_pre_enable(struct drm_bridge *bridge)
> ps8640_bridge_poweroff(ps_bridge);
> }
>
> -static void ps8640_post_disable(struct drm_bridge *bridge)
> +static void ps8640_atomic_post_disable(struct drm_bridge *bridge,
> + struct drm_bridge_state *old_bridge_state)
> {
> struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
>
> @@ -489,7 +491,7 @@ static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
> * EDID, for this chip, we need to do a full poweron, otherwise it will
> * fail.
> */
> - drm_bridge_chain_pre_enable(bridge);
> + drm_atomic_bridge_chain_pre_enable(bridge, connector->state->state);
>
> edid = drm_get_edid(connector,
> ps_bridge->page[PAGE0_DP_CNTL]->adapter);
> @@ -499,7 +501,7 @@ static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
> * before, return the chip to its original power state.
> */
> if (poweroff)
> - drm_bridge_chain_post_disable(bridge);
> + drm_atomic_bridge_chain_post_disable(bridge, connector->state->state);
>
> return edid;
> }
> @@ -508,8 +510,8 @@ static const struct drm_bridge_funcs ps8640_bridge_funcs = {
> .attach = ps8640_bridge_attach,
> .detach = ps8640_bridge_detach,
> .get_edid = ps8640_bridge_get_edid,
> - .post_disable = ps8640_post_disable,
> - .pre_enable = ps8640_pre_enable,
> + .atomic_post_disable = ps8640_atomic_post_disable,
> + .atomic_pre_enable = ps8640_atomic_pre_enable,
Don't you also need to implement .atomic_duplicate_state(),
.atomic_destroy_state() and .atomic_reset() to use the atomic API ?
> };
>
> static int ps8640_probe(struct i2c_client *client)
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2021-10-22 14:16 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-20 18:18 PATCH [v2 0/7] drm/bridge: Drop deprecated functions Sam Ravnborg
2021-10-20 18:18 ` Sam Ravnborg
2021-10-20 18:18 ` Sam Ravnborg
2021-10-20 18:18 ` [PATCH v2 1/7] drm/bridge: ps8640: Use atomic variants of drm_bridge_funcs Sam Ravnborg
2021-10-20 18:18 ` Sam Ravnborg
2021-10-20 18:18 ` Sam Ravnborg
2021-10-22 14:15 ` Laurent Pinchart [this message]
2021-10-22 14:15 ` Laurent Pinchart
2021-10-22 14:15 ` Laurent Pinchart
2021-10-22 16:53 ` Sam Ravnborg
2021-10-22 16:53 ` Sam Ravnborg
2021-10-22 16:53 ` Sam Ravnborg
2021-10-22 17:13 ` Sam Ravnborg
2021-10-22 17:13 ` Sam Ravnborg
2021-10-22 17:13 ` Sam Ravnborg
2021-10-22 18:42 ` Laurent Pinchart
2021-10-22 18:42 ` Laurent Pinchart
2021-10-22 18:42 ` Laurent Pinchart
2021-10-22 19:32 ` Sam Ravnborg
2021-10-22 19:32 ` Sam Ravnborg
2021-10-22 19:32 ` Sam Ravnborg
2021-10-22 19:46 ` Laurent Pinchart
2021-10-22 19:46 ` Laurent Pinchart
2021-10-22 19:46 ` Laurent Pinchart
2021-10-20 18:18 ` [PATCH v2 2/7] drm/bridge: Drop unused drm_bridge_chain functions Sam Ravnborg
2021-10-20 18:18 ` Sam Ravnborg
2021-10-20 18:18 ` Sam Ravnborg
2021-10-20 18:18 ` [PATCH v2 3/7] drm/bridge: Add drm_atomic_get_new_crtc_for_bridge() helper Sam Ravnborg
2021-10-20 18:18 ` Sam Ravnborg
2021-10-20 18:18 ` Sam Ravnborg
2021-10-22 11:03 ` Maxime Ripard
2021-10-22 11:03 ` Maxime Ripard
2021-10-22 11:03 ` Maxime Ripard
2021-10-22 19:33 ` Sam Ravnborg
2021-10-22 19:33 ` Sam Ravnborg
2021-10-22 19:33 ` Sam Ravnborg
2021-10-20 18:18 ` [PATCH v2 4/7] drm/bridge: lontium-lt9611: Use atomic variants of drm_bridge_funcs Sam Ravnborg
2021-10-20 18:18 ` Sam Ravnborg
2021-10-20 18:18 ` Sam Ravnborg
2021-10-20 18:18 ` [PATCH v2 5/7] drm/mediatek: Drop chain_mode_fixup call in mode_valid() Sam Ravnborg
2021-10-20 18:18 ` Sam Ravnborg
2021-10-20 18:18 ` Sam Ravnborg
2021-10-20 18:19 ` [PATCH v2 6/7] drm/bridge: Drop drm_bridge_chain_mode_fixup Sam Ravnborg
2021-10-20 18:19 ` Sam Ravnborg
2021-10-20 18:19 ` Sam Ravnborg
2021-10-20 18:19 ` [PATCH v2 7/7] drm/todo: Add bridge related todo items Sam Ravnborg
2021-10-20 18:19 ` Sam Ravnborg
2021-10-20 18:19 ` Sam Ravnborg
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=YXLHlaLfPD4wI7R7@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=a.hajda@samsung.com \
--cc=airlied@linux.ie \
--cc=andrzej.hajda@intel.com \
--cc=chunkuang.hu@kernel.org \
--cc=dafna.hirschfeld@collabora.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=enric.balletbo@collabora.com \
--cc=jernej.skrabec@gmail.com \
--cc=jitao.shi@mediatek.com \
--cc=jonas@kwiboo.se \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=matthias.bgg@gmail.com \
--cc=maxime@cerno.tech \
--cc=mripard@kernel.org \
--cc=narmstrong@baylibre.com \
--cc=p.zabel@pengutronix.de \
--cc=philipchen@chromium.org \
--cc=robert.foss@linaro.org \
--cc=sam@ravnborg.org \
--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.