Any plan for basic mainline linux support?

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Sat Feb 01, 2020 10:40 pm

MoikvanDoik wrote:
Sat Feb 01, 2020 5:11 pm
1. 0xf0000000
2. manually unplug and replug my USB-SSD to get it recognized.
I was using that Ram value for a long time but reduced it slightly when I found that one of the governors would magically disappear. More testing is required to figure out if the ram reduction or something else that I changed fix that issue...

My HDDs do not require manual replug for recognition on reboot... no spare SSDs ATM.
These users thanked the author elatllat for the post:
MoikvanDoik (Thu Feb 06, 2020 5:39 am)

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Sun Feb 02, 2020 8:00 am


brad
Posts: 1055
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2 H2 (64 bit ftw)
Location: Australia
Has thanked: 27 times
Been thanked: 56 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by brad » Sun Feb 02, 2020 10:23 am

Can anybody help me find the runtime value of PCI_IOBASE ?

./arch/arm64/include/asm/io.h:#define PCI_IOBASE ((void __iomem *)PCI_IO_START)
./arch/arm64/include/asm/memory.h:#define PCI_IO_START (PCI_IO_END - PCI_IO_SIZE)
./arch/arm64/include/asm/memory.h:#define PCI_IO_END (VMEMMAP_START - SZ_2M)
./arch/arm64/include/asm/memory.h:#define VMEMMAP_START (-VMEMMAP_SIZE - SZ_2M)

I remember older kernels used to provide memory layout early on boot but I cannot seem to find it. I want the memory address that represents the start of the PCI memory area so I can make a dummy io.h userland header.

Ie on the C2 mainline kernels used to provide at boot which I could use to workout the value, maybe its still the same

PCI I/O : 0xffff7dfffee00000 - 0xffff7dffffe00000 ( 16 MB)

Edit: I dont have PCI subsystem enabled in my build, can someone share output of

Code: Select all

cat /proc/iomem

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Sun Feb 02, 2020 10:44 am

Code: Select all

N2> cat /proc/iomem
00000000-04ffffff : System RAM
  01080000-01eaffff : Kernel code
  01eb0000-020dffff : reserved
  020e0000-02223fff : Kernel data
05300000-dfffffff : System RAM
  1fff2000-1fffcfff : reserved
  cb000000-cb7fffff : reserved
  cb9fe000-cf7fffff : reserved
  cf82a000-cf82afff : reserved
  cf82b000-cf8aefff : reserved
  cf8b1000-cf8b1fff : reserved
  cf8b2000-cf8b6fff : reserved
  cf8b7000-cf8fafff : reserved
  cf8fb000-dfffffff : reserved
ff3f0000-ff3fffff : ff3f0000.ethernet
ff400000-ff43ffff : ff400000.usb
ff500000-ff507fff : usb@ff500000
  ff500000-ff507fff : xhci-hcd.0.auto
ff50c100-ff5fffff : ff500000.usb
ff600000-ff60ffff : ff600000.hdmi-tx
ff630218-ff63021b : ff630218.rng
ff634440-ff63448b : ff634400.bus:pinctrl@40
ff6344e8-ff6344ff : ff634400.bus:pinctrl@40
ff634520-ff634537 : ff634400.bus:pinctrl@40
ff634540-ff634547 : ff3f0000.ethernet
ff6346c0-ff6346ff : ff634400.bus:pinctrl@40
ff634740-ff63475b : ff634400.bus:pinctrl@40
ff636000-ff637fff : ff636000.phy
ff638048-ff63805b : ff638048.video-lut
ff63a000-ff63bfff : ff63a000.phy
ff642000-ff6420b3 : ff642000.clock-controller
ff6421c0-ff6421eb : ff6421c0.audio-controller
ff642200-ff64222b : ff642200.audio-controller
ff642240-ff64226b : ff642240.audio-controller
ff642280-ff642283 : ff642280.reset-controller
ff642540-ff64257f : ff642540.audio-controller
ff642744-ff642747 : ff642744.audio-controller
ff646000-ff647fff : ff646000.phy
ff64c000-ff64c0a3 : ff64c000.mdio-multiplexer
ff800014-ff80001b : ff800000.sys-ctrl:pinctrl@14
ff80001c-ff800023 : ff800000.sys-ctrl:pinctrl@14
ff800024-ff800037 : ff800000.sys-ctrl:pinctrl@14
ff8000a8-ff8000ab : ff8000a8.rtc
ff802000-ff80201f : ff802000.pwm
ff803000-ff803017 : ff803000.serial
ff808000-ff80801f : ff808000.ir
ff900000-ff9fffff : ff900000.vpu
ffd01004-ffd0109f : ffd01004.reset-controller
ffd18000-ffd1800f : ffd18000.clock-measure
ffd1b000-ffd1b01f : ffd1b000.pwm
ffe05000-ffe057ff : ffe05000.sd
ffe07000-ffe077ff : ffe07000.mmc
ffe09000-ffe0909f : ffe09000.usb

