Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965377AbbEMR2r (ORCPT ); Wed, 13 May 2015 13:28:47 -0400 Received: from mail-bl2on0075.outbound.protection.outlook.com ([65.55.169.75]:18656 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932186AbbEMR2p (ORCPT ); Wed, 13 May 2015 13:28:45 -0400 Authentication-Results: kernel.org; dkim=none (message not signed) header.d=none; Date: Wed, 13 May 2015 19:28:28 +0200 From: Robert Richter To: Tejun Heo CC: Robert Richter , Catalin Marinas , Will Deacon , Sunil Goutham , Jiang Liu , , , , Alexander Gordeev Subject: Re: [PATCH v2] AHCI: Add generic MSI-X interrupt support to SATA PCI driver Message-ID: <20150513172828.GA8449@rric.localhost> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20150513143353.GU11388@htj.duckdns.org> <20150513143906.GV11388@htj.duckdns.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [92.224.195.80] X-ClientProxiedBy: DB4PR07CA005.eurprd07.prod.outlook.com (10.242.229.15) To CO2PR0701MB808.namprd07.prod.outlook.com (10.141.246.26) X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CO2PR0701MB808; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:CO2PR0701MB808;BCL:0;PCL:0;RULEID:;SRVR:CO2PR0701MB808; X-Forefront-PRVS: 0575F81B58 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6069001)(6009001)(24454002)(51704005)(83506001)(110136002)(54356999)(47776003)(189998001)(50466002)(46102003)(87976001)(92566002)(86362001)(62966003)(2950100001)(77156002)(5001960100002)(50986999)(122386002)(40100003)(97756001)(33656002)(4001350100001)(23726002)(66066001)(76506005)(46406003)(77096005)(42186005)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:CO2PR0701MB808;H:rric.localhost;FPR:;SPF:None;MLV:sfv;LANG:en; X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2015 17:28:39.1736 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR0701MB808 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2338 Lines: 59 Tejun, On 13.05.15 10:39:06, Tejun Heo wrote: > On Tue, May 12, 2015 at 01:46:47PM +0200, Robert Richter wrote: > > I don't think this is worth the effort as all internal and external > > drivers need to be changed basically from: > > > > ahci_host_activate(host, irq, &ahci_sht); > > > > to: > > > > host->irq = irq; > > ahci_host_activate(host, &ahci_sht); > > > > This looks not very useful to do. Since irq is used only a single > > time, there is no reason to store it in the host's data structure. It > > Doesn't really matter tho. Since ahci_host_activate() is EXPORT_SYMBOL_GPL I really have concerns changing the i/f. But I will send you a patch for this. > > also makes the interface more error prone since host->irq might not be > > setup. Apart from that there is an abi change. > > But large part of @host needs to be initialized before activation. I > don't think moving irq to that pool changes much if anything. > > > I agree that we will need the implemention of host->ports[i]->irq for > > the case there irqs are no longer in sequential order as this might be > > the case for per-port msi-x interrupts. But this is not the focus of > > my implementation and as long there is no hardware for this available, > > it wouldn't make sense to implement this at all. > > Why are we doing msix at all? I don't get it. See below. > > So how to proceed? I could send you patches that implement host->irq > > for a single per-host interrupt, and also one that reworks multi-port > > interrupts to use host->ports[i]->irq. But I don't see any benefit > > here. That said, I would better keep my patch here as it is. That do > > you think? > > Let's start with why we're doing this in the first place. Right, the sata controller is connected to a pci ecam controller, both are on an SoC together with the processor. There are no external pci ports for the connection of external devices. Since all pci devices on the chip support msi-x, the controller is only capable to handle this and not INTx nor MSI. So for enabling of the sata hc we need msix support. -Robert -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/