From patchwork Tue Jun 28 03:11:39 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Mendoza-Jonas X-Patchwork-Id: 641319 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3rdrdh0G9Xz9sDb for ; Tue, 28 Jun 2016 13:19:52 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=mendozajonas.com header.i=@mendozajonas.com header.b=CT4Z/nsd; dkim-atps=neutral Received: from ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3rdrdg6LFJzDqsj for ; Tue, 28 Jun 2016 13:19:51 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=mendozajonas.com header.i=@mendozajonas.com header.b=CT4Z/nsd; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from ozlabs.org (ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3rdrc50z3YzDqFD for ; Tue, 28 Jun 2016 13:18:29 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=mendozajonas.com header.i=@mendozajonas.com header.b=CT4Z/nsd; dkim-atps=neutral Received: by ozlabs.org (Postfix) id 3rdrc50RlQz9sDk; Tue, 28 Jun 2016 13:18:29 +1000 (AEST) Delivered-To: linuxppc-dev@ozlabs.org X-Greylist: delayed 326 seconds by postgrey-1.35 at bilbo; Tue, 28 Jun 2016 13:18:28 AEST Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=mendozajonas.com header.i=@mendozajonas.com header.b=CT4Z/nsd; dkim-atps=neutral Received: from mendozajonas.com (mendozajonas.com [188.166.185.233]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3rdrc46BD4z9sDb for ; Tue, 28 Jun 2016 13:18:28 +1000 (AEST) Received: from skellige.ozlabs.ibm.com (unknown [122.99.82.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: sam@mendozajonas.com) by mendozajonas.com (Postfix) with ESMTPSA id 36CDD14433F; Tue, 28 Jun 2016 11:13:01 +0800 (SGT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mendozajonas.com; s=mail; t=1467083582; bh=j0FwPOZ2FmFrAZrmQ1tGos5bIKuY0hXF8ruwOtZdSKU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CT4Z/nsds0k43L2nQn33ugnXfvOu7Bll/nQS3xa+CBKHK0xCrbir3EsI8tn5Jozm3 MyxYxpqFjAt+nqXRADSi1piLmcVcnXF98vPVEt6DfN0MUsgjBPWt1Ywq5Tnbg+ZiP/ EHjkm5KeDvDyiAav4ZwRHG7WgDuVROzGgbKJJv3c= From: Samuel Mendoza-Jonas To: linuxppc-dev@ozlabs.org Subject: [PATCH 2/2] tty/hvc: Use opal irqchip interface if available Date: Tue, 28 Jun 2016 13:11:39 +1000 Message-Id: <20160628031139.12500-2-sam@mendozajonas.com> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20160628031139.12500-1-sam@mendozajonas.com> References: <20160628031139.12500-1-sam@mendozajonas.com> X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Greg Kroah-Hartman , Jiri Slaby , "# 4 . 1 . x-" , Alistair Popple , Samuel Mendoza-Jonas MIME-Version: 1.0 Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Update the hvc driver to use the OPAL irqchip if made available by the running firmware. If it is not present, the driver falls back to the existing OPAL event number. Signed-off-by: Samuel Mendoza-Jonas Cc: # 4.1.x- --- drivers/tty/hvc/hvc_opal.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/tty/hvc/hvc_opal.c b/drivers/tty/hvc/hvc_opal.c index b7cd0ae..8c53f5b 100644 --- a/drivers/tty/hvc/hvc_opal.c +++ b/drivers/tty/hvc/hvc_opal.c @@ -170,6 +170,8 @@ static int hvc_opal_probe(struct platform_device *dev) hv_protocol_t proto; unsigned int termno, irq, boot = 0; const __be32 *reg; + u32 prop; + int rc; if (of_device_is_compatible(dev->dev.of_node, "ibm,opal-console-raw")) { proto = HV_PROTOCOL_RAW; @@ -214,7 +216,15 @@ static int hvc_opal_probe(struct platform_device *dev) dev->dev.of_node->full_name, boot ? " (boot console)" : ""); - irq = opal_event_request(ilog2(OPAL_EVENT_CONSOLE_INPUT)); + rc = of_property_read_u32(dev->dev.of_node, "interrupts", &prop); + if (rc) { + pr_info("hvc%d: No interrupts property, using OPAL event\n", + termno); + irq = opal_event_request(ilog2(OPAL_EVENT_CONSOLE_INPUT)); + } else { + irq = irq_of_parse_and_map(dev->dev.of_node, 0); + } + if (!irq) { pr_err("hvc_opal: Unable to map interrupt for device %s\n", dev->dev.of_node->full_name);