N2> grep -i pci .config
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_BLK_MQ_PCI=y
CONFIG_HAVE_PCI=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_DOMAINS_GENERIC=y
CONFIG_PCI_SYSCALL=y
CONFIG_PCIEPORTBUS=y
# CONFIG_HOTPLUG_PCI_PCIE is not set
CONFIG_PCIEAER=y
# CONFIG_PCIEAER_INJECT is not set
# CONFIG_PCIE_ECRC is not set
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
# CONFIG_PCIE_DPC is not set
# CONFIG_PCIE_PTM is not set
# CONFIG_PCIE_BW is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_MSI_IRQ_DOMAIN=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
# CONFIG_PCI_STUB is not set
# CONFIG_PCI_PF_STUB is not set
CONFIG_PCI_ATS=y
CONFIG_PCI_ECAM=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_PRI is not set
# CONFIG_PCI_PASID is not set
CONFIG_PCI_LABEL=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set
# PCI controller drivers
# Cadence PCIe controllers support
# CONFIG_PCIE_CADENCE_HOST is not set
# end of Cadence PCIe controllers support
# CONFIG_PCI_FTPCI100 is not set
CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
# CONFIG_PCIE_XILINX is not set
CONFIG_PCI_XGENE=y
CONFIG_PCI_XGENE_MSI=y
CONFIG_PCIE_IPROC=y
CONFIG_PCIE_IPROC_PLATFORM=y
CONFIG_PCIE_IPROC_MSI=y
CONFIG_PCIE_ALTERA=y
CONFIG_PCIE_ALTERA_MSI=y
CONFIG_PCI_HOST_THUNDER_PEM=y
CONFIG_PCI_HOST_THUNDER_ECAM=y
# DesignWare PCI Core Support
CONFIG_PCIE_DW=y
CONFIG_PCIE_DW_HOST=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCI_HISI=y
CONFIG_PCIE_KIRIN=y
# CONFIG_PCI_MESON is not set
# CONFIG_PCIE_AL is not set
# end of DesignWare PCI Core Support
# end of PCI controller drivers
# PCI Endpoint
# CONFIG_PCI_ENDPOINT is not set
# end of PCI Endpoint
# PCI switch controller drivers
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers
# CONFIG_MTD_NAND_DENALI_PCI is not set
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_MISC_ALCOR_PCI is not set
# CONFIG_MISC_RTSX_PCI is not set
CONFIG_SCSI_HISI_SAS_PCI=y
# CONFIG_SCSI_UFSHCD_PCI is not set
# CONFIG_SCSI_FDOMAIN_PCI is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_MACB_PCI is not set
# CONFIG_KSZ884X_PCI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_STMMAC_PCI is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIAL_8250_PCI=y
# CONFIG_I2C_DESIGNWARE_PCI is not set
# PCI GPIO expanders
# CONFIG_GPIO_PCI_IDIO_16 is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
# end of PCI GPIO expanders
# PCI-based Watchdog Cards
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set
# CONFIG_MEDIA_PCI_SUPPORT is not set
CONFIG_DRM_ATI_PCIGART=y
CONFIG_SND_PCI=y
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_YMFPCI is not set
CONFIG_USB_PCI=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_EHCI_PCI=y
CONFIG_USB_OHCI_HCD_PCI=y
CONFIG_USB_DWC3_PCI=y
# CONFIG_USB_DWC2_PCI is not set
CONFIG_USB_CHIPIDEA_PCI=y
CONFIG_USB_BDC_PCI=y
# CONFIG_MMC_SDHCI_PCI is not set
# CONFIG_MMC_DW_PCI is not set
# CONFIG_MMC_TOSHIBA_PCI is not set
# CONFIG_DW_DMAC_PCI is not set
# CONFIG_DW_EDMA_PCIE is not set
CONFIG_VFIO_PCI=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_ARM_GIC_V3_ITS_PCI=y
CONFIG_PHY_MESON_G12A_USB3_PCIE=y
CONFIG_PHY_NS2_PCIE=y
CONFIG_PHY_BCM_SR_PCIE=y
CONFIG_GENERIC_PCI_IOMAP=y
These users thanked the author elatllat for the post:
brad (Sun Feb 02, 2020 11:14 am)

