[<prev] [next>] [day] [month] [year] [list]
Message-ID: <YZXqz6XDChwscDC0@google.com>
Date: Thu, 18 Nov 2021 13:55:27 +0800
From: Tzung-Bi Shih <tzungbi@...gle.com>
To: "jason-jh.lin" <jason-jh.lin@...iatek.com>
Cc: Chun-Kuang Hu <chunkuang.hu@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
Matthias Brugger <matthias.bgg@...il.com>,
Jassi Brar <jassisinghbrar@...il.com>,
David Airlie <airlied@...ux.ie>,
Daniel Vetter <daniel@...ll.ch>,
dri-devel@...ts.freedesktop.org,
linux-mediatek@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
hsinyi@...omium.org, fshao@...omium.org, nancy.lin@...iatek.com,
singo.chang@...iatek.com
Subject: Re: [PATCH 3/3] drm/mediatek: add devlink to cmdq dev
On Wed, Nov 17, 2021 at 02:41:58PM +0800, jason-jh.lin wrote:
> @@ -158,6 +159,7 @@ static void mtk_drm_crtc_destroy(struct drm_crtc *crtc)
> mtk_drm_cmdq_pkt_destroy(&mtk_crtc->cmdq_handle);
>
> if (mtk_crtc->cmdq_client.chan) {
> + device_link_remove(mtk_crtc->drm_dev, mtk_crtc->cmdq_client.chan->mbox->dev);
> mbox_free_channel(mtk_crtc->cmdq_client.chan);
> mtk_crtc->cmdq_client.chan = NULL;
> }
[...]
> @@ -956,6 +959,16 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev,
> }
>
> if (mtk_crtc->cmdq_client.chan) {
> + struct device_link *link;
> +
> + /* add devlink to cmdq dev to make sure suspend/resume order is correct */
> + link = device_link_add(dev, mtk_crtc->cmdq_client.chan->mbox->dev,
> + DL_FLAG_PM_RUNTIME | DL_FLAG_STATELESS);
> + if (!link) {
> + dev_err(dev, "Unable to link dev=%s\n",
> + dev_name(mtk_crtc->cmdq_client.chan->mbox->dev));
> + }
> +
If device_link_add() failed, doesn't mtk_drm_crtc_create() need to return an error and exit?
OTOH, if device_link_add() failed, won't it bring any side effects to call device_link_remove()?
Powered by blists - more mailing lists