From mboxrd@z Thu Jan 1 00:00:00 1970 From: Taichi Kageyama Subject: Re: [PATCH 2/2] serial: 8250: Allow to skip autoconfig_irq() for a console Date: Thu, 16 Jul 2015 09:58:26 +0000 Message-ID: <55A78042.2090408@cp.jp.nec.com> References: <55717224.9060104@cp.jp.nec.com> <557173EC.5000307@cp.jp.nec.com> <559D0FCC.5040107@hurleysoftware.com> <559D1D39.9070405@redhat.com> <559D2AE8.8080603@hurleysoftware.com> <559D2CFB.1060507@redhat.com> <559E075F.8040800@cp.jp.nec.com> <55A05F56.90305@hurleysoftware.com> <55A462D1.3080709@cp.jp.nec.com> <55A56313.4050703@hurleysoftware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <55A56313.4050703@hurleysoftware.com> Content-Language: ja-JP Content-ID: <837A9B056F503B4284FB4272B4948570@gisp.nec.co.jp> Sender: linux-kernel-owner@vger.kernel.org To: Peter Hurley , Prarit Bhargava Cc: "gregkh@linuxfoundation.org" , "linux-serial@vger.kernel.org" , "jslaby@suse.cz" , "linux-kernel@vger.kernel.org" , Naoya Horiguchi List-Id: linux-serial@vger.kernel.org SGkgUGV0ZXIsDQoNCk9uIDIwMTUvMDcvMTUgNDoyOSwgUGV0ZXIgSHVybGV5IHdyb3RlOg0KPiBP biAwNy8xMy8yMDE1IDA5OjE2IFBNLCBUYWljaGkgS2FnZXlhbWEgd3JvdGU6DQo+PiBPbiAyMDE1 LzA3LzExIDk6MTIsIFBldGVyIEh1cmxleSB3cm90ZToNCj4+PiBPbiAwNy8wOS8yMDE1IDAxOjMy IEFNLCBUYWljaGkgS2FnZXlhbWEgd3JvdGU6DQo+Pj4+IE9uIDIwMTUvMDcvMDggMjM6MDAsIFBy YXJpdCBCaGFyZ2F2YSB3cm90ZToNCj4+Pj4+IE9uIDA3LzA4LzIwMTUgMDk6NTEgQU0sIFBldGVy IEh1cmxleSB3cm90ZToNCj4+Pj4+PiBPbiAwNy8wOC8yMDE1IDA4OjUzIEFNLCBQcmFyaXQgQmhh cmdhdmEgd3JvdGU6DQo+Pj4+Pj4+IE9uIDA3LzA4LzIwMTUgMDc6NTUgQU0sIFBldGVyIEh1cmxl eSB3cm90ZToNCj4+Pj4+Pj4+IE9uIDA2LzA1LzIwMTUgMDY6MDMgQU0sIFRhaWNoaSBLYWdleWFt YSB3cm90ZToNCj4+Pj4+Pj4+PiBUaGlzIHBhdGNoIHByb3ZpZGVzIGEgbmV3IHBhcmFtZXRlciBh cyBhIHdvcmthcm91bmQgb2YgdGhlIGZvbGxvd2luZw0KPj4+Pj4+Pj4+IHByb2JsZW0uIEl0IGFs bG93cyB1cyB0byBza2lwIGF1dG9jb25maWdfaXJxKCkgYW5kIHRvIHVzZSBhIHdlbGwta25vd24g aXJxDQo+Pj4+Pj4+Pj4gbnVtYmVyIGZvciBhIGNvbnNvbGUgZXZlbiBpZiBDT05GSUdfU0VSSUFM XzgyNTBfREVURUNUX0lSUSBpcyBkZWZpbmVkLg0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4gVGhlcmUn cmUgY2FzZXMgd2hlcmUgYXV0b2NvbmZpZ19pcnEoKSBmYWlscyBkdXJpbmcgYm9vdC4NCj4+Pj4+ Pj4+PiBJbiB0aGVzZSBjYXNlcywgdGhlIGNvbnNvbGUgZG9lc24ndCB3b3JrIGluIGludGVycnVw dCBtb2RlLA0KPj4+Pj4+Pj4+IHRoZSBtb2RlIGNhbm5vdCBiZSBjaGFuZ2VkIGFueW1vcmUsIGFu ZCAiaW5wdXQgb3ZlcnJ1biINCj4+Pj4+Pj4+PiAod2hpY2ggY2FuIG1ha2Ugb3BlcmF0aW9uIG1p c3Rha2VzKSBoYXBwZW5zIGVhc2lseS4NCj4+Pj4+Pj4+PiBUaGlzIHByb2JsZW0gaGFwcGVucyB3 aXRoIGhpZ2ggcmF0ZSBldmVyeSBib290IG9uY2UgaXQgb2NjdXJzDQo+Pj4+Pj4+Pj4gYmVjYXVz ZSB0aGUgYm9vdCBzZXF1ZW5jZSBpcyBhbHdheXMgYWxtb3N0IHNhbWUuDQo+Pj4+Pj4+Pj4NCj4+ Pj4+Pj4+PiBhdXRvY29uZmlnX2lycSgpIGFzc3VtZXMgdGhhdCBhIENQVSBjYW4gaGFuZGxlIGFu IGludGVycnVwdCBmcm9tIGEgc2VyaWFsDQo+Pj4+Pj4+Pj4gZHVyaW5nIHRoZSB3YWl0aW5nIHRp bWUsIGJ1dCB0aGVyZSdyZSBzb21lIGNhc2VzIHdoZXJlIHRoZSBDUFUgY2Fubm90DQo+Pj4+Pj4+ Pj4gaGFuZGxlIHRoZSBpbnRlcnJ1cHQgZm9yIGxvbmdlciB0aGFuIHRoZSB0aW1lLiBJdCBjb21w bGV0ZWx5IGRlcGVuZHMgb24NCj4+Pj4+Pj4+PiBob3cgb3RoZXIgZnVuY3Rpb25zIHdvcmsgb24g dGhlIENQVS4gSWRlYWxseSwgYXV0b2NvbmZpZ19pcnEoKSBzaG91bGQgYmUNCj4+Pj4+Pj4+PiBm aXhlZA0KPj4+Pj4+Pj4NCj4+Pj4NCj4+Pj4gVGhhbmsgeW91IGZvciB5b3VyIGNvbW1lbnRzLg0K Pj4+Pg0KPj4+Pj4+Pj4gSXQgY29tcGxldGVseSBkZXBlbmRzIG9uIGhvdyBsb25nIHNvbWUgb3Ro ZXIgZHJpdmVyIGhhcyBpbnRlcnJ1cHRzIGRpc2FibGVkLA0KPj4+Pg0KPj4+PiBBZ3JlZS4NCj4+ Pj4NCj4+Pj4+Pj4+IHdoaWNoIGlzIGEgcHJvYmxlbSB0aGF0IG5lZWRzIGZpeGVkIF9pbiB0aGF0 IGRyaXZlcl8uIGF1dG9jb25maWdfaXJxKCkgZG9lcyBub3QNCj4+Pj4+Pj4+IG5lZWQgZml4aW5n Lg0KPj4+Pg0KPj4+PiBQZXRlciwgaWRlYWxseSwgeW91J3JlIHJpZ2h0Lg0KPj4+PiBIb3dldmVy LCB3ZSBjYW5ub3QgYXNzdW1lIGhvdyBsb25nIG90aGVyIGRyaXZlcnMgZGlzYWJsZSBpbnRlcnJ1 cHRzLg0KPj4+PiBUaGF0J3Mgd2h5IEkgaW50cm9kdWNlZCB0aGlzIHdvcmthcm91bmQuDQo+Pj4+ IEluIG15IG9waW5pb24sIGEgY29uc29sZSBpcyBpbXBvcnRhbnQgYW5kIGFsd2F5cyBzaG91bGQg YmUgYXZhaWxhYmxlDQo+Pj4+IGV2ZW4gaWYgb3RoZXIgZHJpdmVycyBoYXZlIGEgYmFkIGJlaGF2 aW9yLg0KPj4+DQo+Pj4gSSBoYXZlIG5vIHByb2JsZW0gd2l0aCB3YW50aW5nIHRvIG1ha2UgdGhl IGNvbnNvbGUgbW9yZSByb2J1c3QsIGJ1dA0KPj4+IHJhdGhlciB3aXRoIHRoZSBoYWNreSB3YXkg dGhpcyBpcyBiZWluZyBkb25lLg0KPj4NCj4+IEhpIFBldGVyLA0KPj4NCj4+IFRoYW5rIHlvdSBm b3IgeW91ciBhZHZpY2UuDQo+PiBJZiB0aGVyZSBpcyBvdGhlciB3YXkgdG8gZml4IHRoaXMgcHJv YmxlbSBzaW1wbHksDQo+PiBJIGFsc28gdGhpbmsgaXQncyBiZXR0ZXIgdGhhbiB0aGUgZGlydHkg aGFjay4NCj4NCj4gV2hpbGUgbW9kdWxlIHBhcmFtZXRlcnMgc2VlbSBsaWtlICJzaW1wbGUiIHNv bHV0aW9ucyBhdCB0aGUgdGltZSwNCj4gdGhleSBhZGQgcmVhbCBtYWludGVuYW5jZSBidXJkZW4s IGJlY2F1c2UgdGhleSBlc3RhYmxpc2ggdXNlcnNwYWNlDQo+IHJlcXVpcmVtZW50cyB0aGF0IG11 c3QgYmUgcHJlc2VydmVkIGZvcmV2ZXIgdG8gYXZvaWQgYnJlYWthZ2UuDQoNClllYWgsIEkgYWdy ZWUgd2l0aCB5b3UuDQoNCj4+PiBCZXR0ZXIgc29sdXRpb25zOg0KPj4+IDEuIEZpeCBhdXRvcHJv YmluZyB0byBmb3JjZSBpcnEgYWZmaW5pdHkgdG8gYXV0b3Byb2JpbmcgY3B1DQo+Pg0KPj4gSSBj b3VsZG4ndCBtYWtlIHN1cmUgd2hpY2ggQ1BVIGhhbmRsZWQgc2VyaWFsIGludGVycnVwdA0KPj4g b24gYWxsIHBsYXRmb3JtcyBiZWZvcmUgaXJxIyB3YXMgbm90IGtub3duLg0KPj4gRG8geW91IGtu b3cgdGhlIHdheSB0byBkZXRlY3Qgd2hpY2ggQ1BVIGlzIHVzZWQgZm9yIGNvbnNvbGUgc2VyaWFs Pw0KPg0KPg0KPiBUaGUgYmFzaWMgaWRlYSB3b3VsZCBiZToNCj4gMS4gZGlzYWJsZSBwcmVlbXB0 aW9uDQo+IDIuIGZvciBlYWNoIGlycSBkZXNjcmlwdG9yIHNlbGVjdGVkIGZvciBhdXRvcHJvYmlu Zywgc2V0IHRoZSBpcnENCj4gICAgIGFmZmluaXR5IHRvIHRoZSBjdXJyZW50IHByb2Nlc3Nvci4N Cj4gMy4gcHJvYmUgdGhlIGkvbyBwb3J0IGFzIGlzIGRvbmUgbm93DQo+IDQuIHN0b3AgcHJvYmlu Zw0KPiA1LiByZS1lbmFibGUgcHJlZW1wdGlvbi4NCg0KVGhhbmtzLCBJIHRoaW5rIGl0IHdvcmtz Lg0KDQo+IFdpdGggdGhpcyBzb2x1dGlvbiwgeW91ciBwYXRjaCAxLzIgd291bGRuJ3QgYmUgcmVx dWlyZWQgZWl0aGVyDQo+IGJlY2F1c2UgdGhlIHdvcmtlciB0aHJlYWQgdGhhdCBkaXNhYmxlZCBp bnRlcnJ1cHRzIHdvdWxkbid0IGJlDQo+IHJ1bm5pbmcgb24gdGhlIGNwdSBkZXRlY3RpbmcgdGhl IHRyaWdnZXJlZCBpcnEocykuDQoNCkkgc3RpbGwgbmVlZCBteSBwYXRjaCAxLzIgd2hpY2ggZml4 ZXMgYWxzbyBvdGhlciBjYXNlcyAoc2VlIGNhc2UyICYgMykuDQpJIHRoaW5rIGJvdGggcG9ydC0+ bG9jayBhbmQgY29uc29sZV9sb2NrIGFyZSByZXF1aXJlZCBpbiB5b3VyIHNvbHV0aW9uLg0KdG8g YXZvaWQgZGVhZGxvY2sgYmVjYXVzZSBwcmludGsoKSBjYW4gYmUgY2FsbGVkIG9uIGV2ZXJ5IGNv bnRleHQuDQoNCj4gSSB3b3VsZCBpbWFnaW5lIG1vc3Qgb3IgYWxsIG9mIHRoaXMgd291bGQgYmUg ZG9uZSBpbg0KPiBwcm9iZV9pcnFfb24oKSwgcG9zc2libHkgcmVmYWN0b3JlZCB0byBwZXJmb3Jt IHRoZSBwcmVlbXB0aW9uDQo+IGRpc2FibGUgYW5kIGlycSBhZmZpbml0eS4NCg0KSSB0aGluayBp bnRyb2R1Y2luZyBuZXcgZnVuY3Rpb24gbGlrZSAicHJvYmVfaXJxX3NldF9hZmZpbml0eSgpIiBp cyBiZXR0ZXINCnRoYW4gbW9kaWZ5aW5nIHByb2JlX2lycV9vbigpLiBJIGNhbm5vdCB0ZXN0IGFs bCBsZWdhY3kgZGV2aWNlcyBhbmQNCkkgZG9uJ3QgaGF2ZSBhbnkgcmVhc29uIHRvIGJyZWFrIHRo ZSBjb2RlIHdoaWNoIHdvcmtzIGZvciBvdGhlciBkZXZpY2VzLg0KDQo+PiBUaGUgd2F5IGlzIHNh ZmUgZm9yIGFsbCBwbGF0Zm9ybXM/DQo+DQo+IFBsZWFzZSB1bmRlcnN0YW5kIHRob3VnaCwgYXV0 b3Byb2JpbmcgaXMgbm90IHNhZmUsIHBlcmlvZC4NCj4gRXZlbiBzYXlzIHNvIGluIEtjb25maWcu DQoNCk9LLCBJJ2xsIHRyeSB0byBjcmVhdGUgbmV3IHBhdGNoIHdoaWNoIG1ha2VzIGF1dG9wcm9i aW5nIHNhZmVyIGFzIHBvc3NpYmxlLg0KTmV3IHBhdGNoIGlzIGdvaW5nIHRvIGJlIGxpa2UgYmVs b3cuDQogIDEuIGNvbnNvbGUgYW5kIHBvcnQgbG9jaw0KICAyLiBwcm9iZV9pcnFfb24oKQ0KICAz LiBwcm9iZV9pcnFfc2V0X2FmZmluaXR5KCZjcHVtYXNrKQ0KICA0LiBwcm9iZV9pcnFfb2ZmKCkN CiAgNS4gcG9ydCBhbmQgY29uc29sZSB1bmxvY2sNCg0KSSB0aGluayB3ZSBkb24ndCBoYXZlIHRv IGNhcmUgc2F2aW5nIG9yaWdpbmFsIGFmZmluaXR5IHZhbHVlIGFuZCByZXN0b3JlIGl0Lg0KUHJv YmFibHkgc2VyaWFsODI1MF9zdGFydHVwLT4uLi4gc2V0dXBfYWZmaW5pdHkoKSByZXNldHMgaXJx IGFmZmluaXR5DQphcyBkZWZhdWx0IGV2ZXJ5IGFmdGVyIGF1dG9jb25maWdfaXJxKCkgaXMgY2Fs bGVkLg0KDQo+Pj4gMi4gRml4IGhvdyB0aGUgODI1MCBkcml2ZXIgYmVoYXZlcyB3aXRoIG5vIGly cQ0KPj4NCj4+IFRoZSBjb25zb2xlIHdvcmtzIHdpdGggcG9sbGluZy1tb2RlIGlmIGlycT09MC4N Cj4+IEkgdGhpbmsgdGhpcyBiZWhhdmlvciBzaG91bGQgbm90IGJlIGNoYW5nZWQuDQo+DQo+IFNv IGFub3RoZXIgc29sdXRpb24gd291bGQgYmUgdG8gdXNlIHNldHNlcmlhbCB0byBzZXQgdGhlIGly cSBkdXJpbmcNCj4gYm9vdCwgcmlnaHQ/DQoNClJpZ2h0LCBpZiBpdCB3b3Jrcy4gVXNlcnMgaGF2 ZSB0byBraWNrIHNldHNlcmlhbCBiZWZvcmUgc29tZSBwcm9ncmFtcw0Kd2hpY2ggb3BlbnMgdGhl IGNvbnNvbGUgYW5kIG1ha2Ugc3VyZSBpdHMgaXJxIyBpcyB2YWxpZC4NCg0KDQpUaGFua3MsDQpU YWljaGkNCg0KDQo+Pj4gMy4gRml4IHByaW50ayBsb2NraW5nIHRvIGJlIG1vcmUgZ3JhbnVsYXIg KHRoaXMgbmVlZHMgZG9pbmcgYW55d2F5KQ0KPj4+IDQuIEFkZCBleGNsdXNpdmUgcG9ydCBtb2Rl IGZvciBjb25zb2xlDQo+Pg0KPj4gVGhlc2UgdHdvIGFyZSBzb2x1dGlvbnMgb25seSBmb3IgdGhl IHByb2JsZW0gd2hpY2ggaXMgY2F1c2VkIGJ5IHByaW50ay4NCj4+IEkgdGhpbmsgbXkgW3BhdGNo IDEvMl0gaXMgZW5vdWdoIHRvIHJlc29sdmUgdGhlIGNhc2UgYXQgdGhpcyB0aW1lLg0KPj4NCj4+ PiBQbHVzIGl0IHdvdWxkbid0IGh1cnQgdG8gYWRkIHNvbWUgZGlhZ25vc3RpY3MgdG8gYXV0b21h dGUgZGlzY292ZXJ5DQo+Pj4gb2YgbWlzYmVoYXZpbmcgZHJpdmVycyB0aGF0IGJyZWFrIGF1dG9w cm9iaW5nLg0KPj4NCj4+IFByb2JhYmx5IHdlIGNhbiBhZGQgcmV0cnkgY29kZSwgYnV0IGl0IGNh bm5vdCBmaXggdGhpcyBwcm9ibGVtIGNvbXBsZXRlbHkuDQo+PiBBbmQgdGhlIHJldHJ5IGNhbiBi ZSBqdXN0IHdhc3RlIHRpbWUgZm9yIHNvbWUgZGV2aWNlcyBiZWNhdXNlIHRoZSBkcml2ZXINCj4+ IGNhbm5vdCByZWNvZ25pemUgd2hldGhlciBpbnRlcnJ1cHQgaXMgZGlzYWJsZWQgdGVtcG9yYXJp bHkgb3INCj4+IGludGVycnVwdCBtb2RlIGlzIG5vdCBhdmFpbGFibGUgYXMgbG9uZyBhcyB1c2lu ZyBwcm9iZV9pcnFfb24vb2ZmKCkuDQo+Pg0KPj4gSSB0aG91Z2ggb3RoZXIgd29ya2Fyb3VuZHMs IGJ1dCB0aGV5IHdlcmUgYWxzbyBub3QgZ29vZCBpZGVhLg0KPj4gICAgKyBDbG9zZSBhbGwgY29u c29sZSBzZXNzaW9ucyB0byBraWNrIGF1dG9jb25maWcgYWdhaW4NCj4+ICAgICAgICBDb25zb2xl IGlzIGFsd2F5cyBvcGVuZWQgYnkgZ2V0dHkgb3Igb3RoZXIgcHJvZ3JhbXMgYWZ0ZXIgYm9vdC4N Cj4+ICAgICAgICBJdCdzIGhhcmQgdG8gY2xvc2UgdGhlbS4gSSB0aGluayB0aGUgZHJpdmVyIHNo b3VsZCBiZSBmaXhlZC4NCj4+ICAgICsgQ2FsbCBhdXRvY29uZmlnIGJ5IGZvcmNlIGV2ZW4gaWYg Y29uc29sZSBpcyBvcGVuZWQuDQo+PiAgICAgICAgSXQgY2FuIGJlIGNhbGxlZCBmb3JjaWJseSBp ZiB1YXJ0X2RvX2F1dG9jb25maWcoKSBpcyBjaGFuZ2VkLA0KPj4gICAgICAgIGJ1dCBJIHRoaW5r IGNvbnNvbGUgc2hvdWxkIG5vdCBiZSB1c2VkIGJ5IHVzZXJsYW5kIGR1cmluZyBhdXRvY29uZmln DQo+PiAgICAgICAgYWx0aG91Z2ggaXQgaXMgYWx3YXlzIHVzZWQgYnkgcHJpbnRrLi4uDQo+DQo+ IFllYWgsIG5vbmUgb2YgdGhlc2Ugd29ya2Fyb3VuZHMgc2VlbSBhcHByb3ByaWF0ZS4NCj4NCj4g UmVnYXJkcywNCj4gUGV0ZXIgSHVybGV5DQo+DQo+DQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754960AbbGPKAg (ORCPT ); Thu, 16 Jul 2015 06:00:36 -0400 Received: from TYO202.gate.nec.co.jp ([210.143.35.52]:37623 "EHLO tyo202.gate.nec.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753929AbbGPKAe (ORCPT ); Thu, 16 Jul 2015 06:00:34 -0400 From: Taichi Kageyama To: Peter Hurley , Prarit Bhargava CC: "gregkh@linuxfoundation.org" , "linux-serial@vger.kernel.org" , "jslaby@suse.cz" , "linux-kernel@vger.kernel.org" , Naoya Horiguchi Subject: Re: [PATCH 2/2] serial: 8250: Allow to skip autoconfig_irq() for a console Thread-Topic: [PATCH 2/2] serial: 8250: Allow to skip autoconfig_irq() for a console Thread-Index: AQHQn3bbstCqjnq7WEa1Abzn0VnSqJ3RFEoAgAAQAoCAABBPAIAAAnmAgAEEWICAAss3AIAEyNqAgAExfICAAoUkAA== Date: Thu, 16 Jul 2015 09:58:26 +0000 Message-ID: <55A78042.2090408@cp.jp.nec.com> References: <55717224.9060104@cp.jp.nec.com> <557173EC.5000307@cp.jp.nec.com> <559D0FCC.5040107@hurleysoftware.com> <559D1D39.9070405@redhat.com> <559D2AE8.8080603@hurleysoftware.com> <559D2CFB.1060507@redhat.com> <559E075F.8040800@cp.jp.nec.com> <55A05F56.90305@hurleysoftware.com> <55A462D1.3080709@cp.jp.nec.com> <55A56313.4050703@hurleysoftware.com> In-Reply-To: <55A56313.4050703@hurleysoftware.com> Accept-Language: en-US, ja-JP Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.34.108.73] Content-Type: text/plain; charset="utf-8" Content-ID: <837A9B056F503B4284FB4272B4948570@gisp.nec.co.jp> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id t6GA0glb009183 Hi Peter, On 2015/07/15 4:29, Peter Hurley wrote: > On 07/13/2015 09:16 PM, Taichi Kageyama wrote: >> On 2015/07/11 9:12, Peter Hurley wrote: >>> On 07/09/2015 01:32 AM, Taichi Kageyama wrote: >>>> On 2015/07/08 23:00, Prarit Bhargava wrote: >>>>> On 07/08/2015 09:51 AM, Peter Hurley wrote: >>>>>> On 07/08/2015 08:53 AM, Prarit Bhargava wrote: >>>>>>> On 07/08/2015 07:55 AM, Peter Hurley wrote: >>>>>>>> On 06/05/2015 06:03 AM, Taichi Kageyama wrote: >>>>>>>>> This patch provides a new parameter as a workaround of the following >>>>>>>>> problem. It allows us to skip autoconfig_irq() and to use a well-known irq >>>>>>>>> number for a console even if CONFIG_SERIAL_8250_DETECT_IRQ is defined. >>>>>>>>> >>>>>>>>> There're cases where autoconfig_irq() fails during boot. >>>>>>>>> In these cases, the console doesn't work in interrupt mode, >>>>>>>>> the mode cannot be changed anymore, and "input overrun" >>>>>>>>> (which can make operation mistakes) happens easily. >>>>>>>>> This problem happens with high rate every boot once it occurs >>>>>>>>> because the boot sequence is always almost same. >>>>>>>>> >>>>>>>>> autoconfig_irq() assumes that a CPU can handle an interrupt from a serial >>>>>>>>> during the waiting time, but there're some cases where the CPU cannot >>>>>>>>> handle the interrupt for longer than the time. It completely depends on >>>>>>>>> how other functions work on the CPU. Ideally, autoconfig_irq() should be >>>>>>>>> fixed >>>>>>>> >>>> >>>> Thank you for your comments. >>>> >>>>>>>> It completely depends on how long some other driver has interrupts disabled, >>>> >>>> Agree. >>>> >>>>>>>> which is a problem that needs fixed _in that driver_. autoconfig_irq() does not >>>>>>>> need fixing. >>>> >>>> Peter, ideally, you're right. >>>> However, we cannot assume how long other drivers disable interrupts. >>>> That's why I introduced this workaround. >>>> In my opinion, a console is important and always should be available >>>> even if other drivers have a bad behavior. >>> >>> I have no problem with wanting to make the console more robust, but >>> rather with the hacky way this is being done. >> >> Hi Peter, >> >> Thank you for your advice. >> If there is other way to fix this problem simply, >> I also think it's better than the dirty hack. > > While module parameters seem like "simple" solutions at the time, > they add real maintenance burden, because they establish userspace > requirements that must be preserved forever to avoid breakage. Yeah, I agree with you. >>> Better solutions: >>> 1. Fix autoprobing to force irq affinity to autoprobing cpu >> >> I couldn't make sure which CPU handled serial interrupt >> on all platforms before irq# was not known. >> Do you know the way to detect which CPU is used for console serial? > > > The basic idea would be: > 1. disable preemption > 2. for each irq descriptor selected for autoprobing, set the irq > affinity to the current processor. > 3. probe the i/o port as is done now > 4. stop probing > 5. re-enable preemption. Thanks, I think it works. > With this solution, your patch 1/2 wouldn't be required either > because the worker thread that disabled interrupts wouldn't be > running on the cpu detecting the triggered irq(s). I still need my patch 1/2 which fixes also other cases (see case2 & 3). I think both port->lock and console_lock are required in your solution. to avoid deadlock because printk() can be called on every context. > I would imagine most or all of this would be done in > probe_irq_on(), possibly refactored to perform the preemption > disable and irq affinity. I think introducing new function like "probe_irq_set_affinity()" is better than modifying probe_irq_on(). I cannot test all legacy devices and I don't have any reason to break the code which works for other devices. >> The way is safe for all platforms? > > Please understand though, autoprobing is not safe, period. > Even says so in Kconfig. OK, I'll try to create new patch which makes autoprobing safer as possible. New patch is going to be like below. 1. console and port lock 2. probe_irq_on() 3. probe_irq_set_affinity(&cpumask) 4. probe_irq_off() 5. port and console unlock I think we don't have to care saving original affinity value and restore it. Probably serial8250_startup->... setup_affinity() resets irq affinity as default every after autoconfig_irq() is called. >>> 2. Fix how the 8250 driver behaves with no irq >> >> The console works with polling-mode if irq==0. >> I think this behavior should not be changed. > > So another solution would be to use setserial to set the irq during > boot, right? Right, if it works. Users have to kick setserial before some programs which opens the console and make sure its irq# is valid. Thanks, Taichi >>> 3. Fix printk locking to be more granular (this needs doing anyway) >>> 4. Add exclusive port mode for console >> >> These two are solutions only for the problem which is caused by printk. >> I think my [patch 1/2] is enough to resolve the case at this time. >> >>> Plus it wouldn't hurt to add some diagnostics to automate discovery >>> of misbehaving drivers that break autoprobing. >> >> Probably we can add retry code, but it cannot fix this problem completely. >> And the retry can be just waste time for some devices because the driver >> cannot recognize whether interrupt is disabled temporarily or >> interrupt mode is not available as long as using probe_irq_on/off(). >> >> I though other workarounds, but they were also not good idea. >> + Close all console sessions to kick autoconfig again >> Console is always opened by getty or other programs after boot. >> It's hard to close them. I think the driver should be fixed. >> + Call autoconfig by force even if console is opened. >> It can be called forcibly if uart_do_autoconfig() is changed, >> but I think console should not be used by userland during autoconfig >> although it is always used by printk... > > Yeah, none of these workarounds seem appropriate. > > Regards, > Peter Hurley > > {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I