[PATCH 1/8] nvme: Split out PCI support
Mark Kettenis
mark.kettenis at xs4all.nl
Sat Jan 22 15:57:50 CET 2022
> From: Simon Glass <sjg at chromium.org>
> Date: Sat, 22 Jan 2022 06:18:18 -0700
>
> Hi Mark,
>
> On Sat, 22 Jan 2022 at 05:48, Mark Kettenis <mark.kettenis at xs4all.nl> wrote:
> >
> > > From: Simon Glass <sjg at chromium.org>
> > > Date: Fri, 21 Jan 2022 18:40:11 -0700
> > >
> > > Hi Mark,
> > >
> > > On Fri, 14 Jan 2022 at 04:05, Mark Kettenis <kettenis at openbsd.org> wrote:
> > > >
> > > > Apple SoCs have an integrated NVMe controller that isn't connected
> > > > over a PCIe bus. In preparation for adding support for this NVMe
> > > > controller, split out the PCI support into its own file. This file
> > > > is selected through a new CONFIG_NVME_PCI Kconfig option, so do
> > > > a wholesale replacement of CONFIG_NVME with CONFIG_NVME_PCI.
> > > >
> > > > Signed-off-by: Mark Kettenis <kettenis at openbsd.org>
> > > > ---
> > > > configs/clearfog_gt_8k_defconfig | 2 +-
> > > > configs/firefly-rk3399_defconfig | 2 +-
> > > > configs/khadas-vim3_android_ab_defconfig | 2 +-
> > > > configs/khadas-vim3_android_defconfig | 2 +-
> > > > configs/khadas-vim3_defconfig | 2 +-
> > > > configs/khadas-vim3l_android_ab_defconfig | 2 +-
> > > > configs/khadas-vim3l_android_defconfig | 2 +-
> > > > configs/khadas-vim3l_defconfig | 2 +-
> > > > configs/kontron_sl28_defconfig | 2 +-
> > > > configs/ls1012afrdm_qspi_defconfig | 2 +-
> > > > configs/ls1012afrdm_tfa_defconfig | 2 +-
> > > > .../ls1012afrwy_qspi_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1012afrwy_qspi_defconfig | 2 +-
> > > > configs/ls1012afrwy_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1012afrwy_tfa_defconfig | 2 +-
> > > > configs/ls1012aqds_qspi_defconfig | 2 +-
> > > > configs/ls1012aqds_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1012aqds_tfa_defconfig | 2 +-
> > > > configs/ls1012ardb_qspi_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1012ardb_qspi_defconfig | 2 +-
> > > > configs/ls1012ardb_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1012ardb_tfa_defconfig | 2 +-
> > > > configs/ls1021aiot_qspi_defconfig | 2 +-
> > > > configs/ls1021aiot_sdcard_defconfig | 2 +-
> > > > configs/ls1021aqds_ddr4_nor_defconfig | 2 +-
> > > > configs/ls1021aqds_ddr4_nor_lpuart_defconfig | 2 +-
> > > > configs/ls1021aqds_nand_defconfig | 2 +-
> > > > configs/ls1021aqds_nor_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1021aqds_nor_defconfig | 2 +-
> > > > configs/ls1021aqds_nor_lpuart_defconfig | 2 +-
> > > > configs/ls1021aqds_qspi_defconfig | 2 +-
> > > > configs/ls1021aqds_sdcard_ifc_defconfig | 2 +-
> > > > configs/ls1021aqds_sdcard_qspi_defconfig | 2 +-
> > > > configs/ls1021atsn_qspi_defconfig | 2 +-
> > > > configs/ls1021atsn_sdcard_defconfig | 2 +-
> > > > configs/ls1021atwr_nor_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1021atwr_nor_defconfig | 2 +-
> > > > configs/ls1021atwr_nor_lpuart_defconfig | 2 +-
> > > > configs/ls1021atwr_qspi_defconfig | 2 +-
> > > > configs/ls1021atwr_sdcard_ifc_defconfig | 2 +-
> > > > configs/ls1021atwr_sdcard_qspi_defconfig | 2 +-
> > > > configs/ls1028aqds_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1028aqds_tfa_defconfig | 2 +-
> > > > configs/ls1028aqds_tfa_lpuart_defconfig | 2 +-
> > > > configs/ls1028ardb_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1028ardb_tfa_defconfig | 2 +-
> > > > configs/ls1043aqds_defconfig | 2 +-
> > > > configs/ls1043aqds_lpuart_defconfig | 2 +-
> > > > configs/ls1043aqds_nand_defconfig | 2 +-
> > > > configs/ls1043aqds_nor_ddr3_defconfig | 2 +-
> > > > configs/ls1043aqds_qspi_defconfig | 2 +-
> > > > configs/ls1043aqds_sdcard_ifc_defconfig | 2 +-
> > > > configs/ls1043aqds_sdcard_qspi_defconfig | 2 +-
> > > > configs/ls1043aqds_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1043aqds_tfa_defconfig | 2 +-
> > > > configs/ls1043ardb_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1043ardb_defconfig | 2 +-
> > > > configs/ls1043ardb_nand_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1043ardb_nand_defconfig | 2 +-
> > > > configs/ls1043ardb_sdcard_defconfig | 2 +-
> > > > configs/ls1043ardb_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1043ardb_tfa_defconfig | 2 +-
> > > > configs/ls1046afrwy_tfa_defconfig | 2 +-
> > > > configs/ls1046aqds_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1046aqds_defconfig | 2 +-
> > > > configs/ls1046aqds_lpuart_defconfig | 2 +-
> > > > configs/ls1046aqds_nand_defconfig | 2 +-
> > > > configs/ls1046aqds_qspi_defconfig | 2 +-
> > > > configs/ls1046aqds_sdcard_ifc_defconfig | 2 +-
> > > > configs/ls1046aqds_sdcard_qspi_defconfig | 2 +-
> > > > configs/ls1046aqds_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1046aqds_tfa_defconfig | 2 +-
> > > > configs/ls1046ardb_emmc_defconfig | 2 +-
> > > > configs/ls1046ardb_qspi_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1046ardb_qspi_defconfig | 2 +-
> > > > configs/ls1046ardb_qspi_spl_defconfig | 2 +-
> > > > configs/ls1046ardb_sdcard_defconfig | 2 +-
> > > > configs/ls1046ardb_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1046ardb_tfa_defconfig | 2 +-
> > > > configs/ls1088aqds_defconfig | 2 +-
> > > > configs/ls1088aqds_qspi_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1088aqds_qspi_defconfig | 2 +-
> > > > configs/ls1088aqds_sdcard_ifc_defconfig | 2 +-
> > > > configs/ls1088aqds_sdcard_qspi_defconfig | 2 +-
> > > > configs/ls1088aqds_tfa_defconfig | 2 +-
> > > > configs/ls1088ardb_qspi_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1088ardb_qspi_defconfig | 2 +-
> > > > configs/ls1088ardb_sdcard_qspi_defconfig | 2 +-
> > > > configs/ls1088ardb_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls1088ardb_tfa_defconfig | 2 +-
> > > > configs/ls2080aqds_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls2080aqds_defconfig | 2 +-
> > > > configs/ls2080aqds_nand_defconfig | 2 +-
> > > > configs/ls2080aqds_qspi_defconfig | 2 +-
> > > > configs/ls2080aqds_sdcard_defconfig | 2 +-
> > > > configs/ls2080ardb_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls2080ardb_defconfig | 2 +-
> > > > configs/ls2080ardb_nand_defconfig | 2 +-
> > > > configs/ls2081ardb_defconfig | 2 +-
> > > > configs/ls2088aqds_tfa_defconfig | 2 +-
> > > > configs/ls2088ardb_qspi_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls2088ardb_qspi_defconfig | 2 +-
> > > > configs/ls2088ardb_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/ls2088ardb_tfa_defconfig | 2 +-
> > > > configs/lx2160aqds_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/lx2160aqds_tfa_defconfig | 2 +-
> > > > configs/lx2160ardb_tfa_SECURE_BOOT_defconfig | 2 +-
> > > > configs/lx2160ardb_tfa_defconfig | 2 +-
> > > > configs/lx2160ardb_tfa_stmm_defconfig | 2 +-
> > > > configs/mvebu_crb_cn9130_defconfig | 2 +-
> > > > configs/mvebu_db_armada8k_defconfig | 2 +-
> > > > configs/mvebu_db_cn9130_defconfig | 2 +-
> > > > configs/mvebu_espressobin-88f3720_defconfig | 2 +-
> > > > configs/mvebu_mcbin-88f8040_defconfig | 2 +-
> > > > configs/mvebu_puzzle-m801-88f8040_defconfig | 2 +-
> > > > configs/nanopc-t4-rk3399_defconfig | 2 +-
> > > > configs/octeontx2_96xx_defconfig | 2 +-
> > > > configs/octeontx_81xx_defconfig | 2 +-
> > > > configs/octeontx_83xx_defconfig | 2 +-
> > > > configs/p3450-0000_defconfig | 2 +-
> > > > configs/pinebook-pro-rk3399_defconfig | 2 +-
> > > > configs/qemu-x86_64_defconfig | 2 +-
> > > > configs/qemu-x86_defconfig | 2 +-
> > > > configs/qemu_arm64_defconfig | 2 +-
> > > > configs/qemu_arm_defconfig | 2 +-
> > > > configs/rcar3_salvator-x_defconfig | 2 +-
> > > > configs/roc-pc-mezzanine-rk3399_defconfig | 2 +-
> > > > configs/rock-pi-4-rk3399_defconfig | 2 +-
> > > > configs/rock-pi-4c-rk3399_defconfig | 2 +-
> > > > configs/rock-pi-n10-rk3399pro_defconfig | 2 +-
> > > > configs/rock960-rk3399_defconfig | 2 +-
> > > > configs/rockpro64-rk3399_defconfig | 2 +-
> > > > configs/sandbox64_defconfig | 2 +-
> > > > configs/sandbox_defconfig | 2 +-
> > > > configs/sandbox_flattree_defconfig | 2 +-
> > > > configs/sandbox_noinst_defconfig | 2 +-
> > > > configs/sandbox_spl_defconfig | 2 +-
> > > > configs/sifive_unmatched_defconfig | 2 +-
> > > > configs/synquacer_developerbox_defconfig | 2 +-
> > > > configs/turris_mox_defconfig | 2 +-
> > > > configs/turris_omnia_defconfig | 2 +-
> > > > doc/develop/driver-model/nvme.rst | 1 +
> > > > drivers/nvme/Kconfig | 10 +++-
> > > > drivers/nvme/Makefile | 1 +
> > > > drivers/nvme/nvme.c | 38 ++------------
> > > > drivers/nvme/nvme.h | 3 ++
> > > > drivers/nvme/nvme_pci.c | 49 +++++++++++++++++++
> > > > 147 files changed, 207 insertions(+), 177 deletions(-)
> > > > create mode 100644 drivers/nvme/nvme_pci.c
> > > >
> > >
> > > Shouldn't the vendor addition go in another patch?
> >
> > I don't think that would make a ton of sense. It is intricately
> > linked to splitting out the PCI support, as the current code grovels
> > into pci_child_plat struct in a place that needs to be bus-agnostic.
>
> OK.
>
> BTW I noticed that the U-Boot logo has the wrong colours on the
> Macbook Air, with these patches applied to mainline.
Yes. The code that turns on the logo was merged and I suspect that
the relevant code doesn't do the proper pixel format conversions.
I'll see if I can figure this out.
> > > Otherwise:
> > > Reviewed-by: Simon Glass <sjg at chromium.org>
> > > Tested on: Macbook Air M1
> > > Tested-by: Simon Glass <sjg at chromium.org>
>
> Regards,
> Simon
>
More information about the U-Boot
mailing list