Messages in this thread | | | From | "Lad, Prabhakar" <> | Date | Fri, 25 Nov 2022 20:53:02 +0000 | Subject | Re: [PATCH v4 5/7] riscv: mm: dma-noncoherent: Pass direction and operation to ALT_CMO_OP() |
| |
Hi Samuel,
Thank you for the review.
On Fri, Nov 25, 2022 at 6:49 PM Samuel Holland <samuel@sholland.org> wrote: > > On 11/24/22 13:18, Lad, Prabhakar wrote: > > Hi Heiko, > > > > Thank you for the review. > > > > On Thu, Nov 24, 2022 at 6:29 PM Heiko Stübner <heiko@sntech.de> wrote: > >> > >> Am Donnerstag, 24. November 2022, 18:22:05 CET schrieb Prabhakar: > >>> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > >>> > >>> Pass direction and operation to ALT_CMO_OP() macro. > >>> > >>> This is in preparation for adding errata for the Andes CPU core. > >> > >> can you provide more explanation why that is necessary please? > >> I guess you want to use different cache operations for some cases? > >> > > Yes basically to call different cache operations based on the dir and > > operations (and also this allows to export just one function to handle > > the errata). I'll update the commit message in the next version. > > This makes things less efficient, because it requires more instructions > and registers inside the alternative section, and your function > duplicates the logic from arch_sync_dma_for_device(). The alternative is > already passed the operation (clean/flush/invalidate) as a token, so you > can construct the function name with token pasting. > I did think about it but that didn't help for example in the arch_dma_prep_coherent() we are calling flush token, but on RZ/Five for arch_dma_prep_coherent() we have to do nothing.
Cheers, Prabhakar
| |