Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 /*
0003  * System Trace Module (STM) userspace interfaces
0004  * Copyright (c) 2014, Intel Corporation.
0005  *
0006  * STM class implements generic infrastructure for  System Trace Module devices
0007  * as defined in MIPI STPv2 specification.
0008  */
0009 
0010 #ifndef _UAPI_LINUX_STM_H
0011 #define _UAPI_LINUX_STM_H
0012 
0013 #include <linux/types.h>
0014 
0015 /* Maximum allowed master and channel values */
0016 #define STP_MASTER_MAX  0xffff
0017 #define STP_CHANNEL_MAX 0xffff
0018 
0019 /**
0020  * struct stp_policy_id - identification for the STP policy
0021  * @size:   size of the structure including real id[] length
0022  * @master: assigned master
0023  * @channel:    first assigned channel
0024  * @width:  number of requested channels
0025  * @id:     identification string
0026  *
0027  * User must calculate the total size of the structure and put it into
0028  * @size field, fill out the @id and desired @width. In return, kernel
0029  * fills out @master, @channel and @width.
0030  */
0031 struct stp_policy_id {
0032     __u32       size;
0033     __u16       master;
0034     __u16       channel;
0035     __u16       width;
0036     /* padding */
0037     __u16       __reserved_0;
0038     __u32       __reserved_1;
0039     char        id[];
0040 };
0041 
0042 #define STP_POLICY_ID_SET   _IOWR('%', 0, struct stp_policy_id)
0043 #define STP_POLICY_ID_GET   _IOR('%', 1, struct stp_policy_id)
0044 #define STP_SET_OPTIONS     _IOW('%', 2, __u64)
0045 
0046 #endif /* _UAPI_LINUX_STM_H */