From: Heiko Stuebner <heiko@sntech.de>
To: "Joerg Roedel" <joro@8bytes.org>, "Will Deacon" <will@kernel.org>,
"Robin Murphy" <robin.murphy@arm.com>,
"Sven Püschel" <s.pueschel@pengutronix.de>
Cc: iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
"Simon Xue" <xxm@rock-chips.com>,
kernel@pengutronix.de, "Sven Püschel" <s.pueschel@pengutronix.de>
Subject: Re: [PATCH v2] iommu/rockchip: disable fetch dte time limit
Date: Fri, 29 May 2026 19:47:27 +0200 [thread overview]
Message-ID: <5524351.eFTFzoEnKi@phil> (raw)
In-Reply-To: <20260428-spu-iommudtefix-v2-1-f592f579e508@pengutronix.de>
Am Dienstag, 28. April 2026, 18:05:31 Mitteleuropäische Sommerzeit schrieb Sven Püschel:
> From: Simon Xue <xxm@rock-chips.com>
>
> Disable the Bit 31 of the AUTO_GATING iommu register, as it causes
> hangups with the RGA3 (Raster Graphics Acceleration 3) peripheral.
> The RGA3 register description of the TRM already states that the bit
> must be set to 1. The vendor kernel sets the bit unconditionally to
> 1 to fix VOP (Video Output Processor) screen black issues. This patch
> squashes the 2 vendor kernel commits with the following commit messages:
>
> Master fetch data and cpu update page table may work in parallel, may
> have the following procedure:
>
> master cpu
> fetch dte update page tabl
> | |
> (make dte invalid) <- zap iotlb entry
> | |
> fetch dte again
> (make dte invalid) <- zap iotlb entry
> | |
> fetch dte again
> (make dte invalid) <- zap iotlb entry
> | |
> fetch dte again
> (make iommu block) <- zap iotlb entry
>
> New iommu version has the above bug, if fetch dte consecutively four
> times, then it will be blocked. Fortunately, we can set bit 31 of
> register MMU_AUTO_GATING to 1 to make it work as old version which does
> not have this issue.
>
> This issue only appears on RV1126 so far, so make a workaround dedicated
> to "rockchip,rv1126" machine type.
>
> iommu/rockchip: fix vop blocked and screen black on RK356X and RK3588
>
> RK3568 and RK3588 has the same issue as RV1126/RV1109 that caused by
> dte fetch time limit, So we can set BIT(31) of register 0x24 default
> to 1 as a workaround.
>
> Signed-off-by: Simon Xue <xxm@rock-chips.com>
> Signed-off-by: Sven Püschel <s.pueschel@pengutronix.de>
Acked-by: Heiko Stuebner <heiko@sntech.de>
@Joerg: could we get this merged?
Thanks
Heiko
WARNING: multiple messages have this Message-ID (diff)
From: Heiko Stuebner <heiko@sntech.de>
To: "Joerg Roedel" <joro@8bytes.org>, "Will Deacon" <will@kernel.org>,
"Robin Murphy" <robin.murphy@arm.com>,
"Sven Püschel" <s.pueschel@pengutronix.de>
Cc: iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
"Simon Xue" <xxm@rock-chips.com>,
kernel@pengutronix.de, "Sven Püschel" <s.pueschel@pengutronix.de>
Subject: Re: [PATCH v2] iommu/rockchip: disable fetch dte time limit
Date: Fri, 29 May 2026 19:47:27 +0200 [thread overview]
Message-ID: <5524351.eFTFzoEnKi@phil> (raw)
In-Reply-To: <20260428-spu-iommudtefix-v2-1-f592f579e508@pengutronix.de>
Am Dienstag, 28. April 2026, 18:05:31 Mitteleuropäische Sommerzeit schrieb Sven Püschel:
> From: Simon Xue <xxm@rock-chips.com>
>
> Disable the Bit 31 of the AUTO_GATING iommu register, as it causes
> hangups with the RGA3 (Raster Graphics Acceleration 3) peripheral.
> The RGA3 register description of the TRM already states that the bit
> must be set to 1. The vendor kernel sets the bit unconditionally to
> 1 to fix VOP (Video Output Processor) screen black issues. This patch
> squashes the 2 vendor kernel commits with the following commit messages:
>
> Master fetch data and cpu update page table may work in parallel, may
> have the following procedure:
>
> master cpu
> fetch dte update page tabl
> | |
> (make dte invalid) <- zap iotlb entry
> | |
> fetch dte again
> (make dte invalid) <- zap iotlb entry
> | |
> fetch dte again
> (make dte invalid) <- zap iotlb entry
> | |
> fetch dte again
> (make iommu block) <- zap iotlb entry
>
> New iommu version has the above bug, if fetch dte consecutively four
> times, then it will be blocked. Fortunately, we can set bit 31 of
> register MMU_AUTO_GATING to 1 to make it work as old version which does
> not have this issue.
>
> This issue only appears on RV1126 so far, so make a workaround dedicated
> to "rockchip,rv1126" machine type.
>
> iommu/rockchip: fix vop blocked and screen black on RK356X and RK3588
>
> RK3568 and RK3588 has the same issue as RV1126/RV1109 that caused by
> dte fetch time limit, So we can set BIT(31) of register 0x24 default
> to 1 as a workaround.
>
> Signed-off-by: Simon Xue <xxm@rock-chips.com>
> Signed-off-by: Sven Püschel <s.pueschel@pengutronix.de>
Acked-by: Heiko Stuebner <heiko@sntech.de>
@Joerg: could we get this merged?
Thanks
Heiko
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2026-05-29 17:47 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-28 16:05 [PATCH v2] iommu/rockchip: disable fetch dte time limit Sven Püschel
2026-04-28 16:05 ` Sven Püschel
2026-05-29 17:47 ` Heiko Stuebner [this message]
2026-05-29 17:47 ` Heiko Stuebner
2026-06-02 8:44 ` Joerg Roedel
2026-06-02 8:44 ` Joerg Roedel
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=5524351.eFTFzoEnKi@phil \
--to=heiko@sntech.de \
--cc=iommu@lists.linux.dev \
--cc=joro@8bytes.org \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=robin.murphy@arm.com \
--cc=s.pueschel@pengutronix.de \
--cc=will@kernel.org \
--cc=xxm@rock-chips.com \
/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.