From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27DB3C4741F for ; Thu, 5 Nov 2020 14:47:24 +0000 (UTC) Received: from shelob.surriel.com (shelob.surriel.com [96.67.55.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4E9DA21734 for ; Thu, 5 Nov 2020 14:47:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=kroah.com header.i=@kroah.com header.b="43OLjuyb"; dkim=temperror (0-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="De01h8Kx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4E9DA21734 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kroah.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kernelnewbies-bounces@kernelnewbies.org Received: from localhost ([::1] helo=shelob.surriel.com) by shelob.surriel.com with esmtp (Exim 4.94) (envelope-from ) id 1kagX6-0007BX-2N; Thu, 05 Nov 2020 09:46:36 -0500 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]) by shelob.surriel.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1kagX1-0007BS-WE for Kernelnewbies@kernelnewbies.org; Thu, 05 Nov 2020 09:46:32 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 3D3EF750; Thu, 5 Nov 2020 09:46:26 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Thu, 05 Nov 2020 09:46:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kroah.com; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm2; bh=6C9J7IRGwUkF2mYifs9qqXtFfyq ahbJaolp0kaQj5k4=; b=43OLjuybVo5zIzuCqRNXCq47qhICivQVUqmi2l4RQvE xrgDWZ9qe/t+Gp1w9vB2c0WEg5Ocen6P8l7Jz8E3YIbFOsuGVBUv4+bB1x+CMTiE 85OIPm7HLPOfvVrkbEfukRY0OjWwQQ0XE6MVoJvmKQiU4p3iCVFboa4t7NiWcrjJ KHCQt/WE/hCtlktG2Ehi4CA1q0LlzZKIvYnFmNtlfzO0t7fjTyZk9tXgTKs+hGtB jPmTSfRCuExJTwAPuhNd56kW+5T1G11zRqJMTAyvffbSV/C7psSJ0pytRep21wGG /p7mxZr/2jkDxFNv7WHk39Pf3/862VIuJi4FGD9RnZg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=6C9J7I RGwUkF2mYifs9qqXtFfyqahbJaolp0kaQj5k4=; b=De01h8KxnJt4D5muJNgKO1 kAYH26eecubzh6H52jm8y5rHRVYtjvAlp2h9d3Ne2GU9RbJWV/m1iLtpt6AEvbC8 gKJ5EZrmCb7ACEQKXcua1WJUStYNpcY6t5Pi+vavi90C1gs7CIcT9XsLz0kqz7E0 lMy6Trl0nDvwhV3fOTeB75wE/oClHq+MfM5AR52e/IJ8OZ5QGHZAjcSQsLYCnDwA wjdAxih4SVtcJ6lYpy0Bhe397+TT+RUX2KIiDmbLj0Xj7rxixUpa/O7MJls1NAl9 tfreDD2FGdAWQpl/kSx0NSADZrL7xNtor+18Jv3yfoJB3ngs4QCJBGaXHb4bcSnw == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedruddtjedgieelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpeffhffvuffkfhggtggujgesthdtre dttddtvdenucfhrhhomhepifhrvghgucfmjfcuoehgrhgvgheskhhrohgrhhdrtghomheq necuggftrfgrthhtvghrnhepveeuheejgfffgfeivddukedvkedtleelleeghfeljeeiue eggeevueduudekvdetnecukfhppeekfedrkeeirdejgedrieegnecuvehluhhsthgvrhfu ihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepghhrvghgsehkrhhorghhrdgtoh hm X-ME-Proxy: Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) by mail.messagingengine.com (Postfix) with ESMTPA id E47E632801F2; Thu, 5 Nov 2020 09:46:24 -0500 (EST) Date: Thu, 5 Nov 2020 15:47:11 +0100 From: Greg KH To: Jack Winch Subject: Re: PCI / PCIe Device Memory - Rationale for Choosing MMIO Over PMIO (and Visa-Versa) Message-ID: <20201105144711.GA427563@kroah.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Cc: linux-pci@vger.kernel.org, kernelnewbies X-BeenThere: kernelnewbies@kernelnewbies.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Learn about the Linux kernel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: kernelnewbies-bounces@kernelnewbies.org On Thu, Nov 05, 2020 at 02:27:58PM +0000, Jack Winch wrote: > Hi all, > > Over the last couple of months, I've been reading the hardware > documentation and Linux device driver source code for a range of > different PCI and PCIe devices. Those examined range from > multi-function data acquisition cards through to avionics bus > interface devices. In doing so, I have referenced numerous resources > (including the Third Edition of LDD - what a great book - and the > documentation available for the Linux PCI Bus Subsystem on > kernel.org). > > One thing I'm still a little unclear on is why vendors might opt to > map PCI / PCIe device memory into the system memory map as either > Memory-Mapped I/O (MMIO) or Port-Mapped I/O (PMIO). That is, for what > reasons would a device manufacturer choose to make use of one address > space over the other for regions of a PCI / PCIe device's memory? > Some of the general reasons are alluded to by the aforementioned > resources (e.g., more instruction cycles are required to access data > via PMIO, MMIO can be marked as prefetchable and handled as such, > etc). I think you should be talking to hardware people about this, as this is almost always due to hardware limitations/issues/design decisions. The PCI-SIG should have a bunch of resources about this, have you looked into that? good luck! greg k-h _______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies