TT Zephyr Platforms 18.11.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
pcie_dma.c File Reference
#include <stdint.h>
#include <stdbool.h>
#include <zephyr/kernel.h>
#include <tenstorrent/smc_msg.h>
#include <tenstorrent/msgqueue.h>
#include "util.h"
#include "pcie.h"

Data Structures

struct  BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_WRCH_0_reg_t
union  BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_WRCH_0_reg_u
struct  BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_RDCH_0_reg_t
union  BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_RDCH_0_reg_u

Macros

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_STATUS_OFF_WRCH_0_REG_ADDR   0x00380080
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_WRCH_0_REG_ADDR    0x00380088
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_STOP_LOW_OFF_WRCH_0_REG_ADDR    0x00380090
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_STOP_HIGH_OFF_WRCH_0_REG_ADDR    0x00380094
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_ABORT_LOW_OFF_WRCH_0_REG_ADDR    0x003800A0
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_ABORT_HIGH_OFF_WRCH_0_REG_ADDR    0x003800A4
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_MSGD_OFF_WRCH_0_REG_ADDR    0x003800A8
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_EN_OFF_WRCH_0_REG_ADDR   0x00380000
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_SAR_LOW_OFF_WRCH_0_REG_ADDR   0x00380020
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_SAR_HIGH_OFF_WRCH_0_REG_ADDR    0x00380024
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DAR_LOW_OFF_WRCH_0_REG_ADDR   0x00380028
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DAR_HIGH_OFF_WRCH_0_REG_ADDR    0x0038002C
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_XFERSIZE_OFF_WRCH_0_REG_ADDR    0x0038001C
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DOORBELL_OFF_WRCH_0_REG_ADDR    0x00380004
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_STATUS_OFF_RDCH_0_REG_ADDR   0x00380180
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_RDCH_0_REG_ADDR    0x00380188
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_STOP_LOW_OFF_RDCH_0_REG_ADDR    0x00380190
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_STOP_HIGH_OFF_RDCH_0_REG_ADDR    0x00380194
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_ABORT_LOW_OFF_RDCH_0_REG_ADDR    0x003801A0
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_ABORT_HIGH_OFF_RDCH_0_REG_ADDR    0x003801A4
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_MSGD_OFF_RDCH_0_REG_ADDR    0x003801A8
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_EN_OFF_RDCH_0_REG_ADDR   0x00380100
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DAR_LOW_OFF_RDCH_0_REG_ADDR   0x00380128
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DAR_HIGH_OFF_RDCH_0_REG_ADDR    0x0038012C
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_SAR_LOW_OFF_RDCH_0_REG_ADDR   0x00380120
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_SAR_HIGH_OFF_RDCH_0_REG_ADDR    0x00380124
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DOORBELL_OFF_RDCH_0_REG_ADDR    0x00380104
#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_XFERSIZE_OFF_RDCH_0_REG_ADDR    0x0038011C
#define HDMA_REG_ADDR(reg)
#define BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_WRCH_0_REG_DEFAULT   (0x00000007)
#define BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_RDCH_0_REG_DEFAULT   (0x00000007)

Enumerations

enum  DMAStatus {
  DMARunning = 1 ,
  DMAAborted = 2 ,
  DMAStopped = 3
}

Functions

bool PcieDmaWriteTransfer (uint64_t chip_addr, uint64_t host_addr, uint32_t transfer_size_bytes, uint64_t msi_completion_addr, uint8_t completion_data)
bool PcieDmaReadTransfer (uint64_t chip_addr, uint64_t host_addr, uint32_t transfer_size_bytes, uint64_t msi_completion_addr, uint8_t completion_data)
static uint8_t pcie_dma_transfer_handler (const union request *request, struct response *response)
 REGISTER_MESSAGE (TT_SMC_MSG_PCIE_DMA_HOST_TO_CHIP_TRANSFER, pcie_dma_transfer_handler)
 REGISTER_MESSAGE (TT_SMC_MSG_PCIE_DMA_CHIP_TO_HOST_TRANSFER, pcie_dma_transfer_handler)

Macro Definition Documentation

◆ BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_RDCH_0_REG_DEFAULT

#define BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_RDCH_0_REG_DEFAULT   (0x00000007)

◆ BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_WRCH_0_REG_DEFAULT

#define BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_WRCH_0_REG_DEFAULT   (0x00000007)

