Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp2341063ybg; Sat, 19 Oct 2019 13:09:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqxtcgXoc+mHVQ5bgD0E3R/d4x9+vsP37sUzTnPQIFs0ZV/iIketNB6r4Bp453qtic41FkBc X-Received: by 2002:a05:6402:514:: with SMTP id m20mr17031902edv.187.1571515779825; Sat, 19 Oct 2019 13:09:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571515779; cv=none; d=google.com; s=arc-20160816; b=daCpg2n3WL1+eF5KULIg/3BPUd9grIjC5pYLpNLerebNfKWW4kzUKuQhIdblXFCpy3 mZ84yYB1Ju3RoQ9285Bx+lhWqoZRCgYC9r3BwdtCKN98aWhGpc5vbwKRPJYfzyadXtCw hJeraiAF35HsAL5AogHZY3uag3pJaujfgITsbulCwYMEqcvxvfk3V5bsy8mpyQviL9UV /LjNmIy0HxI91quh50GIJjTrkKrSOCFYelTGM6aXt2PD9IiUYqA/+MAy0d0o/LuVkHuU deepVVVdyQlVoIksPdIFthHcHv1hGVUTUfC5asDMftNJHVZnNiec1jGtbpySp4wTKKz5 PF9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=OwLZCY9q4xZrkKoIaS0akUjWlAzrWaWi3ydbhXYH4qY=; b=uAI9wByiKfZm5qaqfedAHAOvlimP3jC3teGW6wLg6OjBa+Kp6pW6qA3e2b0qlcqyln i9j37t05KXTXwF5T1Lqsq3NYQy3HYacNXECO9y4lf/zUqZTYRtjPzWibFJTDO2bDFB3S ObI/wrxSzsaAOh60jlC7mlJJNCOmdrWOCcO5HmXDtptuKjAABhGl+Tw6kucPHxpEpCj1 IkQWWjmY8W8GIZIOrFW7Sq5OYf7/veUpERDW93T1kUdquymXCAj96fFli6ElGJVoWEDM jvQa2Wk+3yPxpqFMya6riYyu+xynt025JvR/pQlldBgRB7XLHYDppPQDo3Fu92PzbApE Dk4w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y54si7078716edb.217.2019.10.19.13.09.13; Sat, 19 Oct 2019 13:09:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726146AbfJSUI7 (ORCPT + 99 others); Sat, 19 Oct 2019 16:08:59 -0400 Received: from mout.kundenserver.de ([212.227.126.130]:60727 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726129AbfJSUI7 (ORCPT ); Sat, 19 Oct 2019 16:08:59 -0400 Received: from mail-qt1-f170.google.com ([209.85.160.170]) by mrelayeu.kundenserver.de (mreue011 [212.227.15.129]) with ESMTPSA (Nemesis) id 1MI59b-1iHm2Q3BH5-00F9X2 for ; Sat, 19 Oct 2019 22:08:57 +0200 Received: by mail-qt1-f170.google.com with SMTP id n7so14388286qtb.6 for ; Sat, 19 Oct 2019 13:08:57 -0700 (PDT) X-Gm-Message-State: APjAAAVOABfGDnbdHMyp8gcogyVlYu8czxNhQ34UBeIHyswhYb61ZCRZ iy6pZQ2e5ZkOuqFVtHQge0wBJiRFc5q9WYHgc9w= X-Received: by 2002:a0c:c70a:: with SMTP id w10mr16645869qvi.222.1571515736628; Sat, 19 Oct 2019 13:08:56 -0700 (PDT) MIME-Version: 1.0 References: <20191018163047.1284736-1-arnd@arndb.de> <20191018163047.1284736-2-arnd@arndb.de> <20191019184234.4cdb37a735fe632528880d76@gmail.com> In-Reply-To: <20191019184234.4cdb37a735fe632528880d76@gmail.com> From: Arnd Bergmann Date: Sat, 19 Oct 2019 22:08:40 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 2/6] ARM: ep93xx: enable SPARSE_IRQ To: Alexander Sverdlin Cc: Hubert Feurstein , Hartley Sweeten , "linux-kernel@vger.kernel.org" , Linux ARM , Lukasz Majewski Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:ozB6Ncw7kH0ON3q7hFu7i3qAcGTDD9KA6TIUX9336Vwni9OOdmi gZh+9GP+rTn4PxXCniJa7gu/VSBJN7NLHppEIM5CQP0SZrr/AdpRYWEb/7mTQdlNeBhE26D QWtR74iHI0pjiQS7DTvCTmmTzewcY640UP4Wc9xftzuVqrzHk0I7o9umiUtN3xdu1UHaRwl vaGRNGkmwmhRRg5ql2g9g== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:XBIujc50bc8=:UemfaWDnPlMxCAj7Qs+I36 MKGZoerE27DYU9rSkON1wOgtUPum1aZcB8ge9obevWIwy5StqCO3UTRiwAIQBGrHOcqOokmFO nS4QURq+CMGUBRBGOwFDvy1gAGereheVEgqm4P9fUuNmQDr9JNk6uy5pDDlhXwprdg+OZ2FzM NGOj0scMlAXym+0uSgbRfRzVrRHENCrIvyUl0/qkkNJI+v+b6Si1hQPYodV6xzBaGTpcAUWHh mCocEgMKgYZlAi3r3yB14kT0hBKPFOL+vkc5jZDThMlYZwRKw/K/jGisdQLp31312QkVhucCN 3AfZGZ+H7HmnPkUfK6RFMlO6DQjyWVMWuPZIOzjiY5P6AQALHOUjfFOdOpv8YwhTcXmkcYCPh Uj/rZYtCheJS6qBQWbwxsKpVbu5TwquKVs1euclunJ8nohpS4asJZx7XQ3TeS1vijGLoenYhG W8d98S/YaOKVCtoquBnspt//EH7wcUaaRKNtCcj/u5NLpXV7v9cnG7qwvAhpS1Jv++ek24A5R 3oOOAqzGxNYhaQuqFMNJydfTyQ/59PZEGf2DqbQJP1kWppqt85kSDQOZ3BaA0A9cpY9a8lbk5 N7lXLa7qD/+SDMpsBM6P/8AFoQf0rFnzog+F96OjKrTVe9nkCa+aEbk9wrX7bPMuD71l7ve64 4Rnv8R+j3BeQA/GNKbOJqpWZfE7tXcWV55+3V5/qbl2InSL+86VBb3oaMx9K50nzkzGktywSy QXrAOXx4iKiltUXJW206TJmPHs5Tey9DmhUhjVOPkwCJdgcAVy2rRcgH7nBn45AAuTKxTHMes 5j5+qbSgXq5Dc5t1c06Aa1I9Y+eocnUOl2KVQEo/KPYwjbW4yiVaKR+HwFsFZe4W5F/AVNWpw oNDXVz7mis9qD4K+cgZQ== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Oct 19, 2019 at 6:43 PM Alexander Sverdlin wrote: > On Fri, 18 Oct 2019 18:29:15 +0200 > Arnd Bergmann wrote: > > > Without CONFIG_SPARSE_IRQ, we rely on mach/irqs.h to define NR_IRQS > > globally. Do the minimal conversion by setting .nr_irqs in each > > machine descriptor. > > > > Only the vision_ep9307 machine has extra IRQs for GPIOs, so make > > .nr_irqs the original value there, while using the plain NR_EP93XX_IRQS > > everywhere else. > > This patch causes multiple problems on EDB9302: > > 1. WARNINGs during gpiochip registration, for instance: > > ------------[ cut here ]------------ > WARNING: CPU: 0 PID: 1 at kernel/irq/chip.c:1013 __irq_do_set_handler+0x94/0x188 > CPU: 0 PID: 1 Comm: swapper Tainted: G W 5.4.0-rc3 #1 > Hardware name: Cirrus Logic EDB9302 Evaluation Board > [] (unwind_backtrace) from [] (show_stack+0x10/0x18) > [] (show_stack) from [] (dump_stack+0x18/0x24) > [] (dump_stack) from [] (__warn+0xa4/0xc8) > [] (__warn) from [] (warn_slowpath_fmt+0xa8/0xb8) > [] (warn_slowpath_fmt) from [] (__irq_do_set_handler+0x94/0x188) > [] (__irq_do_set_handler) from [] (irq_set_chained_handler_and_data+0x48/0x7c) > [] (irq_set_chained_handler_and_data) from [] (gpiochip_add_data_with_key+0x6d4/0xabc) > [] (gpiochip_add_data_with_key) from [] (devm_gpiochip_add_data+0x40/0x88) > [] (devm_gpiochip_add_data) from [] (ep93xx_gpio_probe+0x1ac/0x280) > [] (ep93xx_gpio_probe) from [] (platform_drv_probe+0x28/0x6c) > [] (platform_drv_probe) from [] (really_probe+0x1c8/0x340) > [] (really_probe) from [] (bus_for_each_drv+0x58/0xc0) > [] (bus_for_each_drv) from [] (__device_attach+0xb4/0x104) > [] (__device_attach) from [] (bus_probe_device+0x8c/0x94) > [] (bus_probe_device) from [] (device_add+0x3d0/0x59c) > [] (device_add) from [] (platform_device_add+0x100/0x20c) > [] (platform_device_add) from [] (ep93xx_init_devices+0x16c/0x20c) > [] (ep93xx_init_devices) from [] (edb93xx_init_machine+0xc/0x84) > [] (edb93xx_init_machine) from [] (customize_machine+0x20/0x38) > [] (customize_machine) from [] (do_one_initcall+0x78/0x1a0) > [] (do_one_initcall) from [] (kernel_init_freeable+0x104/0x1b8) > [] (kernel_init_freeable) from [] (kernel_init+0x8/0xf8) > [] (kernel_init) from [] (ret_from_fork+0x14/0x24) > Exception stack(0xc4433fb0 to 0xc4433ff8) > 3fa0: 00000000 00000000 00000000 00000000 > 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 > 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 > ---[ end trace 8f9e35e2d6224882 ]--- My first guess would be that this is just the missing irq domain code: diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 38e096e6925f..7c195af6f75d 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -205,6 +205,7 @@ config GPIO_EP93XX depends on ARCH_EP93XX select GPIO_GENERIC select GPIOLIB_IRQCHIP + select IRQ_DOMAIN_HIERARCHY config GPIO_EXAR tristate "Support for GPIO pins on XR17V352/354/358" But most likely there are more changes required to the gpio code. > 2. Broken sound (I2S), this looks like below in the log: > > ep93xx-i2s ep93xx-i2s: Missing dma channel for stream: 0 > CS4271: ASoC: pcm constructor failed: -22 > edb93xx-audio edb93xx-audio: ASoC: can't create pcm CS4271 HiFi :-22 > > And /proc/interrupts has two entries less. Without patch: > > # cat /proc/interrupts > CPU0 > 7: 0 VIC 7 Edge i2s-pcm-out > 8: 0 VIC 8 Edge i2s-pcm-in > 39: 2 VIC 7 Edge eth0 > 51: 7532 VIC 19 Edge ep93xx timer > 52: 144 VIC 20 Edge uart-pl010 > 53: 4 VIC 21 Edge ep93xx-spi > 60: 0 VIC 28 Edge ep93xx-i2s > Err: 0 > > With patch: > > # cat /proc/interrupts > CPU0 > 39: 146 VIC 7 Edge eth0 > 51: 162161 VIC 19 Edge ep93xx timer > 52: 139 VIC 20 Edge uart-pl010 > 53: 4 VIC 21 Edge ep93xx-spi > 60: 0 VIC 28 Edge ep93xx-i2s > Err: 0 I guess that is partial success: some irqs do work ;-) The two interrupts that did not get registered are for the dmaengine driver, and that makes sense given the error message about the DMA not working. No idea how that would be a result of the irq changes though. > I will try to look into I2S problem... Thanks! Arnd