Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp137276imu; Wed, 2 Jan 2019 03:57:52 -0800 (PST) X-Google-Smtp-Source: ALg8bN4Qs0oTOyqNXodhPyiikKZyrBNRkHFcoreb+M89zrbhRAQXfHoNTi/Ld+V9PqEEUyOYFzVt X-Received: by 2002:a17:902:9897:: with SMTP id s23mr41423234plp.69.1546430272708; Wed, 02 Jan 2019 03:57:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546430272; cv=none; d=google.com; s=arc-20160816; b=bq3kdC53w0tY7xhOw1AxlcMKYw4UoQZyf6hLEofmIYC1I01y/d3w8Sh9yFiOebbSmK HgR/bKCG3IRepN/llEMLdnbgMrxt86+uJLTMwxFRZCjJBet/dO56f5h/9SB9A03cTs0C yY6cAyRw44K4GTnZ5td6fm8Fpi7XgwepryQ/0hFglNTiWIif3oN1yE3qqq6P5q6zNrLv zvnhnitbIIYaSMSRqjGuHdDsQv8Wkg+vMYNRTzveLt6x34x9B2qbIltaWY/CTZsQDNjL LFCmTa4Jvznb7qSxxZjyf+MKstQVHR3lmy2JAO75u/tkZStrC6Yymzd0xHL/jbSfKXDy 5QTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=0qHkkBXmyioJPVPxMSr3ujafv9VgDByzzB1+Kq+Rie4=; b=bDzOH+h+nLuPbH/wiAVQ1vWroo76JuBwidJClM5zoV0uAgzCdu1rjsGkBaHfweVFXy Bw9SDNkTP/MaEdmYlDZquJFJvJt9duT8VkSaXtp3Es70HKykFf65KnNA+8YBZjEgpSKT XjvwIbekFns8NyXTfahkinD+pTA4rYh5+kV3z1udfjXfRVqTJ7XP/CTOyddSyIWlmYqy 894aBsAUSrW+EUicPzytI7H2ulLOwc40TLLnlPsCvozVbv/vnKU2z6Qh0dU0r1IofJJW wKBORLIu/7yzwqcfq77sTtz47yyDigicv74YmbO7n1ZwFIPej1N83ov5qm0W6ISPmdiX IWeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@synopsys.com header.s=mail header.b=GFAHc5ez; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=synopsys.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i69si12133231pgd.71.2019.01.02.03.57.37; Wed, 02 Jan 2019 03:57:52 -0800 (PST) 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; dkim=pass header.i=@synopsys.com header.s=mail header.b=GFAHc5ez; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=synopsys.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729302AbfABKRY (ORCPT + 99 others); Wed, 2 Jan 2019 05:17:24 -0500 Received: from smtprelay2.synopsys.com ([198.182.60.111]:50194 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726499AbfABKRX (ORCPT ); Wed, 2 Jan 2019 05:17:23 -0500 Received: from mailhost.synopsys.com (mailhost3.synopsys.com [10.12.238.238]) by smtprelay.synopsys.com (Postfix) with ESMTP id 62F7F10C125F; Wed, 2 Jan 2019 02:17:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1546424243; bh=kfrBNHHF0EHzInOdICzSB8v0eSnBIAWIffA2wT8lEQY=; h=Subject:To:CC:References:From:Date:In-Reply-To:From; b=GFAHc5ezlAasbQ5ooStPcD5vS7jWOK87AX9zRGQvxBqVeGj5PjwXxL39JehIYPN3L xWhOT/9NHRy3UQfXEJE2pnQRqblBOHqICCK4lqh480JdRE4mcONWwxcllPhtZgQoWV 7wC53x/L3O54sUqCHkNbtjuMHJ8GyyThPp/plsTpBmt4Q68eqFju0sZeZ6XaqATcGB fB9CqI0t9Tiam92kx3/lKzItpF0tcHtQIWdK7t54dPKpqp5nu39Z4QLCUhOieD7Nen F2LNyv+zZ/8OTmsdZGiqgwp6Qjn4Na8XLR4ThtNry0ivhieh9kVaZ5HjykvXlP7kzX 4Ra+ci9ejjHsg== Received: from US01WEHTC2.internal.synopsys.com (us01wehtc2-vip.internal.synopsys.com [10.12.239.238]) by mailhost.synopsys.com (Postfix) with ESMTP id 451F535BF; Wed, 2 Jan 2019 02:17:23 -0800 (PST) Received: from DE02WEHTCB.internal.synopsys.com (10.225.19.94) by US01WEHTC2.internal.synopsys.com (10.12.239.237) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 2 Jan 2019 02:17:23 -0800 Received: from DE02WEHTCA.internal.synopsys.com (10.225.19.92) by DE02WEHTCB.internal.synopsys.com (10.225.19.94) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 2 Jan 2019 11:17:21 +0100 Received: from [10.107.25.131] (10.107.25.131) by DE02WEHTCA.internal.synopsys.com (10.225.19.80) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 2 Jan 2019 11:17:20 +0100 Subject: Re: [PATCH 09/10] PCI: dwc: Remove Keystone specific dw_pcie_host_ops To: Kishon Vijay Abraham I , Murali Karicheri , Lorenzo Pieralisi , Gustavo Pimentel , Marc Zyngier CC: Bjorn Helgaas , Jingoo Han , "linux-pci@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" References: <20181219124207.13479-1-kishon@ti.com> <20181219124207.13479-10-kishon@ti.com> From: Gustavo Pimentel Message-ID: Date: Wed, 2 Jan 2019 10:12:50 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.3 MIME-Version: 1.0 In-Reply-To: <20181219124207.13479-10-kishon@ti.com> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.107.25.131] Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 19/12/2018 12:42, Kishon Vijay Abraham I wrote: > Now that Keystone started using it's own msi_irq_chip, remove > Keystone specific callback function defined in dw_pcie_host_ops. > > Signed-off-by: Kishon Vijay Abraham I > --- > .../pci/controller/dwc/pcie-designware-host.c | 45 ++++++------------- > drivers/pci/controller/dwc/pcie-designware.h | 5 --- > 2 files changed, 14 insertions(+), 36 deletions(-) > > diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c > index db21bd11f153..dbc94f3be3d5 100644 > --- a/drivers/pci/controller/dwc/pcie-designware-host.c > +++ b/drivers/pci/controller/dwc/pcie-designware-host.c > @@ -126,18 +126,12 @@ static void dw_pci_setup_msi_msg(struct irq_data *data, struct msi_msg *msg) > struct dw_pcie *pci = to_dw_pcie_from_pp(pp); > u64 msi_target; > > - if (pp->ops->get_msi_addr) > - msi_target = pp->ops->get_msi_addr(pp); > - else > - msi_target = (u64)pp->msi_data; > + msi_target = (u64)pp->msi_data; > > msg->address_lo = lower_32_bits(msi_target); > msg->address_hi = upper_32_bits(msi_target); > > - if (pp->ops->get_msi_data) > - msg->data = pp->ops->get_msi_data(pp, data->hwirq); > - else > - msg->data = data->hwirq; > + msg->data = data->hwirq; > > dev_dbg(pci->dev, "msi#%d address_hi %#x address_lo %#x\n", > (int)data->hwirq, msg->address_hi, msg->address_lo); > @@ -157,17 +151,13 @@ static void dw_pci_bottom_mask(struct irq_data *data) > > raw_spin_lock_irqsave(&pp->lock, flags); > > - if (pp->ops->msi_clear_irq) { > - pp->ops->msi_clear_irq(pp, data->hwirq); > - } else { > - ctrl = data->hwirq / MAX_MSI_IRQS_PER_CTRL; > - res = ctrl * MSI_REG_CTRL_BLOCK_SIZE; > - bit = data->hwirq % MAX_MSI_IRQS_PER_CTRL; > + ctrl = data->hwirq / MAX_MSI_IRQS_PER_CTRL; > + res = ctrl * MSI_REG_CTRL_BLOCK_SIZE; > + bit = data->hwirq % MAX_MSI_IRQS_PER_CTRL; > > - pp->irq_status[ctrl] &= ~(1 << bit); > - dw_pcie_wr_own_conf(pp, PCIE_MSI_INTR0_MASK + res, 4, > - ~pp->irq_status[ctrl]); > - } > + pp->irq_status[ctrl] &= ~(1 << bit); > + dw_pcie_wr_own_conf(pp, PCIE_MSI_INTR0_MASK + res, 4, > + ~pp->irq_status[ctrl]); > > raw_spin_unlock_irqrestore(&pp->lock, flags); > } > @@ -180,17 +170,13 @@ static void dw_pci_bottom_unmask(struct irq_data *data) > > raw_spin_lock_irqsave(&pp->lock, flags); > > - if (pp->ops->msi_set_irq) { > - pp->ops->msi_set_irq(pp, data->hwirq); > - } else { > - ctrl = data->hwirq / MAX_MSI_IRQS_PER_CTRL; > - res = ctrl * MSI_REG_CTRL_BLOCK_SIZE; > - bit = data->hwirq % MAX_MSI_IRQS_PER_CTRL; > + ctrl = data->hwirq / MAX_MSI_IRQS_PER_CTRL; > + res = ctrl * MSI_REG_CTRL_BLOCK_SIZE; > + bit = data->hwirq % MAX_MSI_IRQS_PER_CTRL; > > - pp->irq_status[ctrl] |= 1 << bit; > - dw_pcie_wr_own_conf(pp, PCIE_MSI_INTR0_MASK + res, 4, > - ~pp->irq_status[ctrl]); > - } > + pp->irq_status[ctrl] |= 1 << bit; > + dw_pcie_wr_own_conf(pp, PCIE_MSI_INTR0_MASK + res, 4, > + ~pp->irq_status[ctrl]); > > raw_spin_unlock_irqrestore(&pp->lock, flags); > } > @@ -209,9 +195,6 @@ static void dw_pci_bottom_ack(struct irq_data *d) > > dw_pcie_wr_own_conf(pp, PCIE_MSI_INTR0_STATUS + res, 4, 1 << bit); > > - if (pp->ops->msi_irq_ack) > - pp->ops->msi_irq_ack(d->hwirq, pp); > - > raw_spin_unlock_irqrestore(&pp->lock, flags); > } > > diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h > index 0873ee4084aa..53cb6ab405b5 100644 > --- a/drivers/pci/controller/dwc/pcie-designware.h > +++ b/drivers/pci/controller/dwc/pcie-designware.h > @@ -134,14 +134,9 @@ struct dw_pcie_host_ops { > int (*wr_other_conf)(struct pcie_port *pp, struct pci_bus *bus, > unsigned int devfn, int where, int size, u32 val); > int (*host_init)(struct pcie_port *pp); > - void (*msi_set_irq)(struct pcie_port *pp, int irq); > - void (*msi_clear_irq)(struct pcie_port *pp, int irq); > - phys_addr_t (*get_msi_addr)(struct pcie_port *pp); > - u32 (*get_msi_data)(struct pcie_port *pp, int pos); > void (*scan_bus)(struct pcie_port *pp); > void (*set_num_vectors)(struct pcie_port *pp); > int (*msi_host_init)(struct pcie_port *pp); > - void (*msi_irq_ack)(int irq, struct pcie_port *pp); > }; > > struct pcie_port { > Acked-by: Gustavo Pimentel Regards, Gustavo