e2cfe05e92
After software has authenticated a dynamic boost control request, it can fetch and set supported parameters using a selection of messages. Add support for these messages and export the ability to do this to userspace. Acked-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
57 lines
1.1 KiB
C
57 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* AMD Platform Security Processor (PSP) Dynamic Boost Control support
|
|
*
|
|
* Copyright (C) 2023 Advanced Micro Devices, Inc.
|
|
*
|
|
* Author: Mario Limonciello <mario.limonciello@amd.com>
|
|
*/
|
|
|
|
#ifndef __DBC_H__
|
|
#define __DBC_H__
|
|
|
|
#include <uapi/linux/psp-dbc.h>
|
|
|
|
#include <linux/device.h>
|
|
#include <linux/miscdevice.h>
|
|
#include <linux/psp-platform-access.h>
|
|
|
|
#include "psp-dev.h"
|
|
|
|
struct psp_dbc_device {
|
|
struct device *dev;
|
|
|
|
union dbc_buffer *mbox;
|
|
|
|
struct mutex ioctl_mutex;
|
|
|
|
struct miscdevice char_dev;
|
|
};
|
|
|
|
struct dbc_nonce {
|
|
struct psp_req_buffer_hdr header;
|
|
struct dbc_user_nonce user;
|
|
} __packed;
|
|
|
|
struct dbc_set_uid {
|
|
struct psp_req_buffer_hdr header;
|
|
struct dbc_user_setuid user;
|
|
} __packed;
|
|
|
|
struct dbc_param {
|
|
struct psp_req_buffer_hdr header;
|
|
struct dbc_user_param user;
|
|
} __packed;
|
|
|
|
union dbc_buffer {
|
|
struct psp_request req;
|
|
struct dbc_nonce dbc_nonce;
|
|
struct dbc_set_uid dbc_set_uid;
|
|
struct dbc_param dbc_param;
|
|
};
|
|
|
|
void dbc_dev_destroy(struct psp_device *psp);
|
|
int dbc_dev_init(struct psp_device *psp);
|
|
|
|
#endif /* __DBC_H */
|