[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <442519fd-1bb7-1200-6b0f-97ddd5226411@quicinc.com>
Date: Mon, 2 Jan 2023 16:21:55 +0530
From: Akhil P Oommen <quic_akhilpo@...cinc.com>
To: Konrad Dybcio <konrad.dybcio@...aro.org>,
<linux-arm-msm@...r.kernel.org>, <andersson@...nel.org>,
<agross@...nel.org>, <krzysztof.kozlowski@...aro.org>
CC: <freedreno@...ts.freedesktop.org>,
Jeffrey Hugo <jeffrey.l.hugo@...il.com>,
David Airlie <airlied@...il.com>,
Abhinav Kumar <quic_abhinavk@...cinc.com>,
<dri-devel@...ts.freedesktop.org>,
Jordan Crouse <jordan@...micpenguin.net>,
Rob Clark <robdclark@...il.com>,
Daniel Vetter <daniel@...ll.ch>,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
<marijn.suijten@...ainline.org>, Sean Paul <sean@...rly.run>,
<linux-kernel@...r.kernel.org>
Subject: Re: [Freedreno] [PATCH v2] drm/msm/adreno: Make adreno quirks not
overwrite each other
On 1/2/2023 3:32 PM, Konrad Dybcio wrote:
> So far the adreno quirks have all been assigned with an OR operator,
> which is problematic, because they were assigned consecutive integer
> values, which makes checking them with an AND operator kind of no bueno..
>
> Switch to using BIT(n) so that only the quirks that the programmer chose
> are taken into account when evaluating info->quirks & ADRENO_QUIRK_...
>
> Fixes: 370063ee427a ("drm/msm/adreno: Add A540 support")
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
> Reviewed-by: Marijn Suijten <marijn.suijten@...ainline.org>
> Reviewed-by: Rob Clark <robdclark@...il.com>
> Signed-off-by: Konrad Dybcio <konrad.dybcio@...aro.org>
> ---
> v1 -> v2:
> - pick up tags
> - correct the Fixes: tag
>
> drivers/gpu/drm/msm/adreno/adreno_gpu.h | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.h b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> index c85857c0a228..5eb254c9832a 100644
> --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> @@ -29,11 +29,9 @@ enum {
> ADRENO_FW_MAX,
> };
>
> -enum adreno_quirks {
> - ADRENO_QUIRK_TWO_PASS_USE_WFI = 1,
> - ADRENO_QUIRK_FAULT_DETECT_MASK = 2,
> - ADRENO_QUIRK_LMLOADKILL_DISABLE = 3,
> -};
> +#define ADRENO_QUIRK_TWO_PASS_USE_WFI BIT(0)
> +#define ADRENO_QUIRK_FAULT_DETECT_MASK BIT(1)
> +#define ADRENO_QUIRK_LMLOADKILL_DISABLE BIT(2)
>
> struct adreno_rev {
> uint8_t core;
> @@ -65,7 +63,7 @@ struct adreno_info {
> const char *name;
> const char *fw[ADRENO_FW_MAX];
> uint32_t gmem;
> - enum adreno_quirks quirks;
> + u64 quirks;
> struct msm_gpu *(*init)(struct drm_device *dev);
> const char *zapfw;
> u32 inactive_period;
Reviewed-by: Akhil P Oommen <quic_akhilpo@...cinc.com>
-Akhil.
Powered by blists - more mailing lists