Squashed backup commit (no shallow-clone history issues) of xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2 branch, upstream commit 9eece662e) plus all fixes applied to get everpal_defconfig building clean against a modern (GCC 15.2.0) toolchain -- see the previous commit message on the lineage-23.2 branch (also in this repo history is not available here since this is a squashed snapshot; full incremental history lives in the local DL380 checkout and the upstream GitHub remote). Upstream: https://github.com/xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2)
41 lines
1000 B
C
41 lines
1000 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
*/
|
|
|
|
#ifndef __HDAC_LOCAL_H
|
|
#define __HDAC_LOCAL_H
|
|
|
|
int hdac_read_parm(struct hdac_device *codec, hda_nid_t nid, int parm);
|
|
|
|
#define get_wcaps(codec, nid) \
|
|
hdac_read_parm(codec, nid, AC_PAR_AUDIO_WIDGET_CAP)
|
|
/* get the widget type from widget capability bits */
|
|
static inline int get_wcaps_type(unsigned int wcaps)
|
|
{
|
|
if (!wcaps)
|
|
return -1; /* invalid type */
|
|
return (wcaps & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT;
|
|
}
|
|
|
|
#define get_pin_caps(codec, nid) \
|
|
hdac_read_parm(codec, nid, AC_PAR_PIN_CAP)
|
|
|
|
static inline
|
|
unsigned int get_pin_cfg(struct hdac_device *codec, hda_nid_t nid)
|
|
{
|
|
unsigned int val;
|
|
|
|
if (snd_hdac_read(codec, nid, AC_VERB_GET_CONFIG_DEFAULT, 0, &val))
|
|
return -1;
|
|
return val;
|
|
}
|
|
|
|
#define get_amp_caps(codec, nid, dir) \
|
|
hdac_read_parm(codec, nid, (dir) == HDA_OUTPUT ? \
|
|
AC_PAR_AMP_OUT_CAP : AC_PAR_AMP_IN_CAP)
|
|
|
|
#define get_power_caps(codec, nid) \
|
|
hdac_read_parm(codec, nid, AC_PAR_POWER_STATE)
|
|
|
|
#endif /* __HDAC_LOCAL_H */
|