◆ HDMA_REG_ADDR

#define HDMA_REG_ADDR ( reg)
Value:
(PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_##reg##_REG_ADDR)

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DAR_HIGH_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DAR_HIGH_OFF_RDCH_0_REG_ADDR    0x0038012C

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DAR_HIGH_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DAR_HIGH_OFF_WRCH_0_REG_ADDR    0x0038002C

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DAR_LOW_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DAR_LOW_OFF_RDCH_0_REG_ADDR   0x00380128

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DAR_LOW_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DAR_LOW_OFF_WRCH_0_REG_ADDR   0x00380028

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DOORBELL_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DOORBELL_OFF_RDCH_0_REG_ADDR    0x00380104

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DOORBELL_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_DOORBELL_OFF_WRCH_0_REG_ADDR    0x00380004

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_EN_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_EN_OFF_RDCH_0_REG_ADDR   0x00380100

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_EN_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_EN_OFF_WRCH_0_REG_ADDR   0x00380000

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_RDCH_0_REG_ADDR    0x00380188

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_INT_SETUP_OFF_WRCH_0_REG_ADDR    0x00380088

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_ABORT_HIGH_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_ABORT_HIGH_OFF_RDCH_0_REG_ADDR    0x003801A4

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_ABORT_HIGH_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_ABORT_HIGH_OFF_WRCH_0_REG_ADDR    0x003800A4

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_ABORT_LOW_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_ABORT_LOW_OFF_RDCH_0_REG_ADDR    0x003801A0

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_ABORT_LOW_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_ABORT_LOW_OFF_WRCH_0_REG_ADDR    0x003800A0

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_MSGD_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_MSGD_OFF_RDCH_0_REG_ADDR    0x003801A8

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_MSGD_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_MSGD_OFF_WRCH_0_REG_ADDR    0x003800A8

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_STOP_HIGH_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_STOP_HIGH_OFF_RDCH_0_REG_ADDR    0x00380194

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_STOP_HIGH_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_STOP_HIGH_OFF_WRCH_0_REG_ADDR    0x00380094

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_STOP_LOW_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_STOP_LOW_OFF_RDCH_0_REG_ADDR    0x00380190

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_STOP_LOW_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_MSI_STOP_LOW_OFF_WRCH_0_REG_ADDR    0x00380090

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_SAR_HIGH_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_SAR_HIGH_OFF_RDCH_0_REG_ADDR    0x00380124

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_SAR_HIGH_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_SAR_HIGH_OFF_WRCH_0_REG_ADDR    0x00380024

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_SAR_LOW_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_SAR_LOW_OFF_RDCH_0_REG_ADDR   0x00380120

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_SAR_LOW_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_SAR_LOW_OFF_WRCH_0_REG_ADDR   0x00380020

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_STATUS_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_STATUS_OFF_RDCH_0_REG_ADDR   0x00380180

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_STATUS_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_STATUS_OFF_WRCH_0_REG_ADDR   0x00380080

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_XFERSIZE_OFF_RDCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_XFERSIZE_OFF_RDCH_0_REG_ADDR    0x0038011C

◆ PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_XFERSIZE_OFF_WRCH_0_REG_ADDR

#define PCIE_DBI_USP_A_BH_PCIE_DWC_PCIE_USP_PF0_HDMA_CAP_HDMA_XFERSIZE_OFF_WRCH_0_REG_ADDR    0x0038001C

Enumeration Type Documentation

◆ DMAStatus

enum DMAStatus
Enumerator
DMARunning 
DMAAborted 
DMAStopped 

Function Documentation

◆ pcie_dma_transfer_handler()

uint8_t pcie_dma_transfer_handler ( const union request * request,
struct response * response )
static

◆ PcieDmaReadTransfer()

bool PcieDmaReadTransfer ( uint64_t chip_addr,
uint64_t host_addr,
uint32_t transfer_size_bytes,
uint64_t msi_completion_addr,
uint8_t completion_data )

◆ PcieDmaWriteTransfer()

bool PcieDmaWriteTransfer ( uint64_t chip_addr,
uint64_t host_addr,
uint32_t transfer_size_bytes,
uint64_t msi_completion_addr,
uint8_t completion_data )

◆ REGISTER_MESSAGE() [1/2]

◆ REGISTER_MESSAGE() [2/2]