> 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? -KR