blob: fa94480b5f7486179697c377255eda0f530aa338 [file] [log] [blame]
Srinivas Pandruvada35f2c142019-06-26 15:38:43 -07001/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Intel Speed Select Interface: OS to hardware Interface
4 * Copyright (c) 2019, Intel Corporation.
5 * All rights reserved.
6 *
7 * Author: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
8 */
9
10#ifndef __ISST_IF_H
11#define __ISST_IF_H
12
13#include <linux/types.h>
14
15/**
16 * struct isst_if_platform_info - Define platform information
17 * @api_version: Version of the firmware document, which this driver
18 * can communicate
19 * @driver_version: Driver version, which will help user to send right
20 * commands. Even if the firmware is capable, driver may
21 * not be ready
22 * @max_cmds_per_ioctl: Returns the maximum number of commands driver will
23 * accept in a single ioctl
24 * @mbox_supported: Support of mail box interface
25 * @mmio_supported: Support of mmio interface for core-power feature
26 *
27 * Used to return output of IOCTL ISST_IF_GET_PLATFORM_INFO. This
28 * information can be used by the user space, to get the driver, firmware
29 * support and also number of commands to send in a single IOCTL request.
30 */
31struct isst_if_platform_info {
32 __u16 api_version;
33 __u16 driver_version;
34 __u16 max_cmds_per_ioctl;
35 __u8 mbox_supported;
36 __u8 mmio_supported;
37};
38
39#define ISST_IF_MAGIC 0xFE
40#define ISST_IF_GET_PLATFORM_INFO _IOR(ISST_IF_MAGIC, 0, struct isst_if_platform_info *)
41#endif