brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · 27c9fa7 Raw
59 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only OR MIT */2/*3 * Apple RTKit IPC library4 * Copyright (C) The Asahi Linux Contributors5 */6 7#ifndef _APPLE_RTKIT_INTERAL_H8#define _APPLE_RTKIT_INTERAL_H9 10#include <linux/bitfield.h>11#include <linux/bitmap.h>12#include <linux/completion.h>13#include <linux/dma-mapping.h>14#include <linux/io.h>15#include <linux/kernel.h>16#include <linux/module.h>17#include <linux/slab.h>18#include <linux/soc/apple/rtkit.h>19#include <linux/workqueue.h>20#include "mailbox.h"21 22#define APPLE_RTKIT_APP_ENDPOINT_START 0x2023#define APPLE_RTKIT_MAX_ENDPOINTS 0x10024 25struct apple_rtkit {26	void *cookie;27	const struct apple_rtkit_ops *ops;28	struct device *dev;29 30	struct apple_mbox *mbox;31 32	struct completion epmap_completion;33	struct completion iop_pwr_ack_completion;34	struct completion ap_pwr_ack_completion;35 36	int boot_result;37	int version;38 39	unsigned int iop_power_state;40	unsigned int ap_power_state;41	bool crashed;42 43	DECLARE_BITMAP(endpoints, APPLE_RTKIT_MAX_ENDPOINTS);44 45	struct apple_rtkit_shmem ioreport_buffer;46	struct apple_rtkit_shmem crashlog_buffer;47 48	struct apple_rtkit_shmem syslog_buffer;49	char *syslog_msg_buffer;50	size_t syslog_n_entries;51	size_t syslog_msg_size;52 53	struct workqueue_struct *wq;54};55 56void apple_rtkit_crashlog_dump(struct apple_rtkit *rtk, u8 *bfr, size_t size);57 58#endif59