brad
Posts: 1055
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2 H2 (64 bit ftw)
Location: Australia
Has thanked: 27 times
Been thanked: 56 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by brad » Sun Feb 02, 2020 11:14 am

elatllat wrote:
Sun Feb 02, 2020 10:44 am

Code: Select all

N2> cat /proc/iomem
00000000-04ffffff : System RAM
  01080000-01eaffff : Kernel code
  01eb0000-020dffff : reserved
  020e0000-02223fff : Kernel data
05300000-dfffffff : System RAM
  1fff2000-1fffcfff : reserved
  cb000000-cb7fffff : reserved
  cb9fe000-cf7fffff : reserved
  cf82a000-cf82afff : reserved
  cf82b000-cf8aefff : reserved
  cf8b1000-cf8b1fff : reserved
  cf8b2000-cf8b6fff : reserved
  cf8b7000-cf8fafff : reserved
  cf8fb000-dfffffff : reserved
ff3f0000-ff3fffff : ff3f0000.ethernet
ff400000-ff43ffff : ff400000.usb
ff500000-ff507fff : usb@ff500000
  ff500000-ff507fff : xhci-hcd.0.auto
ff50c100-ff5fffff : ff500000.usb
ff600000-ff60ffff : ff600000.hdmi-tx
ff630218-ff63021b : ff630218.rng
ff634440-ff63448b : ff634400.bus:pinctrl@40
ff6344e8-ff6344ff : ff634400.bus:pinctrl@40
ff634520-ff634537 : ff634400.bus:pinctrl@40
ff634540-ff634547 : ff3f0000.ethernet
ff6346c0-ff6346ff : ff634400.bus:pinctrl@40
ff634740-ff63475b : ff634400.bus:pinctrl@40
ff636000-ff637fff : ff636000.phy
ff638048-ff63805b : ff638048.video-lut
ff63a000-ff63bfff : ff63a000.phy
ff642000-ff6420b3 : ff642000.clock-controller
ff6421c0-ff6421eb : ff6421c0.audio-controller
ff642200-ff64222b : ff642200.audio-controller
ff642240-ff64226b : ff642240.audio-controller
ff642280-ff642283 : ff642280.reset-controller
ff642540-ff64257f : ff642540.audio-controller
ff642744-ff642747 : ff642744.audio-controller
ff646000-ff647fff : ff646000.phy
ff64c000-ff64c0a3 : ff64c000.mdio-multiplexer
ff800014-ff80001b : ff800000.sys-ctrl:pinctrl@14
ff80001c-ff800023 : ff800000.sys-ctrl:pinctrl@14
ff800024-ff800037 : ff800000.sys-ctrl:pinctrl@14
ff8000a8-ff8000ab : ff8000a8.rtc
ff802000-ff80201f : ff802000.pwm
ff803000-ff803017 : ff803000.serial
ff808000-ff80801f : ff808000.ir
ff900000-ff9fffff : ff900000.vpu
ffd01004-ffd0109f : ffd01004.reset-controller
ffd18000-ffd1800f : ffd18000.clock-measure
ffd1b000-ffd1b01f : ffd1b000.pwm
ffe05000-ffe057ff : ffe05000.sd
ffe07000-ffe077ff : ffe07000.mmc
ffe09000-ffe0909f : ffe09000.usb

