drivers/gpu/drm/imagination/pvr_fw_meta.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
From: Matt Coster <matt.coster@imgtec.com>
For completeness, OR in the CACHED flags when we're not ORing in the
UNCACHED counterparts. One of these is probably zero, but (a) it isn't
evident just by reading these lines, and (b) the compiler will make it
disappear in that case.
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Signed-off-by: Alexandru Dadu <alexandru.dadu@imgtec.com>
---
Changes in v2:
- Update the author field to the correct value.
- Link to v1: https://lore.kernel.org/r/20260804-b4-cached-flag-on-meta-fw-v1-1-333bccf10d3a@imgtec.com
To: Alessio Belle <alessio.belle@imgtec.com>
To: Luigi Santivetti <luigi.santivetti@imgtec.com>
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
To: Maxime Ripard <mripard@kernel.org>
To: Thomas Zimmermann <tzimmermann@suse.de>
To: David Airlie <airlied@gmail.com>
To: Simona Vetter <simona@ffwll.ch>
Cc: imagination@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Cc: linux-kernel@vger.kernel.org
---
drivers/gpu/drm/imagination/pvr_fw_meta.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/imagination/pvr_fw_meta.c b/drivers/gpu/drm/imagination/pvr_fw_meta.c
index 9ff03bc60a08..b5837ba56e33 100644
--- a/drivers/gpu/drm/imagination/pvr_fw_meta.c
+++ b/drivers/gpu/drm/imagination/pvr_fw_meta.c
@@ -509,9 +509,13 @@ pvr_meta_get_fw_addr_with_offset(struct pvr_fw_object *fw_obj, u32 offset)
u32 fw_addr = fw_obj->fw_addr_offset + offset + ROGUE_FW_SEGMMU_DATA_BASE_ADDRESS;
/* META cacheability is determined by address. */
- if (fw_obj->gem->flags & PVR_BO_FW_FLAGS_DEVICE_UNCACHED)
+ if (fw_obj->gem->flags & PVR_BO_FW_FLAGS_DEVICE_UNCACHED) {
fw_addr |= ROGUE_FW_SEGMMU_DATA_META_UNCACHED |
ROGUE_FW_SEGMMU_DATA_VIVT_SLC_UNCACHED;
+ } else {
+ fw_addr |= ROGUE_FW_SEGMMU_DATA_META_CACHED |
+ ROGUE_FW_SEGMMU_DATA_VIVT_SLC_CACHED;
+ }
return fw_addr;
}
---
base-commit: e55fead22ff9ee047ab9f1903860c4b43043514e
change-id: 20260804-b4-cached-flag-on-meta-fw-b0fb2589ba72
Best regards,
--
Alexandru Dadu <alexandru.dadu@imgtec.com>
On Mon, 14 Sep 2026 15:21:37 +0300, Alexandru Dadu wrote:
> For completeness, OR in the CACHED flags when we're not ORing in the
> UNCACHED counterparts. One of these is probably zero, but (a) it isn't
> evident just by reading these lines, and (b) the compiler will make it
> disappear in that case.
Applied to drm-misc-next, thanks!
[1/1] drm/imagination: Explicitly set CACHED flag on META FW
commit: bccc174bdf1af621301a9b3924572b44d67cd334
Best regards,
--
Alessio Belle <alessio.belle@imgtec.com>
On Mon, 2026-09-14 at 15:21 +0300, Alexandru Dadu wrote:
> From: Matt Coster <matt.coster@imgtec.com>
>
> For completeness, OR in the CACHED flags when we're not ORing in the
> UNCACHED counterparts. One of these is probably zero, but (a) it isn't
> evident just by reading these lines, and (b) the compiler will make it
> disappear in that case.
>
> Signed-off-by: Matt Coster <matt.coster@imgtec.com>
> Signed-off-by: Alexandru Dadu <alexandru.dadu@imgtec.com>
Reviewed-by: Alessio Belle <alessio.belle@imgtec.com>
Thanks,
Alessio
> ---
> Changes in v2:
> - Update the author field to the correct value.
> - Link to v1: https://lore.kernel.org/r/20260804-b4-cached-flag-on-meta-fw-v1-1-333bccf10d3a@imgtec.com
>
> To: Alessio Belle <alessio.belle@imgtec.com>
> To: Luigi Santivetti <luigi.santivetti@imgtec.com>
> To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> To: Maxime Ripard <mripard@kernel.org>
> To: Thomas Zimmermann <tzimmermann@suse.de>
> To: David Airlie <airlied@gmail.com>
> To: Simona Vetter <simona@ffwll.ch>
> Cc: imagination@lists.freedesktop.org
> Cc: dri-devel@lists.freedesktop.org
> Cc: linux-kernel@vger.kernel.org
> ---
> drivers/gpu/drm/imagination/pvr_fw_meta.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/imagination/pvr_fw_meta.c b/drivers/gpu/drm/imagination/pvr_fw_meta.c
> index 9ff03bc60a08..b5837ba56e33 100644
> --- a/drivers/gpu/drm/imagination/pvr_fw_meta.c
> +++ b/drivers/gpu/drm/imagination/pvr_fw_meta.c
> @@ -509,9 +509,13 @@ pvr_meta_get_fw_addr_with_offset(struct pvr_fw_object *fw_obj, u32 offset)
> u32 fw_addr = fw_obj->fw_addr_offset + offset + ROGUE_FW_SEGMMU_DATA_BASE_ADDRESS;
>
> /* META cacheability is determined by address. */
> - if (fw_obj->gem->flags & PVR_BO_FW_FLAGS_DEVICE_UNCACHED)
> + if (fw_obj->gem->flags & PVR_BO_FW_FLAGS_DEVICE_UNCACHED) {
> fw_addr |= ROGUE_FW_SEGMMU_DATA_META_UNCACHED |
> ROGUE_FW_SEGMMU_DATA_VIVT_SLC_UNCACHED;
> + } else {
> + fw_addr |= ROGUE_FW_SEGMMU_DATA_META_CACHED |
> + ROGUE_FW_SEGMMU_DATA_VIVT_SLC_CACHED;
> + }
>
> return fw_addr;
> }
>
> ---
> base-commit: e55fead22ff9ee047ab9f1903860c4b43043514e
> change-id: 20260804-b4-cached-flag-on-meta-fw-b0fb2589ba72
>
> Best regards,
> --
> Alexandru Dadu <alexandru.dadu@imgtec.com>
>
© 2016 - 2026 Red Hat, Inc.