From: "Heiko Stübner" <heiko@sntech.de>
To: Arnd Bergmann <arnd@arndb.de>,
Andrzej Hajda <andrzej.hajda@intel.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Robert Foss <rfoss@kernel.org>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
Dave Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
Nathan Chancellor <nathan@kernel.org>,
Heiko Stuebner <heiko.stuebner@cherry.de>,
Andy Yan <andy.yan@rock-chips.com>,
dri-devel@lists.freedesktop.org
Cc: "laurent.pinchart" <Laurent.pinchart@ideasonboard.com>,
Jonas Karlman <jonas@kwiboo.se>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Nick Desaulniers <nick.desaulniers+lkml@gmail.com>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>,
Dmitry Baryshkov <lumag@kernel.org>,
Doug Anderson <dianders@chromium.org>,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
llvm@lists.linux.dev, Arnd Bergmann <arnd@kernel.org>
Subject: Re: [PATCH] drm/bridge/synopsys: avoid field overflow warning
Date: Wed, 07 May 2025 16:34:09 +0200 [thread overview]
Message-ID: <3355346.44csPzL39Z@diego> (raw)
In-Reply-To: <220ed0fb-1ccb-4371-9b5a-a99dfdc84984@app.fastmail.com>
Am Donnerstag, 10. April 2025, 14:36:45 Mitteleuropäische Sommerzeit schrieb Arnd Bergmann:
> On Wed, Apr 9, 2025, at 09:07, Arnd Bergmann wrote:
> > On Tue, Apr 8, 2025, at 19:51, Arnd Bergmann wrote:
> >> From: Arnd Bergmann <arnd@arndb.de>
> >>
> >> clang-16 and earlier complain about what it thinks might be an out of
> >> range number:
> >>
> >> drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c:348:8: error: call to
> >> __compiletime_assert_579 declared with 'error' attribute: FIELD_PREP:
> >> value too large for the field
> >> PHY_SYS_RATIO(tmp));
> >> ^
> >> drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c:90:27: note: expanded
> >> from macro 'PHY_SYS_RATIO'
> >> #define PHY_SYS_RATIO(x) FIELD_PREP(GENMASK(16, 0), x)
> >>
> >
> > I still see the same build failure in some other configurations even
> > with this patch. Please disregard this version, I'll try to come
> > up with a better one.
>
> I couldn't come up with anything that actually worked, other than
> the hack below, which just works around the compiletime error
> in FIELD_PREP(), but doesn't look like a proper fix.
>
> If anyone else has any ideas, I can test their patch.
>
> Arnd
>
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c
> index c76f5f2e74d1..8ba528462ede 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c
> @@ -344,7 +344,7 @@ static void dw_mipi_dsi2_phy_ratio_cfg(struct dw_mipi_dsi2 *dsi2)
> */
> tmp = DIV_ROUND_CLOSEST_ULL(phy_hsclk << 16, sys_clk);
> regmap_write(dsi2->regmap, DSI2_PHY_SYS_RATIO_MAN_CFG,
> - PHY_SYS_RATIO(tmp));
> + PHY_SYS_RATIO(tmp & GENMASK(16, 0)));
so should we take this one for the time being?
While FIELD_PREP does _some_ type checking for mask and value, they are
"only" build-time checks for when the value is a builtin constant.
It doesn't do checks at runtime, so it seems this check would fall into
the submitting code's realm?
> }
>
> static void dw_mipi_dsi2_lp2hs_or_hs2lp_cfg(struct dw_mipi_dsi2 *dsi2)
>
prev parent reply other threads:[~2025-05-07 14:34 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-08 17:51 [PATCH] drm/bridge/synopsys: avoid field overflow warning Arnd Bergmann
2025-04-09 7:07 ` Arnd Bergmann
2025-04-10 12:36 ` Arnd Bergmann
2025-05-07 9:06 ` Borislav Petkov
2025-05-07 14:34 ` Heiko Stübner [this message]
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=3355346.44csPzL39Z@diego \
--to=heiko@sntech.de \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=andy.yan@rock-chips.com \
--cc=arnd@arndb.de \
--cc=arnd@kernel.org \
--cc=dianders@chromium.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=heiko.stuebner@cherry.de \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=justinstitt@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=lumag@kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=morbo@google.com \
--cc=mripard@kernel.org \
--cc=nathan@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=nick.desaulniers+lkml@gmail.com \
--cc=rfoss@kernel.org \
--cc=simona@ffwll.ch \
--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.