[PATCH v7 3/5] iommu/arm-smmu: introduction of ACTLR for custom prefetcher settings
Bibek Kumar Patro
quic_bibekkum at quicinc.com
Wed Jan 10 04:55:24 PST 2024
On 1/10/2024 4:46 PM, Bibek Kumar Patro wrote:
>
>
> On 1/10/2024 9:36 AM, Pavan Kondeti wrote:
[...]
>>> @@ -274,6 +321,21 @@ static const struct of_device_id
>>> qcom_smmu_client_of_match[] __maybe_unused = {
>>> static int qcom_smmu_init_context(struct arm_smmu_domain *smmu_domain,
>>> struct io_pgtable_cfg *pgtbl_cfg, struct device *dev)
>>> {
>>> + struct arm_smmu_device *smmu = smmu_domain->smmu;
>>> + struct qcom_smmu *qsmmu = to_qcom_smmu(smmu);
>>> + const struct actlr_variant *actlrvar;
>>> + int cbndx = smmu_domain->cfg.cbndx;
>>> +
>>> + if (qsmmu->data->actlrvar) {
>>> + actlrvar = qsmmu->data->actlrvar;
>>> + for (; actlrvar->io_start; actlrvar++) {
>>> + if (actlrvar->io_start == smmu->ioaddr) {
>>> + qcom_smmu_set_actlr(dev, smmu, cbndx,
>>> actlrvar->actlrcfg);
>>> + break;
>>> + }
>>> + }
>>> + }
>>> +
>>
>> This block and the one in qcom_adreno_smmu_init_context() are exactly
>> the same. Possible to do some refactoring?
>>
>
> I will check if this repeated blocks can be accomodated this into
> qcom_smmu_set_actlr function if that would be fine.
>
Also adding to this, this might increase the number of indentation
inside qcom_smmu_set_actlr as well, to around 5. So wouldn't this
be an issue?
Thanks,
Bibek
More information about the linux-arm-kernel
mailing list