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