[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAGsJ_4wDYTbuuzzfGNWqp1+ca1cAkg0XMgbgkspRGdKKAx_Ymg@mail.gmail.com>
Date: Mon, 26 Jan 2026 09:43:02 +0800
From: Barry Song <21cnbao@...il.com>
To: Will Deacon <will@...nel.org>
Cc: catalin.marinas@....com, m.szyprowski@...sung.com, robin.murphy@....com,
iommu@...ts.linux.dev, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, xen-devel@...ts.xenproject.org,
Leon Romanovsky <leon@...nel.org>, Ada Couprie Diaz <ada.coupriediaz@....com>,
Ard Biesheuvel <ardb@...nel.org>, Marc Zyngier <maz@...nel.org>,
Anshuman Khandual <anshuman.khandual@....com>, Ryan Roberts <ryan.roberts@....com>,
Suren Baghdasaryan <surenb@...gle.com>, Tangquan Zheng <zhengtangquan@...o.com>
Subject: Re: [PATCH v2 1/8] arm64: Provide dcache_by_myline_op_nosync helper
[...]
> > */
> > - .macro dcache_by_myline_op op, domain, start, end, linesz, tmp, fixup
> > + .macro raw_dcache_by_myline_op op, start, end, linesz, tmp, fixup
> > sub \tmp, \linesz, #1
> > bic \start, \start, \tmp
> > .Ldcache_op\@:
> > @@ -402,14 +401,13 @@ alternative_endif
> > add \start, \start, \linesz
> > cmp \start, \end
> > b.lo .Ldcache_op\@
> > - dsb \domain
>
> Naming nit, but I'd prefer this to be dcache_by_myline_op_nosync() for
> consistency with the other macros that you're adding. The 'raw' prefix
> is used by raw_dcache_line_size() to indicate that we're getting the
> value from the underlying hardware register.
Ok. thanks!
>
> >
> > _cond_uaccess_extable .Ldcache_op\@, \fixup
> > .endm
> >
> > /*
> > * Macro to perform a data cache maintenance for the interval
> > - * [start, end)
> > + * [start, end) and wait for completion
> > *
> > * op: operation passed to dc instruction
> > * domain: domain used in dsb instruction
> > @@ -420,7 +418,23 @@ alternative_endif
> > */
> > .macro dcache_by_line_op op, domain, start, end, tmp1, tmp2, fixup
> > dcache_line_size \tmp1, \tmp2
> > - dcache_by_myline_op \op, \domain, \start, \end, \tmp1, \tmp2, \fixup
> > + raw_dcache_by_myline_op \op, \start, \end, \tmp1, \tmp2, \fixup
> > + dsb \domain
> > + .endm
>
> This could just be dcache_by_line_op_nosync() + dsb.
Ok. thanks!
Best Regards
Barry
Powered by blists - more mailing lists