From: Oded Gabbay <oded.gabbay@gmail.com>
To: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
olof@lixom.net, rppt@linux.ibm.com
Cc: ogabbay@habana.ai, arnd@arndb.de, joe@perches.com
Subject: [PATCH v3 00/15] Habana Labs kernel driver
Date: Mon, 4 Feb 2019 22:32:39 +0200 [thread overview]
Message-ID: <20190204203254.4026-1-oded.gabbay@gmail.com> (raw)
Hello,
This is v3 of the Habana Labs kernel driver patch-set. It contains minor fixes
according to reviews done on v2. In addition, it is rebased on v5.0-rc5.
Link to v2 cover letter: https://lkml.org/lkml/2019/1/30/1003
Link to v1 cover letter: https://lwn.net/Articles/777342/
I would appricate any feedback, question and/or review.
Thanks,
Oded
p.s. for those who prefer to clone the tree instead of looking at the
emails, you can grab a copy from our company's page in GitHub:
https://github.com/HabanaAI/linux/releases/tag/hl_patchset_v3_20190204
Oded Gabbay (14):
habanalabs: add skeleton driver
habanalabs: add Goya registers header files
habanalabs: add basic Goya support
habanalabs: add context and ASID modules
habanalabs: add command buffer module
habanalabs: add basic Goya h/w initialization
habanalabs: add h/w queues module
habanalabs: add event queue and interrupts
habanalabs: add sysfs and hwmon support
habanalabs: add device reset support
habanalabs: add command submission module
habanalabs: implement INFO IOCTL
habanalabs: add debugfs support
Update MAINTAINERS and CREDITS with habanalabs info
Omer Shpigelman (1):
habanalabs: add virtual memory and MMU modules
CREDITS | 2 +-
.../ABI/testing/debugfs-driver-habanalabs | 127 +
.../ABI/testing/sysfs-driver-habanalabs | 190 +
MAINTAINERS | 9 +
drivers/misc/Kconfig | 1 +
drivers/misc/Makefile | 1 +
drivers/misc/habanalabs/Kconfig | 22 +
drivers/misc/habanalabs/Makefile | 15 +
drivers/misc/habanalabs/asid.c | 58 +
drivers/misc/habanalabs/command_buffer.c | 432 ++
drivers/misc/habanalabs/command_submission.c | 782 +++
drivers/misc/habanalabs/context.c | 216 +
drivers/misc/habanalabs/debugfs.c | 1071 ++++
drivers/misc/habanalabs/device.c | 1111 ++++
drivers/misc/habanalabs/goya/Makefile | 4 +
drivers/misc/habanalabs/goya/goya.c | 5344 +++++++++++++++++
drivers/misc/habanalabs/goya/goyaP.h | 193 +
drivers/misc/habanalabs/goya/goya_hwmgr.c | 306 +
drivers/misc/habanalabs/goya/goya_security.c | 2999 +++++++++
drivers/misc/habanalabs/habanalabs.h | 1441 +++++
drivers/misc/habanalabs/habanalabs_drv.c | 465 ++
drivers/misc/habanalabs/habanalabs_ioctl.c | 234 +
drivers/misc/habanalabs/hw_queue.c | 636 ++
drivers/misc/habanalabs/hwmon.c | 449 ++
drivers/misc/habanalabs/include/armcp_if.h | 335 ++
.../include/goya/asic_reg/cpu_ca53_cfg_regs.h | 213 +
.../include/goya/asic_reg/cpu_if_regs.h | 110 +
.../include/goya/asic_reg/cpu_pll_regs.h | 186 +
.../include/goya/asic_reg/dma_ch_0_regs.h | 512 ++
.../include/goya/asic_reg/dma_ch_1_regs.h | 512 ++
.../include/goya/asic_reg/dma_ch_2_regs.h | 512 ++
.../include/goya/asic_reg/dma_ch_3_regs.h | 512 ++
.../include/goya/asic_reg/dma_ch_4_regs.h | 512 ++
.../include/goya/asic_reg/dma_macro_regs.h | 242 +
.../include/goya/asic_reg/dma_nrtr_regs.h | 380 ++
.../include/goya/asic_reg/dma_qm_0_regs.h | 543 ++
.../include/goya/asic_reg/dma_qm_1_regs.h | 543 ++
.../include/goya/asic_reg/dma_qm_2_regs.h | 543 ++
.../include/goya/asic_reg/dma_qm_3_regs.h | 543 ++
.../include/goya/asic_reg/dma_qm_4_regs.h | 543 ++
.../include/goya/asic_reg/goya_blocks.h | 1372 +++++
.../include/goya/asic_reg/goya_masks.h | 262 +
.../include/goya/asic_reg/goya_regs.h | 99 +
.../include/goya/asic_reg/ic_pll_regs.h | 186 +
.../include/goya/asic_reg/mc_pll_regs.h | 186 +
.../include/goya/asic_reg/mme1_rtr_regs.h | 876 +++
.../include/goya/asic_reg/mme2_rtr_regs.h | 876 +++
.../include/goya/asic_reg/mme3_rtr_regs.h | 876 +++
.../include/goya/asic_reg/mme4_rtr_regs.h | 876 +++
.../include/goya/asic_reg/mme5_rtr_regs.h | 876 +++
.../include/goya/asic_reg/mme6_rtr_regs.h | 876 +++
.../include/goya/asic_reg/mme_cmdq_regs.h | 431 ++
.../include/goya/asic_reg/mme_qm_regs.h | 543 ++
.../include/goya/asic_reg/mme_regs.h | 2422 ++++++++
.../include/goya/asic_reg/mmu_regs.h | 158 +
.../include/goya/asic_reg/pci_nrtr_regs.h | 380 ++
.../include/goya/asic_reg/pcie_aux_regs.h | 476 ++
.../goya/asic_reg/psoc_emmc_pll_regs.h | 186 +
.../goya/asic_reg/psoc_global_conf_regs.h | 1119 ++++
.../include/goya/asic_reg/psoc_mme_pll_regs.h | 186 +
.../include/goya/asic_reg/psoc_pci_pll_regs.h | 186 +
.../include/goya/asic_reg/psoc_spi_regs.h | 427 ++
.../goya/asic_reg/sram_y0_x0_rtr_regs.h | 215 +
.../goya/asic_reg/sram_y0_x1_rtr_regs.h | 215 +
.../goya/asic_reg/sram_y0_x2_rtr_regs.h | 215 +
.../goya/asic_reg/sram_y0_x3_rtr_regs.h | 215 +
.../goya/asic_reg/sram_y0_x4_rtr_regs.h | 215 +
.../include/goya/asic_reg/stlb_regs.h | 133 +
.../include/goya/asic_reg/tpc0_cfg_regs.h | 2110 +++++++
.../include/goya/asic_reg/tpc0_cmdq_regs.h | 431 ++
.../include/goya/asic_reg/tpc0_eml_cfg_regs.h | 580 ++
.../include/goya/asic_reg/tpc0_nrtr_regs.h | 380 ++
.../include/goya/asic_reg/tpc0_qm_regs.h | 543 ++
.../include/goya/asic_reg/tpc1_cfg_regs.h | 2110 +++++++
.../include/goya/asic_reg/tpc1_cmdq_regs.h | 431 ++
.../include/goya/asic_reg/tpc1_qm_regs.h | 543 ++
.../include/goya/asic_reg/tpc1_rtr_regs.h | 848 +++
.../include/goya/asic_reg/tpc2_cfg_regs.h | 2110 +++++++
.../include/goya/asic_reg/tpc2_cmdq_regs.h | 431 ++
.../include/goya/asic_reg/tpc2_qm_regs.h | 543 ++
.../include/goya/asic_reg/tpc2_rtr_regs.h | 848 +++
.../include/goya/asic_reg/tpc3_cfg_regs.h | 2110 +++++++
.../include/goya/asic_reg/tpc3_cmdq_regs.h | 431 ++
.../include/goya/asic_reg/tpc3_qm_regs.h | 543 ++
.../include/goya/asic_reg/tpc3_rtr_regs.h | 848 +++
.../include/goya/asic_reg/tpc4_cfg_regs.h | 2110 +++++++
.../include/goya/asic_reg/tpc4_cmdq_regs.h | 431 ++
.../include/goya/asic_reg/tpc4_qm_regs.h | 543 ++
.../include/goya/asic_reg/tpc4_rtr_regs.h | 848 +++
.../include/goya/asic_reg/tpc5_cfg_regs.h | 2110 +++++++
.../include/goya/asic_reg/tpc5_cmdq_regs.h | 431 ++
.../include/goya/asic_reg/tpc5_qm_regs.h | 543 ++
.../include/goya/asic_reg/tpc5_rtr_regs.h | 848 +++
.../include/goya/asic_reg/tpc6_cfg_regs.h | 2110 +++++++
.../include/goya/asic_reg/tpc6_cmdq_regs.h | 431 ++
.../include/goya/asic_reg/tpc6_qm_regs.h | 543 ++
.../include/goya/asic_reg/tpc6_rtr_regs.h | 848 +++
.../include/goya/asic_reg/tpc7_cfg_regs.h | 2110 +++++++
.../include/goya/asic_reg/tpc7_cmdq_regs.h | 431 ++
.../include/goya/asic_reg/tpc7_nrtr_regs.h | 380 ++
.../include/goya/asic_reg/tpc7_qm_regs.h | 543 ++
.../include/goya/asic_reg/tpc_pll_regs.h | 186 +
drivers/misc/habanalabs/include/goya/goya.h | 41 +
.../include/goya/goya_async_events.h | 186 +
.../misc/habanalabs/include/goya/goya_fw_if.h | 28 +
.../habanalabs/include/goya/goya_packets.h | 129 +
drivers/misc/habanalabs/include/hl_boot_if.h | 30 +
.../include/hw_ip/mmu/mmu_general.h | 45 +
.../habanalabs/include/hw_ip/mmu/mmu_v1_0.h | 15 +
drivers/misc/habanalabs/include/qman_if.h | 56 +
drivers/misc/habanalabs/irq.c | 325 +
drivers/misc/habanalabs/memory.c | 1722 ++++++
drivers/misc/habanalabs/mmu.c | 604 ++
drivers/misc/habanalabs/sysfs.c | 691 +++
include/uapi/misc/habanalabs.h | 444 ++
115 files changed, 73533 insertions(+), 1 deletion(-)
create mode 100644 Documentation/ABI/testing/debugfs-driver-habanalabs
create mode 100644 Documentation/ABI/testing/sysfs-driver-habanalabs
create mode 100644 drivers/misc/habanalabs/Kconfig
create mode 100644 drivers/misc/habanalabs/Makefile
create mode 100644 drivers/misc/habanalabs/asid.c
create mode 100644 drivers/misc/habanalabs/command_buffer.c
create mode 100644 drivers/misc/habanalabs/command_submission.c
create mode 100644 drivers/misc/habanalabs/context.c
create mode 100644 drivers/misc/habanalabs/debugfs.c
create mode 100644 drivers/misc/habanalabs/device.c
create mode 100644 drivers/misc/habanalabs/goya/Makefile
create mode 100644 drivers/misc/habanalabs/goya/goya.c
create mode 100644 drivers/misc/habanalabs/goya/goyaP.h
create mode 100644 drivers/misc/habanalabs/goya/goya_hwmgr.c
create mode 100644 drivers/misc/habanalabs/goya/goya_security.c
create mode 100644 drivers/misc/habanalabs/habanalabs.h
create mode 100644 drivers/misc/habanalabs/habanalabs_drv.c
create mode 100644 drivers/misc/habanalabs/habanalabs_ioctl.c
create mode 100644 drivers/misc/habanalabs/hw_queue.c
create mode 100644 drivers/misc/habanalabs/hwmon.c
create mode 100644 drivers/misc/habanalabs/include/armcp_if.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/cpu_ca53_cfg_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/cpu_if_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/cpu_pll_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_ch_0_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_ch_1_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_ch_2_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_ch_3_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_ch_4_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_macro_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_nrtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_qm_0_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_qm_1_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_qm_2_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_qm_3_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_qm_4_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/goya_blocks.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/goya_masks.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/goya_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/ic_pll_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/mc_pll_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/mme1_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/mme2_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/mme3_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/mme4_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/mme5_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/mme6_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/mme_cmdq_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/mme_qm_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/mme_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/mmu_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/pci_nrtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/pcie_aux_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/psoc_emmc_pll_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/psoc_global_conf_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/psoc_mme_pll_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/psoc_pci_pll_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/psoc_spi_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/sram_y0_x0_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/sram_y0_x1_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/sram_y0_x2_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/sram_y0_x3_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/sram_y0_x4_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/stlb_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc0_cfg_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc0_cmdq_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc0_eml_cfg_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc0_nrtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc0_qm_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc1_cfg_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc1_cmdq_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc1_qm_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc1_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc2_cfg_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc2_cmdq_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc2_qm_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc2_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc3_cfg_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc3_cmdq_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc3_qm_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc3_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc4_cfg_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc4_cmdq_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc4_qm_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc4_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc5_cfg_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc5_cmdq_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc5_qm_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc5_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc6_cfg_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc6_cmdq_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc6_qm_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc6_rtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc7_cfg_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc7_cmdq_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc7_nrtr_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc7_qm_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/tpc_pll_regs.h
create mode 100644 drivers/misc/habanalabs/include/goya/goya.h
create mode 100644 drivers/misc/habanalabs/include/goya/goya_async_events.h
create mode 100644 drivers/misc/habanalabs/include/goya/goya_fw_if.h
create mode 100644 drivers/misc/habanalabs/include/goya/goya_packets.h
create mode 100644 drivers/misc/habanalabs/include/hl_boot_if.h
create mode 100644 drivers/misc/habanalabs/include/hw_ip/mmu/mmu_general.h
create mode 100644 drivers/misc/habanalabs/include/hw_ip/mmu/mmu_v1_0.h
create mode 100644 drivers/misc/habanalabs/include/qman_if.h
create mode 100644 drivers/misc/habanalabs/irq.c
create mode 100644 drivers/misc/habanalabs/memory.c
create mode 100644 drivers/misc/habanalabs/mmu.c
create mode 100644 drivers/misc/habanalabs/sysfs.c
create mode 100644 include/uapi/misc/habanalabs.h
--
2.17.1
next reply other threads:[~2019-02-04 20:33 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-04 20:32 Oded Gabbay [this message]
2019-02-04 20:32 ` [PATCH v3 01/15] habanalabs: add skeleton driver Oded Gabbay
2019-02-04 20:32 ` [PATCH v3 03/15] habanalabs: add basic Goya support Oded Gabbay
2019-02-04 20:32 ` [PATCH v3 04/15] habanalabs: add context and ASID modules Oded Gabbay
2019-02-04 20:32 ` [PATCH v3 05/15] habanalabs: add command buffer module Oded Gabbay
2019-02-08 12:06 ` Greg KH
2019-02-08 19:53 ` Oded Gabbay
2019-02-09 9:09 ` Greg KH
2019-02-04 20:32 ` [PATCH v3 06/15] habanalabs: add basic Goya h/w initialization Oded Gabbay
2019-02-04 20:32 ` [PATCH v3 07/15] habanalabs: add h/w queues module Oded Gabbay
2019-02-04 20:32 ` [PATCH v3 08/15] habanalabs: add event queue and interrupts Oded Gabbay
2019-02-04 20:32 ` [PATCH v3 09/15] habanalabs: add sysfs and hwmon support Oded Gabbay
2019-02-08 12:14 ` Greg KH
2019-02-08 21:18 ` Oded Gabbay
2019-02-04 20:32 ` [PATCH v3 10/15] habanalabs: add device reset support Oded Gabbay
2019-02-04 20:32 ` [PATCH v3 11/15] habanalabs: add command submission module Oded Gabbay
2019-02-04 20:32 ` [PATCH v3 12/15] habanalabs: add virtual memory and MMU modules Oded Gabbay
2019-02-06 15:14 ` Mike Rapoport
2019-02-07 13:15 ` Oded Gabbay
2019-02-04 20:32 ` [PATCH v3 13/15] habanalabs: implement INFO IOCTL Oded Gabbay
2019-02-04 20:32 ` [PATCH v3 14/15] habanalabs: add debugfs support Oded Gabbay
2019-02-06 15:16 ` Mike Rapoport
2019-02-08 12:16 ` Greg KH
2019-02-08 21:24 ` Oded Gabbay
2019-02-04 20:32 ` [PATCH v3 15/15] Update MAINTAINERS and CREDITS with habanalabs info Oded Gabbay
2019-02-06 11:52 ` [PATCH v3 00/15] Habana Labs kernel driver Mike Rapoport
2019-02-08 21:33 ` Oded Gabbay
2019-02-08 21:43 ` Joe Perches
2019-02-08 21:44 ` Oded Gabbay
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=20190204203254.4026-1-oded.gabbay@gmail.com \
--to=oded.gabbay@gmail.com \
--cc=arnd@arndb.de \
--cc=gregkh@linuxfoundation.org \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ogabbay@habana.ai \
--cc=olof@lixom.net \
--cc=rppt@linux.ibm.com \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.