Path: blob/master/drivers/accel/amdxdna/amdxdna_mailbox_helper.h
26427 views
/* SPDX-License-Identifier: GPL-2.0 */1/*2* Copyright (C) 2023-2024, Advanced Micro Devices, Inc.3*/45#ifndef _AMDXDNA_MAILBOX_HELPER_H6#define _AMDXDNA_MAILBOX_HELPER_H78#define TX_TIMEOUT 2000 /* milliseconds */9#define RX_TIMEOUT 5000 /* milliseconds */1011struct amdxdna_dev;1213struct xdna_notify {14struct completion comp;15u32 *data;16size_t size;17int error;18};1920#define DECLARE_XDNA_MSG_COMMON(name, op, status) \21struct name##_req req = { 0 }; \22struct name##_resp resp = { status }; \23struct xdna_notify hdl = { \24.error = 0, \25.data = (u32 *)&resp, \26.size = sizeof(resp), \27.comp = COMPLETION_INITIALIZER_ONSTACK(hdl.comp), \28}; \29struct xdna_mailbox_msg msg = { \30.send_data = (u8 *)&req, \31.send_size = sizeof(req), \32.handle = &hdl, \33.opcode = op, \34.notify_cb = xdna_msg_cb, \35}3637int xdna_msg_cb(void *handle, void __iomem *data, size_t size);38int xdna_send_msg_wait(struct amdxdna_dev *xdna, struct mailbox_channel *chann,39struct xdna_mailbox_msg *msg);4041#endif /* _AMDXDNA_MAILBOX_HELPER_H */424344