N2> grep -i pci .config
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_BLK_MQ_PCI=y
CONFIG_HAVE_PCI=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_DOMAINS_GENERIC=y
CONFIG_PCI_SYSCALL=y
CONFIG_PCIEPORTBUS=y
# CONFIG_HOTPLUG_PCI_PCIE is not set
CONFIG_PCIEAER=y
# CONFIG_PCIEAER_INJECT is not set
# CONFIG_PCIE_ECRC is not set
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
# CONFIG_PCIE_DPC is not set
# CONFIG_PCIE_PTM is not set
# CONFIG_PCIE_BW is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_MSI_IRQ_DOMAIN=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
# CONFIG_PCI_STUB is not set
# CONFIG_PCI_PF_STUB is not set
CONFIG_PCI_ATS=y
CONFIG_PCI_ECAM=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_PRI is not set
# CONFIG_PCI_PASID is not set
CONFIG_PCI_LABEL=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set
# PCI controller drivers
# Cadence PCIe controllers support
# CONFIG_PCIE_CADENCE_HOST is not set
# end of Cadence PCIe controllers support
# CONFIG_PCI_FTPCI100 is not set
CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
# CONFIG_PCIE_XILINX is not set
CONFIG_PCI_XGENE=y
CONFIG_PCI_XGENE_MSI=y
CONFIG_PCIE_IPROC=y
CONFIG_PCIE_IPROC_PLATFORM=y
CONFIG_PCIE_IPROC_MSI=y
CONFIG_PCIE_ALTERA=y
CONFIG_PCIE_ALTERA_MSI=y
CONFIG_PCI_HOST_THUNDER_PEM=y
CONFIG_PCI_HOST_THUNDER_ECAM=y
# DesignWare PCI Core Support
CONFIG_PCIE_DW=y
CONFIG_PCIE_DW_HOST=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCI_HISI=y
CONFIG_PCIE_KIRIN=y
# CONFIG_PCI_MESON is not set
# CONFIG_PCIE_AL is not set
# end of DesignWare PCI Core Support
# end of PCI controller drivers
# PCI Endpoint
# CONFIG_PCI_ENDPOINT is not set
# end of PCI Endpoint
# PCI switch controller drivers
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers
# CONFIG_MTD_NAND_DENALI_PCI is not set
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_MISC_ALCOR_PCI is not set
# CONFIG_MISC_RTSX_PCI is not set
CONFIG_SCSI_HISI_SAS_PCI=y
# CONFIG_SCSI_UFSHCD_PCI is not set
# CONFIG_SCSI_FDOMAIN_PCI is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_MACB_PCI is not set
# CONFIG_KSZ884X_PCI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_STMMAC_PCI is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIAL_8250_PCI=y
# CONFIG_I2C_DESIGNWARE_PCI is not set
# PCI GPIO expanders
# CONFIG_GPIO_PCI_IDIO_16 is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
# end of PCI GPIO expanders
# PCI-based Watchdog Cards
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set
# CONFIG_MEDIA_PCI_SUPPORT is not set
CONFIG_DRM_ATI_PCIGART=y
CONFIG_SND_PCI=y
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_YMFPCI is not set
CONFIG_USB_PCI=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_EHCI_PCI=y
CONFIG_USB_OHCI_HCD_PCI=y
CONFIG_USB_DWC3_PCI=y
# CONFIG_USB_DWC2_PCI is not set
CONFIG_USB_CHIPIDEA_PCI=y
CONFIG_USB_BDC_PCI=y
# CONFIG_MMC_SDHCI_PCI is not set
# CONFIG_MMC_DW_PCI is not set
# CONFIG_MMC_TOSHIBA_PCI is not set
# CONFIG_DW_DMAC_PCI is not set
# CONFIG_DW_EDMA_PCIE is not set
CONFIG_VFIO_PCI=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_ARM_GIC_V3_ITS_PCI=y
CONFIG_PHY_MESON_G12A_USB3_PCIE=y
CONFIG_PHY_NS2_PCIE=y
CONFIG_PHY_BCM_SR_PCIE=y
CONFIG_GENERIC_PCI_IOMAP=y
Thanks, unfortunately it does not seem to be listed. Ill try some other things to find out.

