From: Chema Casanova <jmcasanova@igalia.com>
To: "Maíra Canal" <mcanal@igalia.com>,
"Melissa Wen" <mwen@igalia.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] drm/v3d: client ranges from axi_ids are different with V3D 7.1
Date: Fri, 25 Apr 2025 14:40:47 +0200 [thread overview]
Message-ID: <987e372b-6c47-4324-b05b-4ccd77a9a95e@igalia.com> (raw)
In-Reply-To: <efbd7d18-1cd2-4eb9-b504-c4a75370843a@igalia.com>
El 10/4/25 a las 14:40, Maíra Canal escribió:
> Hi Chema,
>
> On 09/04/25 12:55, Jose Maria Casanova Crespo wrote:
>> The client mask has been reduced from 8 bits on V3D 4.1 to 7 bits
>> on V3d 7.1, so the ranges for each client are not compatible.
>
> s/V3d/V3D
>
Fixed.
>>
>> A new CSD client can now report MMU errors on 7.1
>
> How about "On V3D 7.1, the CSD client can also report MMU errors.
> Therefore, add its AXI ID to the IDs list."?
>
> Note that a commit message should use the imperative mood:
>
> "Describe your changes in imperative mood, e.g. “make xyzzy do frotz”
> instead of “[This patch] makes xyzzy do frotz” or “[I] changed xyzzy to
> do frotz”, as if you are giving orders to the codebase to change its
> behaviour." [1]
>
> I miss such imperative description in this commit message.
>
I tried for v2.
>
> Also, you could add a "Fixes:" tag pointing to the commit that
> introduced V3D 7.1. This will allow this commit to go to the stable
> trees.
>
> [1] https://docs.kernel.org/process/submitting-patches.html
I already included the fixes tag for v2. Initially, I had doubts because
as I thought that the fix was not critical, as at the end was only
affecting to debug message.
>
>>
>> Signed-off-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
>> ---
>> drivers/gpu/drm/v3d/v3d_irq.c | 21 ++++++++++++++++++++-
>> 1 file changed, 20 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/v3d/v3d_irq.c
>> b/drivers/gpu/drm/v3d/v3d_irq.c
>> index 1810743ea7b8..0cc1c7e5b412 100644
>> --- a/drivers/gpu/drm/v3d/v3d_irq.c
>> +++ b/drivers/gpu/drm/v3d/v3d_irq.c
>> @@ -199,12 +199,31 @@ v3d_hub_irq(int irq, void *arg)
>> {0xA0, 0xA1, "TFU"},
>> {0xC0, 0xE0, "MMU"},
>> {0xE0, 0xE1, "GMP"},
>> + }, v3d71_axi_ids[] = {
>> + {0x00, 0x30, "L2T"},
>> + {0x30, 0x38, "CLE"},
>> + {0x38, 0x39, "PTB"},
>> + {0x39, 0x3A, "PSE"},
>> + {0x3A, 0x3B, "CSD"},
>> + {0x40, 0x60, "TLB"},
>> + {0x60, 0x70, "MMU"},
>> + {0x7C, 0x7E, "TFU"},
>> + {0x7F, 0x80, "GMP"},
>> };
>> const char *client = "?";
>> V3D_WRITE(V3D_MMU_CTL, V3D_READ(V3D_MMU_CTL));
>> - if (v3d->ver >= V3D_GEN_41) {
>> + if (v3d->ver >= V3D_GEN_71) {
>> + axi_id = axi_id & 0x7F;
>> + for (size_t i = 0; i < ARRAY_SIZE(v3d71_axi_ids); i++) {
>> + if (axi_id >= v3d71_axi_ids[i].begin &&
>> + axi_id < v3d71_axi_ids[i].end) {
>> + client = v3d71_axi_ids[i].client;
>> + break;
>> + }
>> + }
>
> What do you think about assigning v3d71_axi_ids or v3d41_axi_ids to an
> temporary variable and move this loop below? Something like,
>
> if (v3d->ver >= V3D_GEN_71) {
> axi_id = axi_id & 0x7F;
> v3d_axi_ids = v3d71_axi_ids;
> } else if ... {
> ...
> }
>
> for (size_t i = 0; i < ARRAY_SIZE(v3d_axi_ids); i++) {
> if (axi_id >= v3d_axi_ids[i].begin
> && axi_id < v3d_axi_ids[i].end) {
> client = v3d_axi_ids[i].client;
> break;
> }
> }
After checking with Maíra we agree that was simpler the original
approach, as we would need to include an extra of the number
of elements in the arrays as ARRAY_SIZE and the compiler would
need to thread the size of the arrays as dynamic.
Kind regards,
Chema Casanova
next prev parent reply other threads:[~2025-04-25 12:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-09 15:55 [PATCH 1/2] drm/v3d: fix client obtained from axi_ids on V3D 4.1 Jose Maria Casanova Crespo
2025-04-09 15:55 ` [PATCH 2/2] drm/v3d: client ranges from axi_ids are different with V3D 7.1 Jose Maria Casanova Crespo
2025-04-10 12:40 ` Maíra Canal
2025-04-25 12:40 ` Chema Casanova [this message]
2025-04-10 12:31 ` [PATCH 1/2] drm/v3d: fix client obtained from axi_ids on V3D 4.1 Maíra Canal
2025-04-25 12:34 ` Chema Casanova
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=987e372b-6c47-4324-b05b-4ccd77a9a95e@igalia.com \
--to=jmcasanova@igalia.com \
--cc=airlied@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mcanal@igalia.com \
--cc=mripard@kernel.org \
--cc=mwen@igalia.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®