162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * HWDEP Interface for HD-audio codec 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2007 Takashi Iwai <tiwai@suse.de> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#ifndef __SOUND_HDA_HWDEP_H 962306a36Sopenharmony_ci#define __SOUND_HDA_HWDEP_H 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#define HDA_HWDEP_VERSION ((1 << 16) | (0 << 8) | (0 << 0)) /* 1.0.0 */ 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/* verb */ 1462306a36Sopenharmony_ci#define HDA_REG_NID_SHIFT 24 1562306a36Sopenharmony_ci#define HDA_REG_VERB_SHIFT 8 1662306a36Sopenharmony_ci#define HDA_REG_VAL_SHIFT 0 1762306a36Sopenharmony_ci#define HDA_VERB(nid,verb,param) ((nid)<<24 | (verb)<<8 | (param)) 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_cistruct hda_verb_ioctl { 2062306a36Sopenharmony_ci u32 verb; /* HDA_VERB() */ 2162306a36Sopenharmony_ci u32 res; /* response */ 2262306a36Sopenharmony_ci}; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci/* 2562306a36Sopenharmony_ci * ioctls 2662306a36Sopenharmony_ci */ 2762306a36Sopenharmony_ci#define HDA_IOCTL_PVERSION _IOR('H', 0x10, int) 2862306a36Sopenharmony_ci#define HDA_IOCTL_VERB_WRITE _IOWR('H', 0x11, struct hda_verb_ioctl) 2962306a36Sopenharmony_ci#define HDA_IOCTL_GET_WCAP _IOWR('H', 0x12, struct hda_verb_ioctl) 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci#endif 32