Edit: I think this might be it

Code: Select all

root@disco-minimal:/proc# cat /proc/kallsyms | grep -i iobase
ffff80001012cb48 W __arm64_sys_pciconfig_iobase

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Sun Feb 02, 2020 9:25 pm

Code: Select all

cat /proc/kallsyms | grep -i iobase
ffff800010109b10 W __arm64_sys_pciconfig_iobase

MoikvanDoik
Posts: 8
Joined: Thu May 02, 2019 6:25 am
languages_spoken: english, german
ODROIDs: HC2, N2
Has thanked: 3 times
Been thanked: 0
Contact:

Re: Any plan for basic mainline linux support?

Unread post by MoikvanDoik » Thu Feb 06, 2020 5:45 am

elatllat wrote:
Sat Feb 01, 2020 10:40 pm
MoikvanDoik wrote:
Sat Feb 01, 2020 5:11 pm
1. 0xf0000000
2. manually unplug and replug my USB-SSD to get it recognized.
I was using that Ram value for a long time but reduced it slightly when I found that one of the governors would magically disappear. More testing is required to figure out if the ram reduction or something else that I changed fix that issue...

My HDDs do not require manual replug for recognition on reboot... no spare SSDs ATM.
Thank you! So my amount of ram is normal and it is possible that it will get higher again in later kernel versions? Can you tell me how to change it manually?

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Thu Feb 06, 2020 5:56 am

MoikvanDoik wrote:
Thu Feb 06, 2020 5:45 am
...how to change it manually?
Look in the patch;

Code: Select all

-		reg = <0x0 0x0 0x0 0x40000000>;
+		reg = <0x0 0x0 0x0 0xf0000000>;
in
arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Fri Feb 07, 2020 3:56 am

5.4.18 (LKML)
builds (and script).

Looks like Ubuntu 20.04 will use 5.4, so even though kernel.org only lists it as a 1 year LTS Ubuntu may be maintaining it for ~10 years
source here:
https://kernel.ubuntu.com/git/ubuntu/ubuntu-focal.git/

Hope HK is not to busy with the GO ADVANCE and other projects to put some work into supporting 5.4.

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Mon Feb 10, 2020 12:19 pm

5.6-rc1 (LKML)
builds (and script).

(has 40 Gbit USB software support vs the 5 Gbit USB hardware on the N2, also sanity prevailed)
These users thanked the author elatllat for the post:
brad (Mon Feb 10, 2020 4:04 pm)

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Thu Feb 13, 2020 10:47 pm

Last week a HEVC decoder PR was sent to mainline.

chewitt
Posts: 29
Joined: Mon Aug 12, 2019 12:27 pm
languages_spoken: english
Has thanked: 0
Been thanked: 27 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by chewitt » Fri Feb 14, 2020 12:45 am

elatllat wrote:
Thu Feb 13, 2020 10:47 pm
Last week a HEVC decoder PR was sent to mainline.
Not quite. The VP9 and HEVC decoders share some common plumbing and that's what was submitted (as part of the VP9 series). The HEVC decoder still needs to be reworked around the compliance changes and resent. Google (who is funding most of the current mainline work for a future Android device (on a mainline stack) prioritises H264/VP9 as those are required for YouTube, so they've been done first. Maxime also posted the firmware(s) .. so unlike a few months ago when we had a decoder and no firmware, now we have the firmware and no decoder :)
These users thanked the author chewitt for the post (total 4):
elatllat (Fri Feb 14, 2020 12:53 am) • odroid (Fri Feb 14, 2020 9:49 am) • istanbulls (Fri Feb 14, 2020 7:14 pm) • xabolcs (Sat Feb 15, 2020 10:56 pm)

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Sun Feb 16, 2020 2:42 am


dxm
Posts: 1
Joined: Wed Feb 19, 2020 1:25 am
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: Any plan for basic mainline linux support?

Unread post by dxm » Wed Feb 19, 2020 2:11 am

