LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Huacai Chen <chenhuacai@gmail.com> To: Christoph Hellwig <hch@infradead.org> Cc: Huacai Chen <chenhuacai@loongson.cn>, Arnd Bergmann <arnd@arndb.de>, Andy Lutomirski <luto@kernel.org>, Thomas Gleixner <tglx@linutronix.de>, Peter Zijlstra <peterz@infradead.org>, Andrew Morton <akpm@linux-foundation.org>, David Airlie <airlied@linux.ie>, Jonathan Corbet <corbet@lwn.net>, Linus Torvalds <torvalds@linux-foundation.org>, linux-arch <linux-arch@vger.kernel.org>, linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>, Xuefeng Li <lixuefeng@loongson.cn>, Yanteng Si <siyanteng@loongson.cn>, Jiaxun Yang <jiaxun.yang@flygoat.com> Subject: Re: [PATCH V3 21/22] LoongArch: Add Non-Uniform Memory Access (NUMA) support Date: Fri, 17 Sep 2021 14:40:38 +0800 [thread overview] Message-ID: <CAAhV-H65YPaDYTb4EyzezSHOXtdiVmhz6qMhc1HwSYHqjV6w6g@mail.gmail.com> (raw) In-Reply-To: <YUQygKWFMU8zrkFi@infradead.org> Hi, Christoph, On Fri, Sep 17, 2021 at 2:17 PM Christoph Hellwig <hch@infradead.org> wrote: > > > +/* > > + * We extract 4bit node id (bit 44~47) from Loongson-3's > > + * 48bit physical address space and embed it into 40bit. > > + */ > > + > > +static int node_id_offset; > > + > > +static dma_addr_t loongson_phys_to_dma(struct device *dev, phys_addr_t paddr) > > +{ > > + long nid = (paddr >> 44) & 0xf; > > + > > + return ((nid << 44) ^ paddr) | (nid << node_id_offset); > > +} > > + > > +static phys_addr_t loongson_dma_to_phys(struct device *dev, dma_addr_t daddr) > > +{ > > + long nid = (daddr >> node_id_offset) & 0xf; > > + > > + return ((nid << node_id_offset) ^ daddr) | (nid << 44); > > +} > > + > > +static struct loongson_addr_xlate_ops { > > + dma_addr_t (*phys_to_dma)(struct device *dev, phys_addr_t paddr); > > + phys_addr_t (*dma_to_phys)(struct device *dev, dma_addr_t daddr); > > +} xlate_ops; > > + > > +dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr) > > +{ > > + return xlate_ops.phys_to_dma(dev, paddr); > > +} > > + > > +phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr) > > +{ > > + return xlate_ops.dma_to_phys(dev, daddr); > > +} > > Please don't add unused indirections. Also please just use the generic > translations OK, I will simplify thi by removing indirections. Huacai >
next prev parent reply other threads:[~2021-09-17 6:40 UTC|newest] Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-17 3:57 [PATCH V3 00/22] arch: Add basic LoongArch support Huacai Chen 2021-09-17 3:57 ` [PATCH V3 01/22] Documentation: LoongArch: Add basic documentations Huacai Chen 2021-09-23 20:37 ` Pavel Machek 2021-09-24 4:07 ` Huacai Chen 2021-09-23 20:59 ` Pavel Machek 2021-09-24 4:10 ` Huacai Chen 2021-09-24 6:58 ` Pavel Machek 2021-09-24 7:31 ` Huacai Chen 2021-09-17 3:57 ` [PATCH V3 02/22] Documentation/zh_CN: Add basic LoongArch documentations Huacai Chen 2021-09-17 3:57 ` [PATCH V3 03/22] LoongArch: Add elf-related definitions Huacai Chen 2021-09-17 3:57 ` [PATCH V3 04/22] LoongArch: Add writecombine support for drm Huacai Chen 2021-09-17 3:57 ` [PATCH V3 05/22] LoongArch: Add build infrastructure Huacai Chen 2021-09-17 7:53 ` Arnd Bergmann 2021-09-18 4:35 ` Huacai Chen 2021-09-17 3:57 ` [PATCH V3 06/22] LoongArch: Add CPU definition headers Huacai Chen 2021-09-17 3:57 ` [PATCH V3 07/22] LoongArch: Add atomic/locking headers Huacai Chen 2021-09-17 3:57 ` [PATCH V3 08/22] LoongArch: Add other common headers Huacai Chen 2021-09-17 3:57 ` [PATCH V3 09/22] LoongArch: Add boot and setup routines Huacai Chen 2021-09-17 8:11 ` Arnd Bergmann 2021-09-18 4:54 ` Huacai Chen 2021-09-17 3:57 ` [PATCH V3 10/22] LoongArch: Add exception/interrupt handling Huacai Chen 2021-09-17 3:57 ` [PATCH V3 11/22] LoongArch: Add process management Huacai Chen 2021-09-17 3:57 ` [PATCH V3 12/22] LoongArch: Add memory management Huacai Chen 2021-09-17 3:57 ` [PATCH V3 13/22] LoongArch: Add system call support Huacai Chen 2021-09-17 8:24 ` Arnd Bergmann 2021-09-18 6:55 ` Huacai Chen 2021-09-17 3:57 ` [PATCH V3 14/22] LoongArch: Add signal handling support Huacai Chen 2021-09-17 8:26 ` Arnd Bergmann 2021-09-17 21:10 ` Eric W. Biederman 2021-09-18 7:12 ` Huacai Chen 2021-09-19 9:58 ` Arnd Bergmann 2021-09-20 2:36 ` Huacai Chen 2021-09-20 21:14 ` Richard Henderson 2021-09-22 2:43 ` Huacai Chen 2021-09-17 3:57 ` [PATCH V3 15/22] LoongArch: Add elf and module support Huacai Chen 2021-09-17 8:28 ` Arnd Bergmann 2021-09-18 7:14 ` Huacai Chen 2021-09-17 3:57 ` [PATCH V3 16/22] LoongArch: Add misc common routines Huacai Chen 2021-09-17 6:10 ` Christoph Hellwig 2021-09-17 6:36 ` Huacai Chen 2021-09-17 3:57 ` [PATCH V3 17/22] LoongArch: Add some library functions Huacai Chen 2021-09-17 8:33 ` Arnd Bergmann 2021-09-18 7:16 ` Huacai Chen 2021-09-17 3:57 ` [PATCH V3 18/22] LoongArch: Add PCI controller support Huacai Chen 2021-09-17 9:02 ` Arnd Bergmann 2021-09-18 7:36 ` Huacai Chen 2021-09-21 22:36 ` Bjorn Helgaas 2021-09-22 15:33 ` Arnd Bergmann 2021-09-17 3:57 ` [PATCH V3 19/22] LoongArch: Add VDSO and VSYSCALL support Huacai Chen 2021-09-17 3:57 ` [PATCH V3 20/22] LoongArch: Add multi-processor (SMP) support Huacai Chen 2021-09-17 9:57 ` Arnd Bergmann 2021-09-18 7:22 ` Huacai Chen 2021-09-17 3:57 ` [PATCH V3 21/22] LoongArch: Add Non-Uniform Memory Access (NUMA) support Huacai Chen 2021-09-17 6:15 ` Christoph Hellwig 2021-09-17 6:40 ` Huacai Chen [this message] 2021-09-17 3:57 ` [PATCH V3 22/22] LoongArch: Add Loongson-3 default config file Huacai Chen 2021-09-17 9:59 ` [PATCH V3 00/22] arch: Add basic LoongArch support Arnd Bergmann
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAAhV-H65YPaDYTb4EyzezSHOXtdiVmhz6qMhc1HwSYHqjV6w6g@mail.gmail.com \ --to=chenhuacai@gmail.com \ --cc=airlied@linux.ie \ --cc=akpm@linux-foundation.org \ --cc=arnd@arndb.de \ --cc=chenhuacai@loongson.cn \ --cc=corbet@lwn.net \ --cc=hch@infradead.org \ --cc=jiaxun.yang@flygoat.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-doc@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=lixuefeng@loongson.cn \ --cc=luto@kernel.org \ --cc=peterz@infradead.org \ --cc=siyanteng@loongson.cn \ --cc=tglx@linutronix.de \ --cc=torvalds@linux-foundation.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).