linux_dsm_epyc7002/sound/pci/hda
Takashi Iwai 3256be6537 ALSA: hda - Add widget sysfs tree
This patch changes the sysfs files assigned to the codec device on the
bus which were formerly identical with hwdep sysfs files.  Now it
shows only a few core parameter, vendor_id, subsystem_id, revision_id,
afg, mfg, vendor_name and chip_name.

In addition, now a widget tree is added to the bus device sysfs
directory for showing the widget topology and attributes.  It's just a
flat tree consisting of subdirectories named as the widget NID
including various attributes like widget capability bits.  The AFG
(usually NID 0x01) is always found there, and it contains always
amp_in_caps, amp_out_caps and power_caps files.  Each of these
attributes show a single value.  The rest are the widget nodes
belonging to that AFG.  Note that the child node might not start from
0x02 but from another value like 0x0a.

Each child node may contain caps, pin_caps, amp_in_caps, amp_out_caps,
power_caps and connections files.  The caps (representing the widget
capability bits) always contain a value.  The rest may contain
value(s) if the attribute exists on the node.  Only connections file
show multiple values while other attributes have zero or one single
value.

An example of ls -R output is like below:
% ls -R /sys/bus/hdaudio/devices/hdaudioC0D0/
/sys/bus/hdaudio/devices/hdaudioC0D0/widgets/:
01/  04/  07/  0a/  0d/  10/  13/  16/  19/  1c/  1f/  22/
02/  05/  08/  0b/  0e/  11/  14/  17/  1a/  1d/  20/  23/
03/  06/  09/  0c/  0f/  12/  15/  18/  1b/  1e/  21/

/sys/bus/hdaudio/devices/hdaudioC0D0/widgets/01:
amp_in_caps  amp_out_caps  power_caps

/sys/bus/hdaudio/devices/hdaudioC0D0/widgets/02:
amp_in_caps  amp_out_caps  caps  connections  pin_caps  pin_cfg
power_caps

/sys/bus/hdaudio/devices/hdaudioC0D0/widgets/03:
.....

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-03-23 13:17:27 +01:00
..
ca0132_regs.h ALSA: hda: ca0132_regs.h: Fix typo in include guard 2014-08-22 11:24:11 +02:00
dell_wmi_helper.c ALSA: hda - add mic mute led hook for dell machines 2014-07-31 09:21:42 +02:00
hda_auto_parser.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
hda_auto_parser.h ALSA: hda - Sort input pins depending on amp caps 2014-09-23 15:57:32 +02:00
hda_beep.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
hda_beep.h ALSA: hda - Adjust power of beep widget and outputs 2015-03-18 09:23:10 +01:00
hda_bind.c ALSA: hda - Add widget sysfs tree 2015-03-23 13:17:27 +01:00
hda_codec.c ALSA: hda - Add widget sysfs tree 2015-03-23 13:17:27 +01:00
hda_codec.h ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
hda_controller.c ALSA: hda - Move some codes up to hdac_bus struct 2015-03-23 13:17:02 +01:00
hda_controller.h ALSA: hda - Use shutdown driver ops instead of reboot notifier 2015-03-13 15:28:58 +01:00
hda_eld.c ALSA: hda - Correct kerneldoc comments 2014-10-29 15:06:54 +01:00
hda_generic.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
hda_generic.h ALSA: hda - Fix power of pins used for mute LED with vrefs 2015-03-20 18:30:48 +01:00
hda_hwdep.c ALSA: hda - Add card field to hda_codec struct 2015-03-03 11:25:16 +01:00
hda_i915.c ALSA: hda - Fold hda_priv.h into hda_controller.h 2015-02-19 21:41:25 +01:00
hda_intel_trace.h ALSA: hda - Add tracepoints to HD-audio controller driver 2012-10-30 10:39:59 +01:00
hda_intel.c ALSA: hda - Move some codes up to hdac_bus struct 2015-03-23 13:17:02 +01:00
hda_intel.h ALSA: hda - Fold hda_priv.h into hda_controller.h 2015-02-19 21:41:25 +01:00
hda_jack.c ALSA: hda - Add card field to hda_codec struct 2015-03-03 11:25:16 +01:00
hda_jack.h ALSA: hda - More kerneldoc comments 2014-10-29 16:03:58 +01:00
hda_local.h ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
hda_proc.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
hda_sysfs.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
hda_tegra.c ALSA: hda - Use shutdown driver ops instead of reboot notifier 2015-03-13 15:28:58 +01:00
hda_trace.h ALSA: hda - Add card field to hda_codec struct 2015-03-03 11:25:16 +01:00
Kconfig ALSA: hda - Make snd_hda_bus_type public 2015-03-23 13:15:51 +01:00
local.h ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
Makefile ALSA: hda - Bind codecs via standard bus 2015-02-23 09:16:06 +01:00
patch_analog.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
patch_ca0110.c ALSA: hda - Bind codecs via standard bus 2015-02-23 09:16:06 +01:00
patch_ca0132.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
patch_cirrus.c Merge branch 'topic/hda-bus' into for-next 2015-03-16 14:48:16 +01:00
patch_cmedia.c ALSA: hda - Bind codecs via standard bus 2015-02-23 09:16:06 +01:00
patch_conexant.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
patch_hdmi.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
patch_realtek.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
patch_si3054.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
patch_sigmatel.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
patch_via.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
thinkpad_helper.c ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00