[PATCH v8 3/5] iommu/arm-smmu: introduction of ACTLR for custom prefetcher settings

Bibek Kumar Patro quic_bibekkum at quicinc.com
Fri Jan 19 02:05:14 PST 2024



On 1/18/2024 11:25 PM, Konrad Dybcio wrote:
> 
> 
> On 1/16/24 16:04, Bibek Kumar Patro wrote:
>> Currently in Qualcomm  SoCs the default prefetch is set to 1 which allows
>> the TLB to fetch just the next page table. MMU-500 features ACTLR
>> register which is implementation defined and is used for Qualcomm SoCs
>> to have a custom prefetch setting enabling TLB to prefetch the next set
>> of page tables accordingly allowing for faster translations.
>>
>> ACTLR value is unique for each SMR (Stream matching register) and stored
>> in a pre-populated table. This value is set to the register during
>> context bank initialisation.
>>
>> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
> 
> Since it's your idea with Dmitry's review suggestions, I don't think
> this tag makes sense.
> 
> It's normally used for situations like:
> 
> Colleague X: "Hey Bibek, I noticed x broke on y, can you fix it?"
> "Sure!" <proceeds to make a commit with suggested-by Colleague X>
> 

Got it, thanks for the inputs. Will remove this tag as it won't make 
sense in this case as explained by you.

> Just a nit below:
> 
>> +struct actlr_config {
>> +    u16 sid;
>> +    u16 mask;
>> +    u32 actlr;
>> +};
> 
> This, can go here, in the header:
> 

Sure, Noted. Will add this to the header.
Initially made it local, since it is only being used
in the tables.

Thanks,
Bibek

>> +struct actlr_config;
>> +
>> +struct actlr_variant {
>> +    const resource_size_t io_start;
>> +    const struct actlr_config * const actlrcfg;
>> +    const size_t num_actlrcfg;
>> +};
>> +
> 
> Otherwise, this looks good!
> 
> Konrad



More information about the linux-arm-kernel mailing list