^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * HWDEP Interface for HD-audio codec
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Copyright (c) 2007 Takashi Iwai <tiwai@suse.de>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #ifndef __SOUND_HDA_HWDEP_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #define __SOUND_HDA_HWDEP_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define HDA_HWDEP_VERSION ((1 << 16) | (0 << 8) | (0 << 0)) /* 1.0.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) /* verb */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #define HDA_REG_NID_SHIFT 24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #define HDA_REG_VERB_SHIFT 8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #define HDA_REG_VAL_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define HDA_VERB(nid,verb,param) ((nid)<<24 | (verb)<<8 | (param))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) struct hda_verb_ioctl {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) u32 verb; /* HDA_VERB() */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) u32 res; /* response */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) * ioctls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #define HDA_IOCTL_PVERSION _IOR('H', 0x10, int)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #define HDA_IOCTL_VERB_WRITE _IOWR('H', 0x11, struct hda_verb_ioctl)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) #define HDA_IOCTL_GET_WCAP _IOWR('H', 0x12, struct hda_verb_ioctl)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) #endif