* [PATCH] ALSA: hda: hda_auto_parser: Always set codec->fixup_name when a quirk found
@ 2023-09-19 13:23 Peter Ujfalusi
2023-09-19 13:37 ` Takashi Iwai
2023-09-19 17:16 ` kernel test robot
0 siblings, 2 replies; 5+ messages in thread
From: Peter Ujfalusi @ 2023-09-19 13:23 UTC (permalink / raw)
To: tiwai, perex; +Cc: alsa-devel, pierre-louis.bossart
If a fixup is found via a quirk then the codec->fixup_name is only set if
CONFIG_SND_DEBUG_VERBOSE is enabled, otherwise the fixup_name is set to
NULL.
This will result prints in __snd_hda_apply_fixup() when applying the found
fixup for example:
ehdaudio0D0: ALC236: Apply fix-func for (null)
Fixes: 73355ddd8775 ("ALSA: hda: Code refactoring snd_hda_pick_fixup()")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
---
sound/pci/hda/hda_auto_parser.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c
index 7c6b1fe8dfcc..7b1ddb8d40cb 100644
--- a/sound/pci/hda/hda_auto_parser.c
+++ b/sound/pci/hda/hda_auto_parser.c
@@ -1043,9 +1043,8 @@ void snd_hda_pick_fixup(struct hda_codec *codec,
found_device:
id = q->value;
-#ifdef CONFIG_SND_DEBUG_VERBOSE
name = q->name;
-#endif
+
codec_dbg(codec, "%s: picked fixup %s for %s %04x:%04x\n",
codec->core.chip_name, name ? name : "",
type, q->subvendor, q->subdevice);
--
2.42.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] ALSA: hda: hda_auto_parser: Always set codec->fixup_name when a quirk found
2023-09-19 13:23 [PATCH] ALSA: hda: hda_auto_parser: Always set codec->fixup_name when a quirk found Peter Ujfalusi
@ 2023-09-19 13:37 ` Takashi Iwai
2023-09-19 13:51 ` Péter Ujfalusi
2023-09-19 17:16 ` kernel test robot
1 sibling, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2023-09-19 13:37 UTC (permalink / raw)
To: Peter Ujfalusi; +Cc: tiwai, perex, alsa-devel, pierre-louis.bossart
On Tue, 19 Sep 2023 15:23:22 +0200,
Peter Ujfalusi wrote:
>
> If a fixup is found via a quirk then the codec->fixup_name is only set if
> CONFIG_SND_DEBUG_VERBOSE is enabled, otherwise the fixup_name is set to
> NULL.
>
> This will result prints in __snd_hda_apply_fixup() when applying the found
> fixup for example:
> ehdaudio0D0: ALC236: Apply fix-func for (null)
Are you sure this doesn't break? snd_pci_quirk.name is defined only
when CONFIG_SND_DEBUG_VERBOSE=y.
thanks,
Takashi
> Fixes: 73355ddd8775 ("ALSA: hda: Code refactoring snd_hda_pick_fixup()")
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
> ---
> sound/pci/hda/hda_auto_parser.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c
> index 7c6b1fe8dfcc..7b1ddb8d40cb 100644
> --- a/sound/pci/hda/hda_auto_parser.c
> +++ b/sound/pci/hda/hda_auto_parser.c
> @@ -1043,9 +1043,8 @@ void snd_hda_pick_fixup(struct hda_codec *codec,
>
> found_device:
> id = q->value;
> -#ifdef CONFIG_SND_DEBUG_VERBOSE
> name = q->name;
> -#endif
> +
> codec_dbg(codec, "%s: picked fixup %s for %s %04x:%04x\n",
> codec->core.chip_name, name ? name : "",
> type, q->subvendor, q->subdevice);
> --
> 2.42.0
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ALSA: hda: hda_auto_parser: Always set codec->fixup_name when a quirk found
2023-09-19 13:37 ` Takashi Iwai
@ 2023-09-19 13:51 ` Péter Ujfalusi
2023-09-19 14:02 ` Takashi Iwai
0 siblings, 1 reply; 5+ messages in thread
From: Péter Ujfalusi @ 2023-09-19 13:51 UTC (permalink / raw)
To: Takashi Iwai; +Cc: tiwai, perex, alsa-devel, pierre-louis.bossart
On 19/09/2023 16:37, Takashi Iwai wrote:
> On Tue, 19 Sep 2023 15:23:22 +0200,
> Peter Ujfalusi wrote:
>>
>> If a fixup is found via a quirk then the codec->fixup_name is only set if
>> CONFIG_SND_DEBUG_VERBOSE is enabled, otherwise the fixup_name is set to
>> NULL.
>>
>> This will result prints in __snd_hda_apply_fixup() when applying the found
>> fixup for example:
>> ehdaudio0D0: ALC236: Apply fix-func for (null)
>
> Are you sure this doesn't break? snd_pci_quirk.name is defined only
> when CONFIG_SND_DEBUG_VERBOSE=y.
Right, that might cause some issues (I have it enabled), hrm, but the
print in __snd_hda_apply_fixup() is not much of a help in this case..
>
> thanks,
>
> Takashi
>
>
>> Fixes: 73355ddd8775 ("ALSA: hda: Code refactoring snd_hda_pick_fixup()")
>> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
>> ---
>> sound/pci/hda/hda_auto_parser.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c
>> index 7c6b1fe8dfcc..7b1ddb8d40cb 100644
>> --- a/sound/pci/hda/hda_auto_parser.c
>> +++ b/sound/pci/hda/hda_auto_parser.c
>> @@ -1043,9 +1043,8 @@ void snd_hda_pick_fixup(struct hda_codec *codec,
>>
>> found_device:
>> id = q->value;
>> -#ifdef CONFIG_SND_DEBUG_VERBOSE
>> name = q->name;
>> -#endif
>> +
>> codec_dbg(codec, "%s: picked fixup %s for %s %04x:%04x\n",
>> codec->core.chip_name, name ? name : "",
>> type, q->subvendor, q->subdevice);
>> --
>> 2.42.0
>>
--
Péter
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ALSA: hda: hda_auto_parser: Always set codec->fixup_name when a quirk found
2023-09-19 13:51 ` Péter Ujfalusi
@ 2023-09-19 14:02 ` Takashi Iwai
0 siblings, 0 replies; 5+ messages in thread
From: Takashi Iwai @ 2023-09-19 14:02 UTC (permalink / raw)
To: Péter Ujfalusi; +Cc: tiwai, perex, alsa-devel, pierre-louis.bossart
On Tue, 19 Sep 2023 15:51:31 +0200,
Péter Ujfalusi wrote:
>
>
>
> On 19/09/2023 16:37, Takashi Iwai wrote:
> > On Tue, 19 Sep 2023 15:23:22 +0200,
> > Peter Ujfalusi wrote:
> >>
> >> If a fixup is found via a quirk then the codec->fixup_name is only set if
> >> CONFIG_SND_DEBUG_VERBOSE is enabled, otherwise the fixup_name is set to
> >> NULL.
> >>
> >> This will result prints in __snd_hda_apply_fixup() when applying the found
> >> fixup for example:
> >> ehdaudio0D0: ALC236: Apply fix-func for (null)
> >
> > Are you sure this doesn't break? snd_pci_quirk.name is defined only
> > when CONFIG_SND_DEBUG_VERBOSE=y.
>
> Right, that might cause some issues (I have it enabled), hrm, but the
> print in __snd_hda_apply_fixup() is not much of a help in this case..
Yeah, but it shows the target SSID, so you can reverse-search :)
Takashi
> >
> > thanks,
> >
> > Takashi
> >
> >
> >> Fixes: 73355ddd8775 ("ALSA: hda: Code refactoring snd_hda_pick_fixup()")
> >> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
> >> ---
> >> sound/pci/hda/hda_auto_parser.c | 3 +--
> >> 1 file changed, 1 insertion(+), 2 deletions(-)
> >>
> >> diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c
> >> index 7c6b1fe8dfcc..7b1ddb8d40cb 100644
> >> --- a/sound/pci/hda/hda_auto_parser.c
> >> +++ b/sound/pci/hda/hda_auto_parser.c
> >> @@ -1043,9 +1043,8 @@ void snd_hda_pick_fixup(struct hda_codec *codec,
> >>
> >> found_device:
> >> id = q->value;
> >> -#ifdef CONFIG_SND_DEBUG_VERBOSE
> >> name = q->name;
> >> -#endif
> >> +
> >> codec_dbg(codec, "%s: picked fixup %s for %s %04x:%04x\n",
> >> codec->core.chip_name, name ? name : "",
> >> type, q->subvendor, q->subdevice);
> >> --
> >> 2.42.0
> >>
>
> --
> Péter
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ALSA: hda: hda_auto_parser: Always set codec->fixup_name when a quirk found
2023-09-19 13:23 [PATCH] ALSA: hda: hda_auto_parser: Always set codec->fixup_name when a quirk found Peter Ujfalusi
2023-09-19 13:37 ` Takashi Iwai
@ 2023-09-19 17:16 ` kernel test robot
1 sibling, 0 replies; 5+ messages in thread
From: kernel test robot @ 2023-09-19 17:16 UTC (permalink / raw)
To: Peter Ujfalusi, tiwai, perex
Cc: oe-kbuild-all, alsa-devel, pierre-louis.bossart
Hi Peter,
kernel test robot noticed the following build errors:
[auto build test ERROR on linus/master]
[also build test ERROR on v6.6-rc2 next-20230919]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Peter-Ujfalusi/ALSA-hda-hda_auto_parser-Always-set-codec-fixup_name-when-a-quirk-found/20230919-223534
base: linus/master
patch link: https://lore.kernel.org/r/20230919132322.17352-1-peter.ujfalusi%40linux.intel.com
patch subject: [PATCH] ALSA: hda: hda_auto_parser: Always set codec->fixup_name when a quirk found
config: parisc-randconfig-002-20230919 (https://download.01.org/0day-ci/archive/20230920/202309200115.MPOBOM0E-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230920/202309200115.MPOBOM0E-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309200115.MPOBOM0E-lkp@intel.com/
All errors (new ones prefixed by >>):
sound/pci/hda/hda_auto_parser.c: In function 'snd_hda_pick_fixup':
>> sound/pci/hda/hda_auto_parser.c:1046:17: error: 'const struct snd_pci_quirk' has no member named 'name'
1046 | name = q->name;
| ^~
vim +1046 sound/pci/hda/hda_auto_parser.c
20531415adf308 David Henningsson 2014-05-26 958
95a962c36f6e3c Takashi Iwai 2014-10-29 959 /**
95a962c36f6e3c Takashi Iwai 2014-10-29 960 * snd_hda_pick_fixup - Pick up a fixup matching with PCI/codec SSID or model string
95a962c36f6e3c Takashi Iwai 2014-10-29 961 * @codec: the HDA codec
95a962c36f6e3c Takashi Iwai 2014-10-29 962 * @models: NULL-terminated model string list
95a962c36f6e3c Takashi Iwai 2014-10-29 963 * @quirk: zero-terminated PCI/codec SSID quirk list
95a962c36f6e3c Takashi Iwai 2014-10-29 964 * @fixlist: the fixup list
95a962c36f6e3c Takashi Iwai 2014-10-29 965 *
95a962c36f6e3c Takashi Iwai 2014-10-29 966 * Pick up a fixup entry matching with the given model string or SSID.
95a962c36f6e3c Takashi Iwai 2014-10-29 967 * If a fixup was already set beforehand, the function doesn't do anything.
95a962c36f6e3c Takashi Iwai 2014-10-29 968 * When a special model string "nofixup" is given, also no fixup is applied.
95a962c36f6e3c Takashi Iwai 2014-10-29 969 *
95a962c36f6e3c Takashi Iwai 2014-10-29 970 * The function tries to find the matching model name at first, if given.
a235d5b8e550fa Takashi Iwai 2021-08-23 971 * If the model string contains the SSID alias, try to look up with the given
a235d5b8e550fa Takashi Iwai 2021-08-23 972 * alias ID.
95a962c36f6e3c Takashi Iwai 2014-10-29 973 * If nothing matched, try to look up the PCI SSID.
95a962c36f6e3c Takashi Iwai 2014-10-29 974 * If still nothing matched, try to look up the codec SSID.
95a962c36f6e3c Takashi Iwai 2014-10-29 975 */
23d30f28275ddd Takashi Iwai 2012-05-07 976 void snd_hda_pick_fixup(struct hda_codec *codec,
23d30f28275ddd Takashi Iwai 2012-05-07 977 const struct hda_model_fixup *models,
23d30f28275ddd Takashi Iwai 2012-05-07 978 const struct snd_pci_quirk *quirk,
23d30f28275ddd Takashi Iwai 2012-05-07 979 const struct hda_fixup *fixlist)
23d30f28275ddd Takashi Iwai 2012-05-07 980 {
23d30f28275ddd Takashi Iwai 2012-05-07 981 const struct snd_pci_quirk *q;
f5662e1cbf3f09 David Henningsson 2014-07-22 982 int id = HDA_FIXUP_ID_NOT_SET;
23d30f28275ddd Takashi Iwai 2012-05-07 983 const char *name = NULL;
73355ddd877588 Takashi Iwai 2021-08-23 984 const char *type = NULL;
0444f82766f0b5 Takashi Iwai 2022-01-27 985 unsigned int vendor, device;
23d30f28275ddd Takashi Iwai 2012-05-07 986
f5662e1cbf3f09 David Henningsson 2014-07-22 987 if (codec->fixup_id != HDA_FIXUP_ID_NOT_SET)
f5662e1cbf3f09 David Henningsson 2014-07-22 988 return;
f5662e1cbf3f09 David Henningsson 2014-07-22 989
23d30f28275ddd Takashi Iwai 2012-05-07 990 /* when model=nofixup is given, don't pick up any fixups */
23d30f28275ddd Takashi Iwai 2012-05-07 991 if (codec->modelname && !strcmp(codec->modelname, "nofixup")) {
73355ddd877588 Takashi Iwai 2021-08-23 992 id = HDA_FIXUP_ID_NO_FIXUP;
73355ddd877588 Takashi Iwai 2021-08-23 993 fixlist = NULL;
4f7946eca787ba David Henningsson 2015-01-07 994 codec_dbg(codec, "%s: picked no fixup (nofixup specified)\n",
7639a06c23c7d4 Takashi Iwai 2015-03-03 995 codec->core.chip_name);
73355ddd877588 Takashi Iwai 2021-08-23 996 goto found;
23d30f28275ddd Takashi Iwai 2012-05-07 997 }
23d30f28275ddd Takashi Iwai 2012-05-07 998
73355ddd877588 Takashi Iwai 2021-08-23 999 /* match with the model name string */
23d30f28275ddd Takashi Iwai 2012-05-07 1000 if (codec->modelname && models) {
23d30f28275ddd Takashi Iwai 2012-05-07 1001 while (models->name) {
23d30f28275ddd Takashi Iwai 2012-05-07 1002 if (!strcmp(codec->modelname, models->name)) {
73355ddd877588 Takashi Iwai 2021-08-23 1003 id = models->id;
73355ddd877588 Takashi Iwai 2021-08-23 1004 name = models->name;
4f7946eca787ba David Henningsson 2015-01-07 1005 codec_dbg(codec, "%s: picked fixup %s (model specified)\n",
7639a06c23c7d4 Takashi Iwai 2015-03-03 1006 codec->core.chip_name, codec->fixup_name);
73355ddd877588 Takashi Iwai 2021-08-23 1007 goto found;
23d30f28275ddd Takashi Iwai 2012-05-07 1008 }
23d30f28275ddd Takashi Iwai 2012-05-07 1009 models++;
23d30f28275ddd Takashi Iwai 2012-05-07 1010 }
23d30f28275ddd Takashi Iwai 2012-05-07 1011 }
73355ddd877588 Takashi Iwai 2021-08-23 1012
73355ddd877588 Takashi Iwai 2021-08-23 1013 if (!quirk)
73355ddd877588 Takashi Iwai 2021-08-23 1014 return;
73355ddd877588 Takashi Iwai 2021-08-23 1015
a235d5b8e550fa Takashi Iwai 2021-08-23 1016 /* match with the SSID alias given by the model string "XXXX:YYYY" */
a235d5b8e550fa Takashi Iwai 2021-08-23 1017 if (codec->modelname &&
a235d5b8e550fa Takashi Iwai 2021-08-23 1018 sscanf(codec->modelname, "%04x:%04x", &vendor, &device) == 2) {
a235d5b8e550fa Takashi Iwai 2021-08-23 1019 q = snd_pci_quirk_lookup_id(vendor, device, quirk);
a235d5b8e550fa Takashi Iwai 2021-08-23 1020 if (q) {
a235d5b8e550fa Takashi Iwai 2021-08-23 1021 type = "alias SSID";
a235d5b8e550fa Takashi Iwai 2021-08-23 1022 goto found_device;
a235d5b8e550fa Takashi Iwai 2021-08-23 1023 }
a235d5b8e550fa Takashi Iwai 2021-08-23 1024 }
a235d5b8e550fa Takashi Iwai 2021-08-23 1025
73355ddd877588 Takashi Iwai 2021-08-23 1026 /* match with the PCI SSID */
23d30f28275ddd Takashi Iwai 2012-05-07 1027 q = snd_pci_quirk_lookup(codec->bus->pci, quirk);
23d30f28275ddd Takashi Iwai 2012-05-07 1028 if (q) {
73355ddd877588 Takashi Iwai 2021-08-23 1029 type = "PCI SSID";
73355ddd877588 Takashi Iwai 2021-08-23 1030 goto found_device;
23d30f28275ddd Takashi Iwai 2012-05-07 1031 }
73355ddd877588 Takashi Iwai 2021-08-23 1032
73355ddd877588 Takashi Iwai 2021-08-23 1033 /* match with the codec SSID */
73355ddd877588 Takashi Iwai 2021-08-23 1034 q = snd_pci_quirk_lookup_id(codec->core.subsystem_id >> 16,
73355ddd877588 Takashi Iwai 2021-08-23 1035 codec->core.subsystem_id & 0xffff,
73355ddd877588 Takashi Iwai 2021-08-23 1036 quirk);
73355ddd877588 Takashi Iwai 2021-08-23 1037 if (q) {
73355ddd877588 Takashi Iwai 2021-08-23 1038 type = "codec SSID";
73355ddd877588 Takashi Iwai 2021-08-23 1039 goto found_device;
23d30f28275ddd Takashi Iwai 2012-05-07 1040 }
73355ddd877588 Takashi Iwai 2021-08-23 1041
73355ddd877588 Takashi Iwai 2021-08-23 1042 return; /* no matching */
73355ddd877588 Takashi Iwai 2021-08-23 1043
73355ddd877588 Takashi Iwai 2021-08-23 1044 found_device:
23d30f28275ddd Takashi Iwai 2012-05-07 1045 id = q->value;
23d30f28275ddd Takashi Iwai 2012-05-07 @1046 name = q->name;
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-09-19 17:18 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-19 13:23 [PATCH] ALSA: hda: hda_auto_parser: Always set codec->fixup_name when a quirk found Peter Ujfalusi
2023-09-19 13:37 ` Takashi Iwai
2023-09-19 13:51 ` Péter Ujfalusi
2023-09-19 14:02 ` Takashi Iwai
2023-09-19 17:16 ` kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.