hi all,
first of all: great work on the mainline kernel patches. loving it so far and using rbd tcmu-runner and stuff on my lovely n2's :) after upgrading my n2s with rtc backup batteries i noticed that i2c and obviously the rtc is not working. im not that into devicetree stuff and failed sofar in activating the i2c master. has somebody an idea regarding i2c on 5.5?

best

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Thu Feb 20, 2020 11:30 pm


alvarow
Posts: 40
Joined: Wed Apr 10, 2019 10:44 pm
languages_spoken: english
ODROIDs: N2
Has thanked: 18 times
Been thanked: 1 time
Contact:

Re: Any plan for basic mainline linux support?

Unread post by alvarow » Fri Feb 21, 2020 1:05 am

Does the 5.4 support the onboard crypto accelerator that's supported by HK 4.9 kernels?

I do OpenVPN and HTTPS based on OpenSSL on my N2, which makes use of it. The N2 is twice as fast than my 8th gen intel celeron desktop when doing sha256 :-)

Thanks for the builds!

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Fri Feb 21, 2020 1:15 am

alvarow wrote:
Fri Feb 21, 2020 1:05 am
Does the 5.4 support the onboard crypto accelerator that's supported by HK 4.9 kernels?
yes tested here.
also

Code: Select all

N2> openssl speed sha256
Doing sha256 for 3s on 16 size blocks: 9207283 sha256's in 3.00s
Doing sha256 for 3s on 64 size blocks: 6725254 sha256's in 3.00s
Doing sha256 for 3s on 256 size blocks: 3718736 sha256's in 2.99s
Doing sha256 for 3s on 1024 size blocks: 1333599 sha256's in 3.00s
Doing sha256 for 3s on 8192 size blocks: 190737 sha256's in 3.00s
Doing sha256 for 3s on 16384 size blocks: 96385 sha256's in 2.99s
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Nov 12 16:58:35 2019 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-J6qvxk/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
sha256           49105.51k   143472.09k   318393.45k   455201.79k   520839.17k   528151.12k

alvarow
Posts: 40
Joined: Wed Apr 10, 2019 10:44 pm
languages_spoken: english
ODROIDs: N2
Has thanked: 18 times
Been thanked: 1 time
Contact:

Re: Any plan for basic mainline linux support?

Unread post by alvarow » Fri Feb 21, 2020 1:29 am

Thanks for the quick reply... seem to be a lot worse :-/ this is what I am getting on the latest 4.9.213-67 HK kernel.

Code: Select all

alvarow@odroid:~$ openssl speed sha256
Doing sha256 for 3s on 16 size blocks: 16253732 sha256's in 3.00s
Doing sha256 for 3s on 64 size blocks: 12103863 sha256's in 3.00s
Doing sha256 for 3s on 256 size blocks: 6691060 sha256's in 3.00s
Doing sha256 for 3s on 1024 size blocks: 2399909 sha256's in 3.00s
Doing sha256 for 3s on 8192 size blocks: 343362 sha256's in 3.00s
Doing sha256 for 3s on 16384 size blocks: 173478 sha256's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Nov 12 16:58:35 2019 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-J6qvxk/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
sha256           86686.57k   258215.74k   570970.45k   819168.94k   937607.17k   947421.18k
alvarow@odroid:~$ uname -a
Linux odroid 4.9.213-67 #1 SMP PREEMPT Thu Feb 13 14:59:00 -03 2020 aarch64 aarch64 aarch64 GNU/Linux
Thanks

alvarow
Posts: 40
Joined: Wed Apr 10, 2019 10:44 pm
languages_spoken: english
ODROIDs: N2
Has thanked: 18 times
Been thanked: 1 time
Contact:

Re: Any plan for basic mainline linux support?

Unread post by alvarow » Fri Feb 21, 2020 1:43 am

Would passing kernel compilation flags improve things, I wonder?

For the stuff I compile, I've been setting my gcc flags as:

Code: Select all

CFLAGS="-march=armv8-a+crypto+crc -mtune=cortex-a73.cortex-a53 -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -pipe -fpie -O3"
CXXFLAGS="-march=armv8-a+crypto+crc -mtune=cortex-a73.cortex-a53 -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -pipe -fpie -O3"
LDFLAGS="-pie"
As per https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html, seems enabling "+crc" and "+crypto" implies all the rest the a73/53 support:

