From mboxrd@z Thu Jan 1 00:00:00 1970 From: Petr Mladek Date: Wed, 02 Jan 2019 16:05:36 +0000 Subject: Re: [PATCH v3] fbcon: Silence fbcon logo on 'quiet' boots Message-Id: <20190102160536.h46ehoymo4sh6apz@pathway.suse.cz> List-Id: References: <20181030154419.2889-1-prarit@redhat.com> <3de54c0d-3e9b-769f-5cc6-e69dbb399426@samsung.com> In-Reply-To: <3de54c0d-3e9b-769f-5cc6-e69dbb399426@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Bartlomiej Zolnierkiewicz Cc: Prarit Bhargava , Yisheng Xie , linux-fbdev@vger.kernel.org, Kees Cook , Sergey Senozhatsky , Daniel Vetter , Steven Rostedt , Marko Myllynen , Hans de Goede , dri-devel@lists.freedesktop.org, Thierry Reding On Thu 2018-12-20 17:31:57, Bartlomiej Zolnierkiewicz wrote: > > [ added Petr & Sergey to Cc: ] > > Hi, > > On 10/30/2018 04:44 PM, Prarit Bhargava wrote: > > On text-based systems the 'quiet' boot option will show printk levels > > higher than CONSOLE_LOGLEVEL_QUIET. The displaying of the Tux logo > > during boot can cause some consoles to lose display data and as a result > > confuse the end user. > > > > Do not display the Tux logo on systems that are in 'quiet' boot. > > > > v2: It helps to commit all my changes before sending them. Remove extra > > bracket. > > v3: buildbot error fix: fbcon can be built as part of a module so export console_printk > > > > Signed-off-by: Prarit Bhargava > > Cc: Hans de Goede > > Cc: Marko Myllynen > > Cc: Steven Rostedt (VMware) > > Cc: Bartlomiej Zolnierkiewicz > > Cc: Kees Cook > > Cc: Daniel Vetter > > Cc: Thierry Reding > > Cc: Yisheng Xie > > Cc: dri-devel@lists.freedesktop.org > > --- > > drivers/video/fbdev/core/fbcon.c | 13 ++++++++----- > > kernel/printk/printk.c | 1 + > > 2 files changed, 9 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c > > index 8958ccc8b1ac..08e092eaf45c 100644 > > --- a/drivers/video/fbdev/core/fbcon.c > > +++ b/drivers/video/fbdev/core/fbcon.c > > @@ -649,11 +649,14 @@ static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info, > > kfree(save); > > } > > > > + if (logo_shown = FBCON_LOGO_DONTSHOW) > > + return; > > + > > if (logo_lines > vc->vc_bottom) { > > logo_shown = FBCON_LOGO_CANSHOW; > > printk(KERN_INFO > > "fbcon_init: disable boot-logo (boot-logo bigger than screen).\n"); > > - } else if (logo_shown != FBCON_LOGO_DONTSHOW) { > > + } else { > > logo_shown = FBCON_LOGO_DRAW; > > vc->vc_top = logo_lines; > > } > > @@ -1051,7 +1054,7 @@ static void fbcon_init(struct vc_data *vc, int init) > > struct vc_data **default_mode = vc->vc_display_fg; > > struct vc_data *svc = *default_mode; > > struct display *t, *p = &fb_display[vc->vc_num]; > > - int logo = 1, new_rows, new_cols, rows, cols, charcnt = 256; > > + int new_rows, new_cols, rows, cols, charcnt = 256; > > int cap, ret; > > > > if (info_idx = -1 || info = NULL) > > @@ -1059,9 +1062,9 @@ static void fbcon_init(struct vc_data *vc, int init) > > > > cap = info->flags; > > > > - if (vc != svc || logo_shown = FBCON_LOGO_DONTSHOW || > > + if (vc != svc || console_loglevel <= CONSOLE_LOGLEVEL_QUIET || > > (info->fix.type = FB_TYPE_TEXT)) > > - logo = 0; > > + logo_shown = FBCON_LOGO_DONTSHOW; > > "logo" variable removal is an unrelated change which actually > changes the code behavior ("logo_shown" will be now modified > also for "vc != svc" and "info->fix.type = FB_TYPE_TEXT" cases). > > Please either drop it or explain in the patch description why > it is a safe thing to do. Good question! I am not familiar with fbcon code but it seems that there might be more instances and they share the behavior via this variable. Note that console_loglevel might get modified at anytime. What if the first fbcon was initialized with a different loglevel? > > if (var_to_display(p, &info->var, info)) > > return; > > @@ -1176,7 +1179,7 @@ static void fbcon_init(struct vc_data *vc, int init) > > } else > > vc_resize(vc, new_cols, new_rows); > > > > - if (logo) > > + if (logo_shown != FBCON_LOGO_DONTSHOW) > > fbcon_prepare_logo(vc, info, cols, rows, new_cols, new_rows); > > > > if (vc = svc && softback_buf) > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > > index b77150ad1965..391e390feac9 100644 > > --- a/kernel/printk/printk.c > > +++ b/kernel/printk/printk.c > > @@ -66,6 +66,7 @@ int console_printk[4] = { > > CONSOLE_LOGLEVEL_MIN, /* minimum_console_loglevel */ > > CONSOLE_LOGLEVEL_DEFAULT, /* default_console_loglevel */ > > }; > > +EXPORT_SYMBOL(console_printk); > > You need printk Maintainers Ack on it. I am fine with the added export (as a printk maintainer). Best Regards, Petr From mboxrd@z Thu Jan 1 00:00:00 1970 From: Petr Mladek Subject: Re: [PATCH v3] fbcon: Silence fbcon logo on 'quiet' boots Date: Wed, 2 Jan 2019 17:05:36 +0100 Message-ID: <20190102160536.h46ehoymo4sh6apz@pathway.suse.cz> References: <20181030154419.2889-1-prarit@redhat.com> <3de54c0d-3e9b-769f-5cc6-e69dbb399426@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id B41696E828 for ; Wed, 2 Jan 2019 16:05:41 +0000 (UTC) Content-Disposition: inline In-Reply-To: <3de54c0d-3e9b-769f-5cc6-e69dbb399426@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Bartlomiej Zolnierkiewicz Cc: Prarit Bhargava , Yisheng Xie , linux-fbdev@vger.kernel.org, Kees Cook , Sergey Senozhatsky , Daniel Vetter , Steven Rostedt , Marko Myllynen , Hans de Goede , dri-devel@lists.freedesktop.org, Thierry Reding List-Id: dri-devel@lists.freedesktop.org T24gVGh1IDIwMTgtMTItMjAgMTc6MzE6NTcsIEJhcnRsb21pZWogWm9sbmllcmtpZXdpY3ogd3Jv dGU6Cj4gCj4gWyBhZGRlZCBQZXRyICYgU2VyZ2V5IHRvIENjOiBdCj4gCj4gSGksCj4gCj4gT24g MTAvMzAvMjAxOCAwNDo0NCBQTSwgUHJhcml0IEJoYXJnYXZhIHdyb3RlOgo+ID4gT24gdGV4dC1i YXNlZCBzeXN0ZW1zIHRoZSAncXVpZXQnIGJvb3Qgb3B0aW9uIHdpbGwgc2hvdyBwcmludGsgbGV2 ZWxzCj4gPiBoaWdoZXIgdGhhbiBDT05TT0xFX0xPR0xFVkVMX1FVSUVULiAgVGhlIGRpc3BsYXlp bmcgb2YgdGhlIFR1eCBsb2dvCj4gPiBkdXJpbmcgYm9vdCBjYW4gY2F1c2Ugc29tZSBjb25zb2xl cyB0byBsb3NlIGRpc3BsYXkgZGF0YSBhbmQgYXMgYSByZXN1bHQKPiA+IGNvbmZ1c2UgdGhlIGVu ZCB1c2VyLgo+ID4gCj4gPiBEbyBub3QgZGlzcGxheSB0aGUgVHV4IGxvZ28gb24gc3lzdGVtcyB0 aGF0IGFyZSBpbiAncXVpZXQnIGJvb3QuCj4gPiAKPiA+IHYyOiBJdCBoZWxwcyB0byBjb21taXQg YWxsIG15IGNoYW5nZXMgYmVmb3JlIHNlbmRpbmcgdGhlbS4gIFJlbW92ZSBleHRyYQo+ID4gYnJh Y2tldC4KPiA+IHYzOiBidWlsZGJvdCBlcnJvciBmaXg6IGZiY29uIGNhbiBiZSBidWlsdCBhcyBw YXJ0IG9mIGEgbW9kdWxlIHNvIGV4cG9ydCBjb25zb2xlX3ByaW50awo+ID4gCj4gPiBTaWduZWQt b2ZmLWJ5OiBQcmFyaXQgQmhhcmdhdmEgPHByYXJpdEByZWRoYXQuY29tPgo+ID4gQ2M6IEhhbnMg ZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+Cj4gPiBDYzogTWFya28gTXlsbHluZW4gPG15 bGx5bmVuQHJlZGhhdC5jb20+Cj4gPiBDYzogU3RldmVuIFJvc3RlZHQgKFZNd2FyZSkgPHJvc3Rl ZHRAZ29vZG1pcy5vcmc+Cj4gPiBDYzogQmFydGxvbWllaiBab2xuaWVya2lld2ljeiA8Yi56b2xu aWVya2llQHNhbXN1bmcuY29tPgo+ID4gQ2M6IEtlZXMgQ29vayA8a2Vlc2Nvb2tAY2hyb21pdW0u b3JnPgo+ID4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gPiBD YzogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KPiA+IENjOiBZaXNoZW5nIFhp ZSA8eXN4aWVAZm94bWFpbC5jb20+Cj4gPiBDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+ID4gLS0tCj4gPiAgZHJpdmVycy92aWRlby9mYmRldi9jb3JlL2ZiY29uLmMgfCAxMyAr KysrKysrKy0tLS0tCj4gPiAga2VybmVsL3ByaW50ay9wcmludGsuYyAgICAgICAgICAgfCAgMSAr Cj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4g PiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJjb24uYyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvY29yZS9mYmNvbi5jCj4gPiBpbmRleCA4OTU4Y2NjOGIxYWMuLjA4 ZTA5MmVhZjQ1YyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY29yZS9mYmNv bi5jCj4gPiArKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJjb24uYwo+ID4gQEAgLTY0 OSwxMSArNjQ5LDE0IEBAIHN0YXRpYyB2b2lkIGZiY29uX3ByZXBhcmVfbG9nbyhzdHJ1Y3QgdmNf ZGF0YSAqdmMsIHN0cnVjdCBmYl9pbmZvICppbmZvLAo+ID4gIAkJa2ZyZWUoc2F2ZSk7Cj4gPiAg CX0KPiA+ICAKPiA+ICsJaWYgKGxvZ29fc2hvd24gPT0gRkJDT05fTE9HT19ET05UU0hPVykKPiA+ ICsJCXJldHVybjsKPiA+ICsKPiA+ICAJaWYgKGxvZ29fbGluZXMgPiB2Yy0+dmNfYm90dG9tKSB7 Cj4gPiAgCQlsb2dvX3Nob3duID0gRkJDT05fTE9HT19DQU5TSE9XOwo+ID4gIAkJcHJpbnRrKEtF Uk5fSU5GTwo+ID4gIAkJICAgICAgICJmYmNvbl9pbml0OiBkaXNhYmxlIGJvb3QtbG9nbyAoYm9v dC1sb2dvIGJpZ2dlciB0aGFuIHNjcmVlbikuXG4iKTsKPiA+IC0JfSBlbHNlIGlmIChsb2dvX3No b3duICE9IEZCQ09OX0xPR09fRE9OVFNIT1cpIHsKPiA+ICsJfSBlbHNlIHsKPiA+ICAJCWxvZ29f c2hvd24gPSBGQkNPTl9MT0dPX0RSQVc7Cj4gPiAgCQl2Yy0+dmNfdG9wID0gbG9nb19saW5lczsK PiA+ICAJfQo+ID4gQEAgLTEwNTEsNyArMTA1NCw3IEBAIHN0YXRpYyB2b2lkIGZiY29uX2luaXQo c3RydWN0IHZjX2RhdGEgKnZjLCBpbnQgaW5pdCkKPiA+ICAJc3RydWN0IHZjX2RhdGEgKipkZWZh dWx0X21vZGUgPSB2Yy0+dmNfZGlzcGxheV9mZzsKPiA+ICAJc3RydWN0IHZjX2RhdGEgKnN2YyA9 ICpkZWZhdWx0X21vZGU7Cj4gPiAgCXN0cnVjdCBkaXNwbGF5ICp0LCAqcCA9ICZmYl9kaXNwbGF5 W3ZjLT52Y19udW1dOwo+ID4gLQlpbnQgbG9nbyA9IDEsIG5ld19yb3dzLCBuZXdfY29scywgcm93 cywgY29scywgY2hhcmNudCA9IDI1NjsKPiA+ICsJaW50IG5ld19yb3dzLCBuZXdfY29scywgcm93 cywgY29scywgY2hhcmNudCA9IDI1NjsKPiA+ICAJaW50IGNhcCwgcmV0Owo+ID4gIAo+ID4gIAlp ZiAoaW5mb19pZHggPT0gLTEgfHwgaW5mbyA9PSBOVUxMKQo+ID4gQEAgLTEwNTksOSArMTA2Miw5 IEBAIHN0YXRpYyB2b2lkIGZiY29uX2luaXQoc3RydWN0IHZjX2RhdGEgKnZjLCBpbnQgaW5pdCkK PiA+ICAKPiA+ICAJY2FwID0gaW5mby0+ZmxhZ3M7Cj4gPiAgCj4gPiAtCWlmICh2YyAhPSBzdmMg fHwgbG9nb19zaG93biA9PSBGQkNPTl9MT0dPX0RPTlRTSE9XIHx8Cj4gPiArCWlmICh2YyAhPSBz dmMgfHwgY29uc29sZV9sb2dsZXZlbCA8PSBDT05TT0xFX0xPR0xFVkVMX1FVSUVUIHx8Cj4gPiAg CSAgICAoaW5mby0+Zml4LnR5cGUgPT0gRkJfVFlQRV9URVhUKSkKPiA+IC0JCWxvZ28gPSAwOwo+ ID4gKwkJbG9nb19zaG93biA9IEZCQ09OX0xPR09fRE9OVFNIT1c7Cj4gCj4gImxvZ28iIHZhcmlh YmxlIHJlbW92YWwgaXMgYW4gdW5yZWxhdGVkIGNoYW5nZSB3aGljaCBhY3R1YWxseQo+IGNoYW5n ZXMgdGhlIGNvZGUgYmVoYXZpb3IgKCJsb2dvX3Nob3duIiB3aWxsIGJlIG5vdyBtb2RpZmllZAo+ IGFsc28gZm9yICJ2YyAhPSBzdmMiIGFuZCAiaW5mby0+Zml4LnR5cGUgPT0gRkJfVFlQRV9URVhU IiBjYXNlcykuCj4gCj4gUGxlYXNlIGVpdGhlciBkcm9wIGl0IG9yIGV4cGxhaW4gaW4gdGhlIHBh dGNoIGRlc2NyaXB0aW9uIHdoeQo+IGl0IGlzIGEgc2FmZSB0aGluZyB0byBkby4KCkdvb2QgcXVl c3Rpb24hIEkgYW0gbm90IGZhbWlsaWFyIHdpdGggZmJjb24gY29kZSBidXQgaXQgc2VlbXMKdGhh dCB0aGVyZSBtaWdodCBiZSBtb3JlIGluc3RhbmNlcyBhbmQgdGhleSBzaGFyZSB0aGUgYmVoYXZp b3IKdmlhIHRoaXMgdmFyaWFibGUuCgpOb3RlIHRoYXQgY29uc29sZV9sb2dsZXZlbCBtaWdodCBn ZXQgbW9kaWZpZWQgYXQgYW55dGltZS4gV2hhdCBpZgp0aGUgZmlyc3QgZmJjb24gd2FzIGluaXRp YWxpemVkIHdpdGggYSBkaWZmZXJlbnQgbG9nbGV2ZWw/CgoKPiA+ICAJaWYgKHZhcl90b19kaXNw bGF5KHAsICZpbmZvLT52YXIsIGluZm8pKQo+ID4gIAkJcmV0dXJuOwo+ID4gQEAgLTExNzYsNyAr MTE3OSw3IEBAIHN0YXRpYyB2b2lkIGZiY29uX2luaXQoc3RydWN0IHZjX2RhdGEgKnZjLCBpbnQg aW5pdCkKPiA+ICAJfSBlbHNlCj4gPiAgCQl2Y19yZXNpemUodmMsIG5ld19jb2xzLCBuZXdfcm93 cyk7Cj4gPiAgCj4gPiAtCWlmIChsb2dvKQo+ID4gKwlpZiAobG9nb19zaG93biAhPSBGQkNPTl9M T0dPX0RPTlRTSE9XKQo+ID4gIAkJZmJjb25fcHJlcGFyZV9sb2dvKHZjLCBpbmZvLCBjb2xzLCBy b3dzLCBuZXdfY29scywgbmV3X3Jvd3MpOwo+ID4gIAo+ID4gIAlpZiAodmMgPT0gc3ZjICYmIHNv ZnRiYWNrX2J1ZikKPiA+IGRpZmYgLS1naXQgYS9rZXJuZWwvcHJpbnRrL3ByaW50ay5jIGIva2Vy bmVsL3ByaW50ay9wcmludGsuYwo+ID4gaW5kZXggYjc3MTUwYWQxOTY1Li4zOTFlMzkwZmVhYzkg MTAwNjQ0Cj4gPiAtLS0gYS9rZXJuZWwvcHJpbnRrL3ByaW50ay5jCj4gPiArKysgYi9rZXJuZWwv cHJpbnRrL3ByaW50ay5jCj4gPiBAQCAtNjYsNiArNjYsNyBAQCBpbnQgY29uc29sZV9wcmludGtb NF0gPSB7Cj4gPiAgCUNPTlNPTEVfTE9HTEVWRUxfTUlOLAkJLyogbWluaW11bV9jb25zb2xlX2xv Z2xldmVsICovCj4gPiAgCUNPTlNPTEVfTE9HTEVWRUxfREVGQVVMVCwJLyogZGVmYXVsdF9jb25z b2xlX2xvZ2xldmVsICovCj4gPiAgfTsKPiA+ICtFWFBPUlRfU1lNQk9MKGNvbnNvbGVfcHJpbnRr KTsKPiAKPiBZb3UgbmVlZCBwcmludGsgTWFpbnRhaW5lcnMgQWNrIG9uIGl0LgoKSSBhbSBmaW5l IHdpdGggdGhlIGFkZGVkIGV4cG9ydCAoYXMgYSBwcmludGsgbWFpbnRhaW5lcikuCgpCZXN0IFJl Z2FyZHMsClBldHIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==