[PATCH V3 5/9] sunxi: H616: dram: Update mbus priorities
Andre Przywara
andre.przywara at arm.com
Tue Sep 3 00:36:26 CEST 2024
Hi,
On 30/08/2024 16:55, Chris Morgan wrote:
> From: Jernej Skrabec <jernej.skrabec at gmail.com>
>
> CSI1 channel (22) is missing and IOMMU (25) has priority flag set in
> vendor bootloader. Fix that.
>
> While at it, replace bandwidth flag with priority since original flag has
> always value "true".
I cannot confirm what the vendor bootloader does, nor whether this is
correct, but it seems to still work, and the patch does exactly what the
commit message claims. So:
> Signed-off-by: Jernej Skrabec <jernej.skrabec at gmail.com>
> Tested-by: Chris Morgan <macromorgan at hotmail.com>
Reviewed-by: Andre Przywara <andre.przywara at arm.com>
Cheers,
Andre
> ---
> arch/arm/mach-sunxi/dram_sun50i_h616.c | 41 +++++++++++++-------------
> 1 file changed, 21 insertions(+), 20 deletions(-)
>
> diff --git a/arch/arm/mach-sunxi/dram_sun50i_h616.c b/arch/arm/mach-sunxi/dram_sun50i_h616.c
> index 4782e6fe38..863c4f1d7a 100644
> --- a/arch/arm/mach-sunxi/dram_sun50i_h616.c
> +++ b/arch/arm/mach-sunxi/dram_sun50i_h616.c
> @@ -55,8 +55,8 @@ static void mbus_configure_port(u8 port,
> writel_relaxed(cfg1, &mctl_com->master[port].cfg1);
> }
>
> -#define MBUS_CONF(port, bwlimit, qos, acs, bwl0, bwl1, bwl2) \
> - mbus_configure_port(port, bwlimit, false, \
> +#define MBUS_CONF(port, priority, qos, acs, bwl0, bwl1, bwl2) \
> + mbus_configure_port(port, true, priority, \
> MBUS_QOS_ ## qos, 0, acs, bwl0, bwl1, bwl2)
>
> static void mctl_set_master_priority(void)
> @@ -68,24 +68,25 @@ static void mctl_set_master_priority(void)
> writel(399, &mctl_com->tmr);
> writel(BIT(16), &mctl_com->bwcr);
>
> - MBUS_CONF( 0, true, HIGHEST, 0, 256, 128, 100);
> - MBUS_CONF( 1, true, HIGH, 0, 1536, 1400, 256);
> - MBUS_CONF( 2, true, HIGHEST, 0, 512, 256, 96);
> - MBUS_CONF( 3, true, HIGH, 0, 256, 100, 80);
> - MBUS_CONF( 4, true, HIGH, 2, 8192, 5500, 5000);
> - MBUS_CONF( 5, true, HIGH, 2, 100, 64, 32);
> - MBUS_CONF( 6, true, HIGH, 2, 100, 64, 32);
> - MBUS_CONF( 8, true, HIGH, 0, 256, 128, 64);
> - MBUS_CONF(11, true, HIGH, 0, 256, 128, 100);
> - MBUS_CONF(14, true, HIGH, 0, 1024, 256, 64);
> - MBUS_CONF(16, true, HIGHEST, 6, 8192, 2800, 2400);
> - MBUS_CONF(21, true, HIGHEST, 6, 2048, 768, 512);
> - MBUS_CONF(25, true, HIGHEST, 0, 100, 64, 32);
> - MBUS_CONF(26, true, HIGH, 2, 8192, 5500, 5000);
> - MBUS_CONF(37, true, HIGH, 0, 256, 128, 64);
> - MBUS_CONF(38, true, HIGH, 2, 100, 64, 32);
> - MBUS_CONF(39, true, HIGH, 2, 8192, 5500, 5000);
> - MBUS_CONF(40, true, HIGH, 2, 100, 64, 32);
> + MBUS_CONF(0, false, HIGHEST, 0, 256, 128, 100);
> + MBUS_CONF(1, false, HIGH, 0, 1536, 1400, 256);
> + MBUS_CONF(2, false, HIGHEST, 0, 512, 256, 96);
> + MBUS_CONF(3, false, HIGH, 0, 256, 100, 80);
> + MBUS_CONF(4, false, HIGH, 2, 8192, 5500, 5000);
> + MBUS_CONF(5, false, HIGH, 2, 100, 64, 32);
> + MBUS_CONF(6, false, HIGH, 2, 100, 64, 32);
> + MBUS_CONF(8, false, HIGH, 0, 256, 128, 64);
> + MBUS_CONF(11, false, HIGH, 0, 256, 128, 100);
> + MBUS_CONF(14, false, HIGH, 0, 1024, 256, 64);
> + MBUS_CONF(16, false, HIGHEST, 6, 8192, 2800, 2400);
> + MBUS_CONF(21, false, HIGHEST, 6, 2048, 768, 512);
> + MBUS_CONF(22, false, HIGH, 0, 256, 128, 100);
> + MBUS_CONF(25, true, HIGHEST, 0, 100, 64, 32);
> + MBUS_CONF(26, false, HIGH, 2, 8192, 5500, 5000);
> + MBUS_CONF(37, false, HIGH, 0, 256, 128, 64);
> + MBUS_CONF(38, false, HIGH, 2, 100, 64, 32);
> + MBUS_CONF(39, false, HIGH, 2, 8192, 5500, 5000);
> + MBUS_CONF(40, false, HIGH, 2, 100, 64, 32);
>
> dmb();
> }
More information about the U-Boot
mailing list