From: abhinavk@codeaurora.org
To: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>,
David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
Rob Herring <robh+dt@kernel.org>,
Stephen Boyd <swboyd@chromium.org>,
devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
Kuogee Hsieh <khsieh@codeaurora.org>,
Tanmay Shah <tanmay@codeaurora.org>,
freedreno@lists.freedesktop.org,
Chandan Uddaraju <chandanu@codeaurora.org>
Subject: Re: [Freedreno] [PATCH 5/5] drm/msm/dp: Allow sub-regions to be specified in DT
Date: Fri, 23 Jul 2021 13:33:07 -0700 [thread overview]
Message-ID: <2d969e35f13b6a5313a901ac8b6dde9e@codeaurora.org> (raw)
In-Reply-To: <20210722024227.3313096-6-bjorn.andersson@linaro.org>
On 2021-07-21 19:42, Bjorn Andersson wrote:
> Not all platforms has P0 at an offset of 0x1000 from the base address,
> so add support for specifying each sub-region in DT. The code falls
> back
> to the predefined offsets in the case that only a single reg is
> specified, in order to support existing DT.
>
> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
The change itself looks good, hence
Reviewed-by: Abhinav Kumar <abhinavk@codeaurora.org>
But as a follow up to this change, can we move the existing DP DT on
sc7180 to this model and then drop this legacy path?
That will clean this up nicely.
> ---
> drivers/gpu/drm/msm/dp/dp_parser.c | 49 +++++++++++++++++++++++-------
> 1 file changed, 38 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/dp/dp_parser.c
> b/drivers/gpu/drm/msm/dp/dp_parser.c
> index 1a10901ae574..fc8a6452f641 100644
> --- a/drivers/gpu/drm/msm/dp/dp_parser.c
> +++ b/drivers/gpu/drm/msm/dp/dp_parser.c
> @@ -63,18 +63,45 @@ static int dp_parser_ctrl_res(struct dp_parser
> *parser)
> return PTR_ERR(dss->ahb);
> }
>
> - if (dss->ahb_len < DP_DEFAULT_P0_OFFSET + DP_DEFAULT_P0_SIZE) {
> - DRM_ERROR("legacy memory region not large enough\n");
> - return -EINVAL;
> - }
> + dss->aux = dp_ioremap(pdev, 1, &dss->aux_len);
> + if (IS_ERR(dss->aux)) {
> + /*
> + * The initial binding had a single reg, but in order to
> + * support variation in the sub-region sizes this was split.
> + * dp_ioremap() will fail with -ENODEV here if only a single
> + * reg is specified, so fill in the sub-region offsets and
> + * lengths based on this single region.
> + */
> + if (PTR_ERR(dss->aux) == -ENODEV) {
> + if (dss->ahb_len < DP_DEFAULT_P0_OFFSET + DP_DEFAULT_P0_SIZE) {
> + DRM_ERROR("legacy memory region not large enough\n");
> + return -EINVAL;
> + }
> +
> + dss->ahb_len = DP_DEFAULT_AHB_SIZE;
> + dss->aux = dss->ahb + DP_DEFAULT_AUX_OFFSET;
> + dss->aux_len = DP_DEFAULT_AUX_SIZE;
> + dss->link = dss->ahb + DP_DEFAULT_LINK_OFFSET;
> + dss->link_len = DP_DEFAULT_LINK_SIZE;
> + dss->p0 = dss->ahb + DP_DEFAULT_P0_OFFSET;
> + dss->p0_len = DP_DEFAULT_P0_SIZE;
> + } else {
> + DRM_ERROR("unable to remap aux region: %pe\n", dss->aux);
> + return PTR_ERR(dss->aux);
> + }
> + } else {
> + dss->link = dp_ioremap(pdev, 2, &dss->link_len);
> + if (IS_ERR(dss->link)) {
> + DRM_ERROR("unable to remap link region: %pe\n", dss->link);
> + return PTR_ERR(dss->link);
> + }
>
> - dss->ahb_len = DP_DEFAULT_AHB_SIZE;
> - dss->aux = dss->ahb + DP_DEFAULT_AUX_OFFSET;
> - dss->aux_len = DP_DEFAULT_AUX_SIZE;
> - dss->link = dss->ahb + DP_DEFAULT_LINK_OFFSET;
> - dss->link_len = DP_DEFAULT_LINK_SIZE;
> - dss->p0 = dss->ahb + DP_DEFAULT_P0_OFFSET;
> - dss->p0_len = DP_DEFAULT_P0_SIZE;
> + dss->p0 = dp_ioremap(pdev, 3, &dss->p0_len);
> + if (IS_ERR(dss->p0)) {
> + DRM_ERROR("unable to remap p0 region: %pe\n", dss->p0);
> + return PTR_ERR(dss->p0);
> + }
> + }
>
> io->phy = devm_phy_get(&pdev->dev, "dp");
> if (IS_ERR(io->phy))
WARNING: multiple messages have this Message-ID (diff)
From: abhinavk@codeaurora.org
To: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: devicetree@vger.kernel.org, David Airlie <airlied@linux.ie>,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org,
Stephen Boyd <swboyd@chromium.org>,
Kuogee Hsieh <khsieh@codeaurora.org>,
Rob Herring <robh+dt@kernel.org>,
Tanmay Shah <tanmay@codeaurora.org>,
freedreno@lists.freedesktop.org, Sean Paul <sean@poorly.run>,
Chandan Uddaraju <chandanu@codeaurora.org>
Subject: Re: [Freedreno] [PATCH 5/5] drm/msm/dp: Allow sub-regions to be specified in DT
Date: Fri, 23 Jul 2021 13:33:07 -0700 [thread overview]
Message-ID: <2d969e35f13b6a5313a901ac8b6dde9e@codeaurora.org> (raw)
In-Reply-To: <20210722024227.3313096-6-bjorn.andersson@linaro.org>
On 2021-07-21 19:42, Bjorn Andersson wrote:
> Not all platforms has P0 at an offset of 0x1000 from the base address,
> so add support for specifying each sub-region in DT. The code falls
> back
> to the predefined offsets in the case that only a single reg is
> specified, in order to support existing DT.
>
> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
The change itself looks good, hence
Reviewed-by: Abhinav Kumar <abhinavk@codeaurora.org>
But as a follow up to this change, can we move the existing DP DT on
sc7180 to this model and then drop this legacy path?
That will clean this up nicely.
> ---
> drivers/gpu/drm/msm/dp/dp_parser.c | 49 +++++++++++++++++++++++-------
> 1 file changed, 38 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/dp/dp_parser.c
> b/drivers/gpu/drm/msm/dp/dp_parser.c
> index 1a10901ae574..fc8a6452f641 100644
> --- a/drivers/gpu/drm/msm/dp/dp_parser.c
> +++ b/drivers/gpu/drm/msm/dp/dp_parser.c
> @@ -63,18 +63,45 @@ static int dp_parser_ctrl_res(struct dp_parser
> *parser)
> return PTR_ERR(dss->ahb);
> }
>
> - if (dss->ahb_len < DP_DEFAULT_P0_OFFSET + DP_DEFAULT_P0_SIZE) {
> - DRM_ERROR("legacy memory region not large enough\n");
> - return -EINVAL;
> - }
> + dss->aux = dp_ioremap(pdev, 1, &dss->aux_len);
> + if (IS_ERR(dss->aux)) {
> + /*
> + * The initial binding had a single reg, but in order to
> + * support variation in the sub-region sizes this was split.
> + * dp_ioremap() will fail with -ENODEV here if only a single
> + * reg is specified, so fill in the sub-region offsets and
> + * lengths based on this single region.
> + */
> + if (PTR_ERR(dss->aux) == -ENODEV) {
> + if (dss->ahb_len < DP_DEFAULT_P0_OFFSET + DP_DEFAULT_P0_SIZE) {
> + DRM_ERROR("legacy memory region not large enough\n");
> + return -EINVAL;
> + }
> +
> + dss->ahb_len = DP_DEFAULT_AHB_SIZE;
> + dss->aux = dss->ahb + DP_DEFAULT_AUX_OFFSET;
> + dss->aux_len = DP_DEFAULT_AUX_SIZE;
> + dss->link = dss->ahb + DP_DEFAULT_LINK_OFFSET;
> + dss->link_len = DP_DEFAULT_LINK_SIZE;
> + dss->p0 = dss->ahb + DP_DEFAULT_P0_OFFSET;
> + dss->p0_len = DP_DEFAULT_P0_SIZE;
> + } else {
> + DRM_ERROR("unable to remap aux region: %pe\n", dss->aux);
> + return PTR_ERR(dss->aux);
> + }
> + } else {
> + dss->link = dp_ioremap(pdev, 2, &dss->link_len);
> + if (IS_ERR(dss->link)) {
> + DRM_ERROR("unable to remap link region: %pe\n", dss->link);
> + return PTR_ERR(dss->link);
> + }
>
> - dss->ahb_len = DP_DEFAULT_AHB_SIZE;
> - dss->aux = dss->ahb + DP_DEFAULT_AUX_OFFSET;
> - dss->aux_len = DP_DEFAULT_AUX_SIZE;
> - dss->link = dss->ahb + DP_DEFAULT_LINK_OFFSET;
> - dss->link_len = DP_DEFAULT_LINK_SIZE;
> - dss->p0 = dss->ahb + DP_DEFAULT_P0_OFFSET;
> - dss->p0_len = DP_DEFAULT_P0_SIZE;
> + dss->p0 = dp_ioremap(pdev, 3, &dss->p0_len);
> + if (IS_ERR(dss->p0)) {
> + DRM_ERROR("unable to remap p0 region: %pe\n", dss->p0);
> + return PTR_ERR(dss->p0);
> + }
> + }
>
> io->phy = devm_phy_get(&pdev->dev, "dp");
> if (IS_ERR(io->phy))
next prev parent reply other threads:[~2021-07-23 20:33 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-22 2:42 [PATCH 0/5] drm/msm/dp: Allow variation in register regions Bjorn Andersson
2021-07-22 2:42 ` Bjorn Andersson
2021-07-22 2:42 ` [PATCH 1/5] dt-bindings: msm/dp: Change reg definition Bjorn Andersson
2021-07-22 2:42 ` Bjorn Andersson
2021-07-22 19:33 ` Stephen Boyd
2021-07-22 19:33 ` Stephen Boyd
2021-07-23 20:05 ` abhinavk
2021-07-23 20:05 ` abhinavk
2021-07-29 20:02 ` Rob Herring
2021-07-29 20:02 ` Rob Herring
2021-07-22 2:42 ` [PATCH 2/5] drm/msm/dp: Use devres for ioremap() Bjorn Andersson
2021-07-22 2:42 ` Bjorn Andersson
2021-07-22 20:06 ` Stephen Boyd
2021-07-22 20:06 ` Stephen Boyd
2021-07-23 20:11 ` [Freedreno] " abhinavk
2021-07-23 20:11 ` abhinavk
2021-07-22 2:42 ` [PATCH 3/5] drm/msm/dp: Refactor ioremap wrapper Bjorn Andersson
2021-07-22 2:42 ` Bjorn Andersson
2021-07-22 20:09 ` Stephen Boyd
2021-07-22 20:09 ` Stephen Boyd
2021-07-23 20:16 ` [Freedreno] " abhinavk
2021-07-23 20:16 ` abhinavk
2021-07-22 2:42 ` [PATCH 4/5] drm/msm/dp: Store each subblock in the io region Bjorn Andersson
2021-07-22 2:42 ` Bjorn Andersson
2021-07-22 20:13 ` Stephen Boyd
2021-07-22 20:13 ` Stephen Boyd
2021-07-23 20:29 ` [Freedreno] " abhinavk
2021-07-23 20:29 ` abhinavk
2021-07-22 2:42 ` [PATCH 5/5] drm/msm/dp: Allow sub-regions to be specified in DT Bjorn Andersson
2021-07-22 2:42 ` Bjorn Andersson
2021-07-22 20:16 ` Stephen Boyd
2021-07-22 20:16 ` Stephen Boyd
2021-07-23 20:33 ` abhinavk [this message]
2021-07-23 20:33 ` [Freedreno] " abhinavk
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=2d969e35f13b6a5313a901ac8b6dde9e@codeaurora.org \
--to=abhinavk@codeaurora.org \
--cc=airlied@linux.ie \
--cc=bjorn.andersson@linaro.org \
--cc=chandanu@codeaurora.org \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=khsieh@codeaurora.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robdclark@gmail.com \
--cc=robh+dt@kernel.org \
--cc=sean@poorly.run \
--cc=swboyd@chromium.org \
--cc=tanmay@codeaurora.org \
/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.