cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

usbus428ctldefs.h (1569B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 *
      4 * Copyright (c) 2003 by Karsten Wiese <annabellesgarden@yahoo.de>
      5 */
      6
      7enum E_IN84 {
      8	E_FADER_0 = 0,
      9	E_FADER_1,
     10	E_FADER_2,
     11	E_FADER_3,
     12	E_FADER_4,
     13	E_FADER_5,
     14	E_FADER_6,
     15	E_FADER_7,
     16	E_FADER_M,
     17	E_TRANSPORT,
     18	E_MODIFIER = 10,
     19	E_FILTER_SELECT,
     20	E_SELECT,
     21	E_MUTE,
     22
     23	E_SWITCH   = 15,
     24	E_WHEEL_GAIN,
     25	E_WHEEL_FREQ,
     26	E_WHEEL_Q,
     27	E_WHEEL_PAN,
     28	E_WHEEL    = 20
     29};
     30
     31#define T_RECORD   1
     32#define T_PLAY     2
     33#define T_STOP     4
     34#define T_F_FWD    8
     35#define T_REW   0x10
     36#define T_SOLO  0x20
     37#define T_REC   0x40
     38#define T_NULL  0x80
     39
     40
     41struct us428_ctls {
     42	unsigned char	fader[9];
     43	unsigned char	transport;
     44	unsigned char	modifier;
     45	unsigned char	filters_elect;
     46	unsigned char	select;
     47	unsigned char	mute;
     48	unsigned char	unknown;
     49	unsigned char	wswitch;
     50	unsigned char	wheel[5];
     51};
     52
     53struct us428_set_byte {
     54	unsigned char offset,
     55		value;
     56};
     57
     58enum {
     59	ELT_VOLUME = 0,
     60	ELT_LIGHT
     61};
     62
     63struct usx2y_volume {
     64	unsigned char channel,
     65		lh,
     66		ll,
     67		rh,
     68		rl;
     69};
     70
     71struct us428_lights {
     72	struct us428_set_byte light[7];
     73};
     74
     75struct us428_p4out {
     76	char type;
     77	union {
     78		struct usx2y_volume vol;
     79		struct us428_lights lights;
     80	} val;
     81};
     82
     83#define N_US428_CTL_BUFS 16
     84#define N_US428_P4OUT_BUFS 16
     85struct us428ctls_sharedmem {
     86	struct us428_ctls	ctl_snapshot[N_US428_CTL_BUFS];
     87	int			ctl_snapshot_differs_at[N_US428_CTL_BUFS];
     88	int			ctl_snapshot_last, ctl_snapshot_red;
     89	struct us428_p4out	p4out[N_US428_P4OUT_BUFS];
     90	int			p4out_last, p4out_sent;
     91};
     92
     93#define US428_SHAREDMEM_PAGES	PAGE_ALIGN(sizeof(struct us428ctls_sharedmem))