[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <7ecde27b-05e9-4727-8441-e17916df237a@app.fastmail.com>
Date: Thu, 05 Jan 2023 10:47:39 +0100
From: "Sven Peter" <sven@...npeter.dev>
To: "Hector Martin" <marcan@...can.st>,
"Joerg Roedel" <joro@...tes.org>, "Will Deacon" <will@...nel.org>,
"Robin Murphy" <robin.murphy@....com>
Cc: "Alyssa Rosenzweig" <alyssa@...enzweig.io>,
"Janne Grunau" <j@...nau.net>, "Rob Herring" <robh+dt@...nel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@...aro.org>,
devicetree@...r.kernel.org, iommu@...ts.linux.dev,
asahi@...ts.linux.dev, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/7] iommu: dart: Support >64 stream IDs
Hi,
On Thu, Jan 5, 2023, at 05:43, Hector Martin wrote:
> On 2023/01/04 22:37, Sven Peter wrote:
>>> #include "dma-iommu.h"
>>>
>>> -#define DART_MAX_STREAMS 16
>>> +#define DART_MAX_STREAMS 256
>>
>> Feels a bit wasteful to allocate 256-wide sid2group and save_{tcr,ttbr}
>> arrays even for the M1 where 16 are enough. But then again, that's still <100 KiB
>> for all DARTs combined and these machine have >8 GiB of RAM so it probably won't
>> make a difference
>
> Yeah, I don't think this is worth the extra fumbling around with dynamic
> allocation.
>
>>> /* enable all streams globally since TCR is used to control isolation */
>>> - writel(DART_STREAM_ALL, dart->regs + DART_STREAMS_ENABLE);
>>> + for (i = 0; i < BITS_TO_U32(dart->num_streams); i++)
>>> + writel(U32_MAX, dart->regs + DART_STREAMS_ENABLE);
>>
>> This seems weird: this code writes U32_MAX to the same register
>> again and again.
>
> Whoops, that was supposed to have a `+ 4 * i` in there. Fixed for v2.
Great! Feel free to also add
Reviewed-by: Sven Peter <sven@...npeter.dev>
then.
Best,
Sven
Powered by blists - more mailing lists