From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2BDEB1DB139 for ; Wed, 15 Jan 2025 08:15:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736928928; cv=none; b=Gr5oWKN5bwp39N+64HJP8+deQi4be1HEJaN12am0svjm8Go+5KuhQ8bb4GffpRRhg3tLn0f3hqb6pqYWio6aNYyEsOKuSYF5WyCJlRcEmWlGIs9NhoOuQHycmvDiaCn3U3XIYZB5+09NLakoLGVOoFYgbB6AB84tDVq2MgdaauM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736928928; c=relaxed/simple; bh=XFpnBpc8iwLvwlH+vGFx8BMSFSGdxxkO/Vy5YB9vDNM=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=SkX1p34saGfHsO6V30NlmCHLV4mfZ/I+AYSC7Gx2OXeaQWnkfvFVqUvT9kyQXo+0+UIYSshGbXlxDTnCpmOJgh2V+NyH/z5aMAxcPi4tUlkH3gvQCvDEzQ8RTOhdQ6TMDYObNjDIpAbcc3JWhed1tdshaqOp2OISahWbKrq+HeE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=sYstNEf/; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=etpI9xiR; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="sYstNEf/"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="etpI9xiR" From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1736928925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=4SaClx0Ad34mtg+r133Gl0Gu/isNenRm9UPRsEduuII=; b=sYstNEf/fG6QfvAFHzEhJ2v/b7VSYMpWICwhx8qDamL4DT4wZ0mgQmgK0riWlK3LngSJud aP45QNx86f2vDBeWB9nXnucDcom/oIJBQM95bvJmmuY/jvZ2hGC6Gei20/E9W6ShaXqS6o JIFsA8oZTQQTGs7+cWqyUQiGJq6LClnh6e8LQvAGjmO53WHFIRdY87OSf3VsNMLG8W6w+Q PJtPp4dXcH94JJ9Di8txHXBxS7SpNOTS+iK2e4moJrVe6HiIk865Bh2y1wGlBTGJwL+gQ9 eVS1oL0n9hhlTZq4h8cq6Fdc5TfI5yuJsmlBTnSkqbnM5CazX0o1mrfuUflFHQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1736928925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=4SaClx0Ad34mtg+r133Gl0Gu/isNenRm9UPRsEduuII=; b=etpI9xiRyt4WGHiDMPLj3zeuITZDEjzURFCYZM8dBW1GEdcLbbvo72RNc/ezdATrNocHXC jVyvvrJNM+ykoyCg== To: Stefan Eichenberger , andrew@lunn.ch, gregory.clement@bootlin.com, sebastian.hesselbarth@gmail.com, shivamurthy.shastri@linutronix.de, anna-maria@linutronix.de Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1] irqchip/irq-mvebu-icu: Fix irq_set_type for sei and nsr In-Reply-To: <20241217111623.92625-1-eichest@gmail.com> References: <20241217111623.92625-1-eichest@gmail.com> Date: Wed, 15 Jan 2025 09:15:24 +0100 Message-ID: <87frlkcx2b.ffs@tglx> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain On Tue, Dec 17 2024 at 12:15, Stefan Eichenberger wrote: > A regression was introduced in commit d929e4db22b6 > ("irqchip/irq-mvebu-icu: Prepare for real per device MSI") that causes > the Armada thermal driver to fail during probe with the following error: > genirq: Setting trigger mode 4 for irq 85 failed (irq_chip_set_type_parent+0x0/0x34) > armada_thermal f2400000.system-controller:thermal-sensor@70: Cannot request threaded IRQ 85 > armada_thermal f2400000.system-controller:thermal-sensor@70: probe with driver armada_thermal failed with error -22 > > The issue occurs because irq_set_type is assigned to > irq_chip_set_type_parent, but the parent IRQ chip does not implement the > irq_set_type operation. This causes the trigger mode configuration to > fail. > > This patch resolves the issue by removing the irq_set_type assignment. > With no irq_set_type, __irq_set_trigger safely skips the trigger > configuration, restoring functionality to the thermal driver. I'm not convinced that this is correct. The original code had irq_chip_set_type_parent() for the NSR/SEI chips too and all what d929e4db22b6 does is to convert those chips over to the new platform MSI mechanism. Here are the original chips: static struct irq_chip mvebu_icu_nsr_chip = { .name = "ICU-NSR", ... .irq_set_type = irq_chip_set_type_parent, ... }; static struct irq_chip mvebu_icu_sei_chip = { .name = "ICU-SEI", ... .irq_set_type = irq_chip_set_type_parent, ... }; And looking at the potential platform MSI providers for MVEBU, then it turns out that GICP and SEI both have the irq_set_type() callback populated, though ODMI has not. So either this has never worked or there is something else fishy. Can you please enable CONFIG_GENERIC_IRQ_DEBUGFS, build/boot a 6.10 kernel and provide the output of cat /sys/kernel/debug/irq/irq/$N where $N is the interrupt number of the thermal sensor. Then provide the same information for a current kernel with your patch applied. Thanks, tglx