diff mbox series

[net-next] net: mana: Enable MANA driver on ARM64 with 4K page size

Message ID 1715632141-8089-1-git-send-email-haiyangz@microsoft.com (mailing list archive)
State Not Applicable
Headers show
Series [net-next] net: mana: Enable MANA driver on ARM64 with 4K page size | expand

Commit Message

Haiyang Zhang May 13, 2024, 8:29 p.m. UTC
Change the Kconfig dependency, so this driver can be built and run on ARM64
with 4K page size.
16/64K page sizes are not supported yet.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
---
 drivers/net/ethernet/microsoft/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Jakub Kicinski May 13, 2024, 8:42 p.m. UTC | #1
On Mon, 13 May 2024 13:29:01 -0700 Haiyang Zhang wrote:
> -	depends on PCI_MSI && X86_64
> +	depends on PCI_MSI
> +	depends on X86_64 || (ARM64 && !CPU_BIG_ENDIAN && ARM64_4K_PAGES)

Can ARM64 be big endian?
Haiyang Zhang May 13, 2024, 8:50 p.m. UTC | #2
> -----Original Message-----
> From: Jakub Kicinski <kuba@kernel.org>
> Sent: Monday, May 13, 2024 4:42 PM
> To: Haiyang Zhang <haiyangz@microsoft.com>
> Cc: linux-hyperv@vger.kernel.org; netdev@vger.kernel.org; Dexuan Cui
> <decui@microsoft.com>; stephen@networkplumber.org; KY Srinivasan
> <kys@microsoft.com>; Paul Rosswurm <paulros@microsoft.com>;
> olaf@aepfle.de; vkuznets <vkuznets@redhat.com>; davem@davemloft.net;
> wei.liu@kernel.org; edumazet@google.com; pabeni@redhat.com;
> leon@kernel.org; Long Li <longli@microsoft.com>;
> ssengar@linux.microsoft.com; linux-rdma@vger.kernel.org;
> daniel@iogearbox.net; john.fastabend@gmail.com; bpf@vger.kernel.org;
> ast@kernel.org; hawk@kernel.org; tglx@linutronix.de;
> shradhagupta@linux.microsoft.com; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH net-next] net: mana: Enable MANA driver on ARM64 with
> 4K page size
> 
> On Mon, 13 May 2024 13:29:01 -0700 Haiyang Zhang wrote:
> > -	depends on PCI_MSI && X86_64
> > +	depends on PCI_MSI
> > +	depends on X86_64 || (ARM64 && !CPU_BIG_ENDIAN && ARM64_4K_PAGES)
> 
> Can ARM64 be big endian?

From the document, it can be:
"ARM cores support both modes, but are most commonly used in, and typically default to little-endian mode. Most Linux distributions for ARM tend to be little-endian only." 
https://developer.arm.com/documentation/den0042/a/Coding-for-Cortex-R-Processors/Endianness

MANA driver doesn't support big endian.

Thanks,
- Haiyang
Jakub Kicinski May 14, 2024, 12:50 a.m. UTC | #3
On Mon, 13 May 2024 20:50:37 +0000 Haiyang Zhang wrote:
> From the document, it can be:
> "ARM cores support both modes, but are most commonly used in, and typically default to little-endian mode. Most Linux distributions for ARM tend to be little-endian only." 
> https://developer.arm.com/documentation/den0042/a/Coding-for-Cortex-R-Processors/Endianness
> 
> MANA driver doesn't support big endian.

Alright, but please prioritize at least adding the 64k page support.
Linux drivers are supposed to be as platform independent as possible.
If you use the right APIs you shouldn't have to worry about the endian
or the page size.
patchwork-bot+netdevbpf@kernel.org May 14, 2024, 1 a.m. UTC | #4
Hello:

This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Mon, 13 May 2024 13:29:01 -0700 you wrote:
> Change the Kconfig dependency, so this driver can be built and run on ARM64
> with 4K page size.
> 16/64K page sizes are not supported yet.
> 
> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
> ---
>  drivers/net/ethernet/microsoft/Kconfig | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Here is the summary with links:
  - [net-next] net: mana: Enable MANA driver on ARM64 with 4K page size
    https://git.kernel.org/netdev/net-next/c/40a1d11fc670

You are awesome, thank you!
diff mbox series

Patch

diff --git a/drivers/net/ethernet/microsoft/Kconfig b/drivers/net/ethernet/microsoft/Kconfig
index 01eb7445ead9..286f0d5697a1 100644
--- a/drivers/net/ethernet/microsoft/Kconfig
+++ b/drivers/net/ethernet/microsoft/Kconfig
@@ -17,7 +17,8 @@  if NET_VENDOR_MICROSOFT
 
 config MICROSOFT_MANA
 	tristate "Microsoft Azure Network Adapter (MANA) support"
-	depends on PCI_MSI && X86_64
+	depends on PCI_MSI
+	depends on X86_64 || (ARM64 && !CPU_BIG_ENDIAN && ARM64_4K_PAGES)
 	depends on PCI_HYPERV
 	select AUXILIARY_BUS
 	select PAGE_POOL