linux/drivers/crypto/ccp/psp-dev.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * AMD Platform Security Processor (PSP) interface
 *
 * Copyright (C) 2016,2019 Advanced Micro Devices, Inc.
 *
 * Author: Brijesh Singh <[email protected]>
 */

#include <linux/kernel.h>
#include <linux/irqreturn.h>
#include <linux/mutex.h>
#include <linux/bitfield.h>
#include <linux/delay.h>

#include "sp-dev.h"
#include "psp-dev.h"
#include "sev-dev.h"
#include "tee-dev.h"
#include "platform-access.h"
#include "dbc.h"
#include "hsti.h"

struct psp_device *psp_master;

#define PSP_C2PMSG_17_CMDRESP_CMD

static int psp_mailbox_poll(const void __iomem *cmdresp_reg, unsigned int *cmdresp,
			    unsigned int timeout_msecs)
{}

int psp_mailbox_command(struct psp_device *psp, enum psp_cmd cmd, void *cmdbuff,
			unsigned int timeout_msecs, unsigned int *cmdresp)
{}

int psp_extended_mailbox_cmd(struct psp_device *psp, unsigned int timeout_msecs,
			     struct psp_ext_request *req)
{}

static struct psp_device *psp_alloc_struct(struct sp_device *sp)
{}

static irqreturn_t psp_irq_handler(int irq, void *data)
{}

static unsigned int psp_get_capability(struct psp_device *psp)
{}

static int psp_check_sev_support(struct psp_device *psp)
{}

static int psp_check_tee_support(struct psp_device *psp)
{}

static int psp_init(struct psp_device *psp)
{}

int psp_dev_init(struct sp_device *sp)
{}

void psp_dev_destroy(struct sp_device *sp)
{}

void psp_set_sev_irq_handler(struct psp_device *psp, psp_irq_handler_t handler,
			     void *data)
{}

void psp_clear_sev_irq_handler(struct psp_device *psp)
{}

struct psp_device *psp_get_master_device(void)
{}

void psp_pci_init(void)
{}

void psp_pci_exit(void)
{}