Re: [PATCH] iommu/io-pgtable-arm: Optimize partial walk flush for large scatter-gather list

Sai Prakash Ranjan
2021-06-18T02:47:50Z

Hi Krishna,

On 2021-06-18 02:48, Krishna Reddy wrote:
>> Instead of flush_ops in init_context hook, perhaps a io_pgtable quirk
>> since this is
>> related to tlb, probably a bad name but IO_PGTABLE_QUIRK_TLB_INV which
>> will
>> be set in init_context impl hook and the prev condition in
>> io_pgtable_tlb_flush_walk()
>> becomes something like below. Seems very minimal and neat instead of
>> poking
>> into tlb_flush_walk functions or touching dma strict with some flag?
>>
>> if (iop->cfg.quirks & IO_PGTABLE_QUIRK_NON_STRICT ||
>> iop->cfg.quirks & IO_PGTABLE_QUIRK_TLB_INV) {
>> iop->cfg.tlb->tlb_flush_all(iop->cookie);
>> return;
>> }
>
> Can you name it as IO_PGTABLE_QUIRK_TLB_INV_ASID or
> IO_PGTABLE_QUIRK_TLB_INV_ALL_ASID?
>

tlb_flush_all() callback implementations can use TLBIALL or TLBIASID. so
having ASID in the quirk name doesn't sound right given this quirk
should
be generic enough to be usable on other implementations as well.
Instead I will go with IO_PGTABLE_QUIRK_TLB_INV_ALL and will be happy to
change if others have some other preference.

Thanks,
Sai

--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a
member