Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) #ifndef _UAPI_SOUND_FIREWIRE_H_INCLUDED
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) #define _UAPI_SOUND_FIREWIRE_H_INCLUDED
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) #include <linux/ioctl.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) #include <linux/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) /* events can be read() from the hwdep device */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) #define SNDRV_FIREWIRE_EVENT_LOCK_STATUS	0x000010cc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) #define SNDRV_FIREWIRE_EVENT_DICE_NOTIFICATION	0xd1ce004e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) #define SNDRV_FIREWIRE_EVENT_EFW_RESPONSE	0x4e617475
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) #define SNDRV_FIREWIRE_EVENT_DIGI00X_MESSAGE	0x746e736c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) #define SNDRV_FIREWIRE_EVENT_MOTU_NOTIFICATION	0x64776479
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) #define SNDRV_FIREWIRE_EVENT_TASCAM_CONTROL	0x7473636d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) struct snd_firewire_event_common {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 	unsigned int type; /* SNDRV_FIREWIRE_EVENT_xxx */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) struct snd_firewire_event_lock_status {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 	unsigned int type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 	unsigned int status; /* 0/1 = unlocked/locked */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) struct snd_firewire_event_dice_notification {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 	unsigned int type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	unsigned int notification; /* DICE-specific bits */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) #define SND_EFW_TRANSACTION_USER_SEQNUM_MAX	((__u32)((__u16)~0) - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) /* each field should be in big endian */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) struct snd_efw_transaction {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 	__be32 length;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	__be32 version;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 	__be32 seqnum;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 	__be32 category;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 	__be32 command;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 	__be32 status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 	__be32 params[0];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) struct snd_firewire_event_efw_response {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	unsigned int type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 	__be32 response[0];	/* some responses */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) struct snd_firewire_event_digi00x_message {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	unsigned int type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	__u32 message;	/* Digi00x-specific message */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) struct snd_firewire_event_motu_notification {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 	unsigned int type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 	__u32 message;	/* MOTU-specific bits. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) struct snd_firewire_tascam_change {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	unsigned int index;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	__be32 before;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	__be32 after;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) struct snd_firewire_event_tascam_control {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	unsigned int type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	struct snd_firewire_tascam_change changes[0];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) union snd_firewire_event {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	struct snd_firewire_event_common            common;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	struct snd_firewire_event_lock_status       lock_status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	struct snd_firewire_event_dice_notification dice_notification;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	struct snd_firewire_event_efw_response      efw_response;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	struct snd_firewire_event_digi00x_message   digi00x_message;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	struct snd_firewire_event_tascam_control    tascam_control;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	struct snd_firewire_event_motu_notification motu_notification;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) #define SNDRV_FIREWIRE_IOCTL_GET_INFO _IOR('H', 0xf8, struct snd_firewire_get_info)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) #define SNDRV_FIREWIRE_IOCTL_LOCK      _IO('H', 0xf9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) #define SNDRV_FIREWIRE_IOCTL_UNLOCK    _IO('H', 0xfa)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) #define SNDRV_FIREWIRE_IOCTL_TASCAM_STATE _IOR('H', 0xfb, struct snd_firewire_tascam_state)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) #define SNDRV_FIREWIRE_TYPE_DICE	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) #define SNDRV_FIREWIRE_TYPE_FIREWORKS	2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) #define SNDRV_FIREWIRE_TYPE_BEBOB	3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) #define SNDRV_FIREWIRE_TYPE_OXFW	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) #define SNDRV_FIREWIRE_TYPE_DIGI00X	5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) #define SNDRV_FIREWIRE_TYPE_TASCAM	6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) #define SNDRV_FIREWIRE_TYPE_MOTU	7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) #define SNDRV_FIREWIRE_TYPE_FIREFACE	8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) struct snd_firewire_get_info {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	unsigned int type; /* SNDRV_FIREWIRE_TYPE_xxx */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 	unsigned int card; /* same as fw_cdev_get_info.card */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	unsigned char guid[8];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 	char device_name[16]; /* device node in /dev */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)  * SNDRV_FIREWIRE_IOCTL_LOCK prevents the driver from streaming.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)  * Returns -EBUSY if the driver is already streaming.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) #define SNDRV_FIREWIRE_TASCAM_STATE_COUNT	64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) struct snd_firewire_tascam_state {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 	__be32 data[SNDRV_FIREWIRE_TASCAM_STATE_COUNT];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) #endif /* _UAPI_SOUND_FIREWIRE_H_INCLUDED */