Code: Select all

$ grep Features /proc/cpuinfo  | tail -1
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
and seem to confirm those are the right flags for gcc

Code: Select all

alvarow@odroid:~/src$ gcc -c -Q -march=native --help=target
The following options are target specific:
  -mabi=ABI                             lp64
  -march=ARCH                           armv8-a+crypto+crc
  -mbig-endian                          [disabled]
  -mbionic                              [disabled]
  -mcmodel=                             small
  -mcpu=CPU
  -mfix-cortex-a53-835769               [enabled]
  -mfix-cortex-a53-843419               [enabled]
  -mgeneral-regs-only                   [disabled]
  -mglibc                               [enabled]
  -mlittle-endian                       [enabled]
  -mmusl                                [disabled]
  -momit-leaf-frame-pointer             [enabled]
  -moverride=STRING
  -mpc-relative-literal-loads           [enabled]
  -msign-return-address=                none
  -mstrict-align                        [disabled]
  -mtls-dialect=                        desc
  -mtls-size=                           24
  -mtune=CPU
  -muclibc                              [disabled]

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Fri Feb 21, 2020 2:33 am

alvarow, sorry I was using the ondemand governor, with the performance one:

Code: Select all

N2> openssl speed sha256
Doing sha256 for 3s on 16 size blocks: 12573250 sha256's in 2.99s
Doing sha256 for 3s on 64 size blocks: 9550737 sha256's in 3.00s
Doing sha256 for 3s on 256 size blocks: 5641306 sha256's in 3.00s
Doing sha256 for 3s on 1024 size blocks: 2515356 sha256's in 3.00s
Doing sha256 for 3s on 8192 size blocks: 364191 sha256's in 2.99s
Doing sha256 for 3s on 16384 size blocks: 183920 sha256's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Nov 12 16:58:35 2019 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-J6qvxk/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
sha256           67281.61k   203749.06k   481391.45k   858574.85k   997810.26k  1004448.43k
It seems the 2nd cpufreq policy not showing up on some boots is still an issue.

alvarow
Posts: 40
Joined: Wed Apr 10, 2019 10:44 pm
languages_spoken: english
ODROIDs: N2
Has thanked: 18 times
Been thanked: 1 time
Contact:

Re: Any plan for basic mainline linux support?

Unread post by alvarow » Fri Feb 21, 2020 11:43 am

That's much better! Thanks for the reply! I am headless setup, so I'll give it a whirl!

elatllat
Posts: 1667
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 29 times
Been thanked: 93 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Mon Feb 24, 2020 10:38 pm


erm67
Posts: 27
Joined: Sat Jun 22, 2019 10:53 pm
languages_spoken: english,german,italian
ODROIDs: N2
Has thanked: 1 time
Been thanked: 1 time
Contact:

Re: Any plan for basic mainline linux support?

Unread post by erm67 » Fri Feb 28, 2020 7:36 pm

alvarow wrote:
Fri Feb 21, 2020 1:43 am
Would passing kernel compilation flags improve things, I wonder?
Nobody really knows for sure
alvarow wrote:
Fri Feb 21, 2020 1:43 am
For the stuff I compile, I've been setting my gcc flags as:

Code: Select all

CFLAGS="-march=armv8-a+crypto+crc -mtune=cortex-a73.cortex-a53 -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -pipe -fpie -O3"
CXXFLAGS="-march=armv8-a+crypto+crc -mtune=cortex-a73.cortex-a53 -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -pipe -fpie -O3"
LDFLAGS="-pie"
Yes finally with gcc 9 -march=native recognizes correctly features on arm/aarch64, but unlike on x86/x86_64 the cache size is not automatically detected by -march=native

I use this, but it should be the same as -march=native:

Code: Select all

CFLAGS="-march=armv8-a+crc+crypto -mcpu=cortex-a73.cortex-a53+crc+crypto -mtune=cortex-a73.cortex-a53 --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=1024"

Post Reply

Return to “General Topics”

Who is online

Users browsing this forum: No registered users and 5 guests