From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fengguang Wu Subject: Re: [PATCH] alsa: hide HDMI/ELD printks unless in debug kernels Date: Tue, 10 Apr 2012 17:00:35 +0800 Message-ID: <20120410090035.GA24518@localhost> References: <20120409021517.GA14618@localhost> <4F82FC6C.1090501@wwwdotorg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by alsa0.perex.cz (Postfix) with ESMTP id 3AC182455F for ; Tue, 10 Apr 2012 11:05:43 +0200 (CEST) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: Takashi Iwai Cc: Keith Packard , Linux Kernel Mailing List , alsa-devel@alsa-project.org, Nick Bowler , Stephen Warren List-Id: alsa-devel@alsa-project.org T24gVHVlLCBBcHIgMTAsIDIwMTIgYXQgMDg6MDg6NTZBTSArMDIwMCwgVGFrYXNoaSBJd2FpIHdy b3RlOgo+IEF0IE1vbiwgMDkgQXByIDIwMTIgMDk6MTI6NDQgLTA2MDAsCj4gU3RlcGhlbiBXYXJy ZW4gd3JvdGU6Cj4gPiAKPiA+IE9uIDA0LzA4LzIwMTIgMDg6MTUgUE0sIEZlbmdndWFuZyBXdSB3 cm90ZToKPiA+ID4gVGhlc2UgdHJpdmlhbCBtZXNzYWdlcyB3aWxsIHNob3cgdXAgcmVwZWF0ZWRs eSBvbiBob3QgcGx1ZyBhcyB3ZWxsIGFzCj4gPiA+IHZpZGVvIG1vZGUgY2hhbmdlcywgd2hpY2gg Y291bGQgYmUgYW5ub3lpbmcuCj4gPiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBXdSBGZW5nZ3Vh bmcgPGZlbmdndWFuZy53dUBpbnRlbC5jb20+Cj4gPiAKPiA+IFRob3NlIG1lc3NhZ2VzIGFyZSB2 ZXJ5IHVzZWZ1bCBmb3IgZW5kLXVzZXJzIHRvIGRpYWdub3NlIHByb2JsZW1zIHdpdGgKPiA+IEhE TUkgYXVkaW8uIElzIHRoZXJlIGEgd2F5IHRvIG1ha2UgdGhlIG1lc3NhZ2VzIGR5bmFtaWMsIHNv IHVzZXJzIGNhbgo+ID4gZ2V0IHRoZW0gaWYgdGhleSB3YW50LCB3aXRob3V0IHJlY29tcGlsaW5n IHRoZWlyIGtlcm5lbD8KPiAKPiBXZSBjYW4gZGVmaW5lIGEgbmV3IG1hY3JvIGxpa2UgYmVsb3cs IGFkZCBjYWxsIGxpa2UgX3NuZF9wcmludGQoMiwKPiAuLi4uKSBpbnN0ZWFkIG9mIHNuZF9wcmlu dGQoKS4KPiAoWWVzLCB0aGUgbnVtYmVyIDIgY2FuIGJlIHJlcGxhY2VkIGJldHRlciBpbiBhbiBl bnVtLCB0b28uKQo+IAo+IEluIGZ1dHVyZSwgd2Ugc2hvdWxkIG1vdmUgdG8gdGhlIHN0YW5kYXJk IGR5bmFtaWNfcHJpbnRrLCBidXQgYSBwYXRjaAo+IGxpa2UgdGhpcyB3b3VsZCBiZSBhIGdvb2Qg Y29tcHJvbWlzZSBmb3IgbWVyZ2luZyB0byAzLjQga2VybmVsLCBJTU8uCgpPSy4gSG93IGFib3V0 IHRoaXM/CgpTdWJqZWN0OiBhbHNhOiBoaWRlIEhETUkvRUxEIHByaW50a3MgdW5sZXNzIHNuZC5k ZWJ1Zz0yCkRhdGU6IEZyaSBOb3YgMTEgMTk6MDk6MzYgQ1NUIDIwMTEKCkFsc28gcmVtb3ZlIHR3 byB3YXJuaW5ncyB3aGVuIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldDoKCnNvdW5kL3BjaS9o ZGEvcGF0Y2hfaGRtaS5jOiBJbiBmdW5jdGlvbiDigJhoZG1pX2ludHJpbnNpY19ldmVudOKAmToK c291bmQvcGNpL2hkYS9wYXRjaF9oZG1pLmM6NzYxOjY6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJs ZSDigJhlbGR24oCZIFstV3VudXNlZC12YXJpYWJsZV0Kc291bmQvcGNpL2hkYS9wYXRjaF9oZG1p LmM6NzYwOjY6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSDigJhwZOKAmSBbLVd1bnVzZWQtdmFy aWFibGVdCgpTaWduZWQtb2ZmLWJ5OiBXdSBGZW5nZ3VhbmcgPGZlbmdndWFuZy53dUBpbnRlbC5j b20+Ci0tLQogaW5jbHVkZS9zb3VuZC9jb3JlLmggICAgICAgfCAgIDEwICsrKysrKysrKysKIHNv dW5kL3BjaS9oZGEvaGRhX2VsZC5jICAgIHwgICAgNiArKystLS0KIHNvdW5kL3BjaS9oZGEvcGF0 Y2hfaGRtaS5jIHwgICAgOSArKysrLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9u cygrKSwgOCBkZWxldGlvbnMoLSkKCi0tLSBsaW51eC5vcmlnL3NvdW5kL3BjaS9oZGEvaGRhX2Vs ZC5jCTIwMTItMDQtMTAgMTY6NTE6MDAuNzM3NzA3ODUzICswODAwCisrKyBsaW51eC9zb3VuZC9w Y2kvaGRhL2hkYV9lbGQuYwkyMDEyLTA0LTEwIDE2OjUxOjA4LjEwNTcwODAyOSArMDgwMApAQCAt NDE4LDcgKzQxOCw3IEBAIHN0YXRpYyB2b2lkIGhkbWlfc2hvd19zaG9ydF9hdWRpb19kZXNjKHMK IAllbHNlCiAJCWJ1ZjJbMF0gPSAnXDAnOwogCi0JcHJpbnRrKEtFUk5fSU5GTyAiSERNSTogc3Vw cG9ydHMgY29kaW5nIHR5cGUgJXM6IgorCV9zbmRfcHJpbnRkKFNORF9QUl9WRVJCT1NFLCAiSERN STogc3VwcG9ydHMgY29kaW5nIHR5cGUgJXM6IgogCQkJIiBjaGFubmVscyA9ICVkLCByYXRlcyA9 JXMlc1xuIiwKIAkJCWNlYV9hdWRpb19jb2RpbmdfdHlwZV9uYW1lc1thLT5mb3JtYXRdLAogCQkJ YS0+Y2hhbm5lbHMsCkBAIC00NDIsMTQgKzQ0MiwxNCBAQCB2b2lkIHNuZF9oZG1pX3Nob3dfZWxk KHN0cnVjdCBoZG1pX2VsZCAqCiB7CiAJaW50IGk7CiAKLQlwcmludGsoS0VSTl9JTkZPICJIRE1J OiBkZXRlY3RlZCBtb25pdG9yICVzIGF0IGNvbm5lY3Rpb24gdHlwZSAlc1xuIiwKKwlfc25kX3By aW50ZChTTkRfUFJfVkVSQk9TRSwgIkhETUk6IGRldGVjdGVkIG1vbml0b3IgJXMgYXQgY29ubmVj dGlvbiB0eXBlICVzXG4iLAogCQkJZS0+bW9uaXRvcl9uYW1lLAogCQkJZWxkX2Nvbm5lY3Rpb25f dHlwZV9uYW1lc1tlLT5jb25uX3R5cGVdKTsKIAogCWlmIChlLT5zcGtfYWxsb2MpIHsKIAkJY2hh ciBidWZbU05EX1BSSU5UX0NIQU5ORUxfQUxMT0NBVElPTl9BRFZJU0VEX0JVRlNJWkVdOwogCQlz bmRfcHJpbnRfY2hhbm5lbF9hbGxvY2F0aW9uKGUtPnNwa19hbGxvYywgYnVmLCBzaXplb2YoYnVm KSk7Ci0JCXByaW50ayhLRVJOX0lORk8gIkhETUk6IGF2YWlsYWJsZSBzcGVha2Vyczolc1xuIiwg YnVmKTsKKwkJX3NuZF9wcmludGQoU05EX1BSX1ZFUkJPU0UsICJIRE1JOiBhdmFpbGFibGUgc3Bl YWtlcnM6JXNcbiIsIGJ1Zik7CiAJfQogCiAJZm9yIChpID0gMDsgaSA8IGUtPnNhZF9jb3VudDsg aSsrKQotLS0gbGludXgub3JpZy9zb3VuZC9wY2kvaGRhL3BhdGNoX2hkbWkuYwkyMDEyLTA0LTEw IDE2OjUxOjAwLjc0NTcwNzg1NCArMDgwMAorKysgbGludXgvc291bmQvcGNpL2hkYS9wYXRjaF9o ZG1pLmMJMjAxMi0wNC0xMCAxNjo1NTozNS44MTM3MTQzOTEgKzA4MDAKQEAgLTc1Nyw4ICs3NTcs NiBAQCBzdGF0aWMgdm9pZCBoZG1pX2ludHJpbnNpY19ldmVudChzdHJ1Y3QKIAlzdHJ1Y3QgaGRt aV9zcGVjICpzcGVjID0gY29kZWMtPnNwZWM7CiAJaW50IHRhZyA9IHJlcyA+PiBBQ19VTlNPTF9S RVNfVEFHX1NISUZUOwogCWludCBwaW5fbmlkOwotCWludCBwZCA9ICEhKHJlcyAmIEFDX1VOU09M X1JFU19QRCk7Ci0JaW50IGVsZHYgPSAhIShyZXMgJiBBQ19VTlNPTF9SRVNfRUxEVik7CiAJaW50 IHBpbl9pZHg7CiAJc3RydWN0IGhkYV9qYWNrX3RibCAqamFjazsKIApAQCAtNzY4LDkgKzc2Niwx MCBAQCBzdGF0aWMgdm9pZCBoZG1pX2ludHJpbnNpY19ldmVudChzdHJ1Y3QKIAlwaW5fbmlkID0g amFjay0+bmlkOwogCWphY2stPmphY2tfZGlydHkgPSAxOwogCi0JcHJpbnRrKEtFUk5fSU5GTwor CV9zbmRfcHJpbnRkKFNORF9QUl9WRVJCT1NFLAogCQkiSERNSSBob3QgcGx1ZyBldmVudDogQ29k ZWM9JWQgUGluPSVkIFByZXNlbmNlX0RldGVjdD0lZCBFTERfVmFsaWQ9JWRcbiIsCi0JCWNvZGVj LT5hZGRyLCBwaW5fbmlkLCBwZCwgZWxkdik7CisJCWNvZGVjLT5hZGRyLCBwaW5fbmlkLAorCQkh IShyZXMgJiBBQ19VTlNPTF9SRVNfUEQpLCAhIShyZXMgJiBBQ19VTlNPTF9SRVNfRUxEVikpOwog CiAJcGluX2lkeCA9IHBpbl9uaWRfdG9fcGluX2luZGV4KHNwZWMsIHBpbl9uaWQpOwogCWlmIChw aW5faWR4IDwgMCkKQEAgLTk5Miw3ICs5OTEsNyBAQCBzdGF0aWMgdm9pZCBoZG1pX3ByZXNlbnRf c2Vuc2Uoc3RydWN0IGhkCiAJaWYgKGVsZC0+bW9uaXRvcl9wcmVzZW50KQogCQllbGRfdmFsaWQJ PSAhIShwcmVzZW50ICYgQUNfUElOU0VOU0VfRUxEVik7CiAKLQlwcmludGsoS0VSTl9JTkZPCisJ X3NuZF9wcmludGQoU05EX1BSX1ZFUkJPU0UsCiAJCSJIRE1JIHN0YXR1czogQ29kZWM9JWQgUGlu PSVkIFByZXNlbmNlX0RldGVjdD0lZCBFTERfVmFsaWQ9JWRcbiIsCiAJCWNvZGVjLT5hZGRyLCBw aW5fbmlkLCBlbGQtPm1vbml0b3JfcHJlc2VudCwgZWxkX3ZhbGlkKTsKIAotLS0gbGludXgub3Jp Zy9pbmNsdWRlL3NvdW5kL2NvcmUuaAkyMDEyLTA0LTEwIDE2OjUxOjAwLjc1NzcwNzg1NCArMDgw MAorKysgbGludXgvaW5jbHVkZS9zb3VuZC9jb3JlLmgJMjAxMi0wNC0xMCAxNjo1MTowOC4xMDU3 MDgwMjkgKzA4MDAKQEAgLTMyNSw2ICszMjUsMTMgQEAgdm9pZCByZWxlYXNlX2FuZF9mcmVlX3Jl c291cmNlKHN0cnVjdCByZQogCiAvKiAtLS0gKi8KIAorLyogc291bmQgcHJpbnRrIGRlYnVnIGxl dmVscyAqLworZW51bSB7CisJU05EX1BSX0FMV0FZUywKKwlTTkRfUFJfREVCVUcsCisJU05EX1BS X1ZFUkJPU0UsCit9OworCiAjaWYgZGVmaW5lZChDT05GSUdfU05EX0RFQlVHKSB8fCBkZWZpbmVk KENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEspCiBfX3ByaW50Zig0LCA1KQogdm9pZCBfX3NuZF9w cmludGsodW5zaWduZWQgaW50IGxldmVsLCBjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKQEAg LTM1NCw2ICszNjEsOCBAQCB2b2lkIF9fc25kX3ByaW50ayh1bnNpZ25lZCBpbnQgbGV2ZWwsIGNv CiAgKi8KICNkZWZpbmUgc25kX3ByaW50ZChmbXQsIGFyZ3MuLi4pIFwKIAlfX3NuZF9wcmludGso MSwgX19GSUxFX18sIF9fTElORV9fLCBmbXQsICMjYXJncykKKyNkZWZpbmUgX3NuZF9wcmludGQo bGV2ZWwsIGZtdCwgYXJncy4uLikgXAorCV9fc25kX3ByaW50ayhsZXZlbCwgX19GSUxFX18sIF9f TElORV9fLCBmbXQsICMjYXJncykKIAogLyoqCiAgKiBzbmRfQlVHIC0gZ2l2ZSBhIEJVRyB3YXJu aW5nIG1lc3NhZ2UgYW5kIHN0YWNrIHRyYWNlCkBAIC0zODMsNiArMzkyLDcgQEAgdm9pZCBfX3Nu ZF9wcmludGsodW5zaWduZWQgaW50IGxldmVsLCBjbwogI2Vsc2UgLyogIUNPTkZJR19TTkRfREVC VUcgKi8KIAogI2RlZmluZSBzbmRfcHJpbnRkKGZtdCwgYXJncy4uLikJZG8geyB9IHdoaWxlICgw KQorI2RlZmluZSBfc25kX3ByaW50ZChsZXZlbCwgZm10LCBhcmdzLi4uKSBkbyB7IH0gd2hpbGUg KDApCiAjZGVmaW5lIHNuZF9CVUcoKQkJCWRvIHsgfSB3aGlsZSAoMCkKIHN0YXRpYyBpbmxpbmUg aW50IF9fc25kX2J1Z19vbihpbnQgY29uZCkKIHsKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KQWxzYS1kZXZlbCBtYWlsaW5nIGxpc3QKQWxzYS1kZXZlbEBh bHNhLXByb2plY3Qub3JnCmh0dHA6Ly9tYWlsbWFuLmFsc2EtcHJvamVjdC5vcmcvbWFpbG1hbi9s aXN0aW5mby9hbHNhLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753116Ab2DJJFm (ORCPT ); Tue, 10 Apr 2012 05:05:42 -0400 Received: from mga11.intel.com ([192.55.52.93]:22281 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751657Ab2DJJFl (ORCPT ); Tue, 10 Apr 2012 05:05:41 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="139832691" Date: Tue, 10 Apr 2012 17:00:35 +0800 From: Fengguang Wu To: Takashi Iwai Cc: Stephen Warren , alsa-devel@alsa-project.org, Nick Bowler , Linux Kernel Mailing List , Keith Packard Subject: Re: [PATCH] alsa: hide HDMI/ELD printks unless in debug kernels Message-ID: <20120410090035.GA24518@localhost> References: <20120409021517.GA14618@localhost> <4F82FC6C.1090501@wwwdotorg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 10, 2012 at 08:08:56AM +0200, Takashi Iwai wrote: > At Mon, 09 Apr 2012 09:12:44 -0600, > Stephen Warren wrote: > > > > On 04/08/2012 08:15 PM, Fengguang Wu wrote: > > > These trivial messages will show up repeatedly on hot plug as well as > > > video mode changes, which could be annoying. > > > > > > Signed-off-by: Wu Fengguang > > > > Those messages are very useful for end-users to diagnose problems with > > HDMI audio. Is there a way to make the messages dynamic, so users can > > get them if they want, without recompiling their kernel? > > We can define a new macro like below, add call like _snd_printd(2, > ....) instead of snd_printd(). > (Yes, the number 2 can be replaced better in an enum, too.) > > In future, we should move to the standard dynamic_printk, but a patch > like this would be a good compromise for merging to 3.4 kernel, IMO. OK. How about this? Subject: alsa: hide HDMI/ELD printks unless snd.debug=2 Date: Fri Nov 11 19:09:36 CST 2011 Also remove two warnings when CONFIG_SND_DEBUG is not set: sound/pci/hda/patch_hdmi.c: In function ‘hdmi_intrinsic_event’: sound/pci/hda/patch_hdmi.c:761:6: warning: unused variable ‘eldv’ [-Wunused-variable] sound/pci/hda/patch_hdmi.c:760:6: warning: unused variable ‘pd’ [-Wunused-variable] Signed-off-by: Wu Fengguang --- include/sound/core.h | 10 ++++++++++ sound/pci/hda/hda_eld.c | 6 +++--- sound/pci/hda/patch_hdmi.c | 9 ++++----- 3 files changed, 17 insertions(+), 8 deletions(-) --- linux.orig/sound/pci/hda/hda_eld.c 2012-04-10 16:51:00.737707853 +0800 +++ linux/sound/pci/hda/hda_eld.c 2012-04-10 16:51:08.105708029 +0800 @@ -418,7 +418,7 @@ static void hdmi_show_short_audio_desc(s else buf2[0] = '\0'; - printk(KERN_INFO "HDMI: supports coding type %s:" + _snd_printd(SND_PR_VERBOSE, "HDMI: supports coding type %s:" " channels = %d, rates =%s%s\n", cea_audio_coding_type_names[a->format], a->channels, @@ -442,14 +442,14 @@ void snd_hdmi_show_eld(struct hdmi_eld * { int i; - printk(KERN_INFO "HDMI: detected monitor %s at connection type %s\n", + _snd_printd(SND_PR_VERBOSE, "HDMI: detected monitor %s at connection type %s\n", e->monitor_name, eld_connection_type_names[e->conn_type]); if (e->spk_alloc) { char buf[SND_PRINT_CHANNEL_ALLOCATION_ADVISED_BUFSIZE]; snd_print_channel_allocation(e->spk_alloc, buf, sizeof(buf)); - printk(KERN_INFO "HDMI: available speakers:%s\n", buf); + _snd_printd(SND_PR_VERBOSE, "HDMI: available speakers:%s\n", buf); } for (i = 0; i < e->sad_count; i++) --- linux.orig/sound/pci/hda/patch_hdmi.c 2012-04-10 16:51:00.745707854 +0800 +++ linux/sound/pci/hda/patch_hdmi.c 2012-04-10 16:55:35.813714391 +0800 @@ -757,8 +757,6 @@ static void hdmi_intrinsic_event(struct struct hdmi_spec *spec = codec->spec; int tag = res >> AC_UNSOL_RES_TAG_SHIFT; int pin_nid; - int pd = !!(res & AC_UNSOL_RES_PD); - int eldv = !!(res & AC_UNSOL_RES_ELDV); int pin_idx; struct hda_jack_tbl *jack; @@ -768,9 +766,10 @@ static void hdmi_intrinsic_event(struct pin_nid = jack->nid; jack->jack_dirty = 1; - printk(KERN_INFO + _snd_printd(SND_PR_VERBOSE, "HDMI hot plug event: Codec=%d Pin=%d Presence_Detect=%d ELD_Valid=%d\n", - codec->addr, pin_nid, pd, eldv); + codec->addr, pin_nid, + !!(res & AC_UNSOL_RES_PD), !!(res & AC_UNSOL_RES_ELDV)); pin_idx = pin_nid_to_pin_index(spec, pin_nid); if (pin_idx < 0) @@ -992,7 +991,7 @@ static void hdmi_present_sense(struct hd if (eld->monitor_present) eld_valid = !!(present & AC_PINSENSE_ELDV); - printk(KERN_INFO + _snd_printd(SND_PR_VERBOSE, "HDMI status: Codec=%d Pin=%d Presence_Detect=%d ELD_Valid=%d\n", codec->addr, pin_nid, eld->monitor_present, eld_valid); --- linux.orig/include/sound/core.h 2012-04-10 16:51:00.757707854 +0800 +++ linux/include/sound/core.h 2012-04-10 16:51:08.105708029 +0800 @@ -325,6 +325,13 @@ void release_and_free_resource(struct re /* --- */ +/* sound printk debug levels */ +enum { + SND_PR_ALWAYS, + SND_PR_DEBUG, + SND_PR_VERBOSE, +}; + #if defined(CONFIG_SND_DEBUG) || defined(CONFIG_SND_VERBOSE_PRINTK) __printf(4, 5) void __snd_printk(unsigned int level, const char *file, int line, @@ -354,6 +361,8 @@ void __snd_printk(unsigned int level, co */ #define snd_printd(fmt, args...) \ __snd_printk(1, __FILE__, __LINE__, fmt, ##args) +#define _snd_printd(level, fmt, args...) \ + __snd_printk(level, __FILE__, __LINE__, fmt, ##args) /** * snd_BUG - give a BUG warning message and stack trace @@ -383,6 +392,7 @@ void __snd_printk(unsigned int level, co #else /* !CONFIG_SND_DEBUG */ #define snd_printd(fmt, args...) do { } while (0) +#define _snd_printd(level, fmt, args...) do { } while (0) #define snd_BUG() do { } while (0) static inline int __snd_bug_on(int cond) {