From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomasz Nowicki Subject: Re: [PATCH V7 1/8] ACPI: I/O Remapping Table (IORT) initial support Date: Wed, 22 Jun 2016 14:40:28 +0200 Message-ID: <576A873C.3050107@semihalf.com> References: <1466420541-20101-2-git-send-email-tn@semihalf.com> <1466598909-27504-1-git-send-email-tn@semihalf.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1466598909-27504-1-git-send-email-tn@semihalf.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: marc.zyngier@arm.com, tglx@linutronix.de, jason@lakedaemon.net, rjw@rjwysocki.net, bhelgaas@google.com, lorenzo.pieralisi@arm.com, robert.richter@caviumnetworks.com, shijie.huang@arm.com, Suravee.Suthikulpanit@amd.com, hanjun.guo@linaro.org Cc: al.stone@linaro.org, graeme.gregory@linaro.org, Catalin.Marinas@arm.com, will.deacon@arm.com, linux-kernel@vger.kernel.org, okaya@codeaurora.org, linux-acpi@vger.kernel.org, ddaney.cavm@gmail.com, linux-pci@vger.kernel.org, mw@semihalf.com, andrea.gallo@linaro.org, linux-arm-kernel@lists.infradead.org List-Id: linux-acpi@vger.kernel.org On 22.06.2016 14:35, Tomasz Nowicki wrote: > IORT shows representation of IO topology for ARM based systems. > It describes how various components are connected together on > parent-child basis e.g. PCI RC -> SMMU -> ITS. Also see IORT spec. > http://infocenter.arm.com/help/topic/com.arm.doc.den0049b/DEN0049B_IO_Remapping_Table.pdf > > Initial support allows to detect IORT table presence and save its > root pointer obtained through acpi_get_table(). The pointer validity > depends on acpi_gbl_permanent_mmap because if acpi_gbl_permanent_mmap > is not set while using IORT nodes we would dereference unmapped pointers. > > For the aforementioned reason call iort_table_detect() from acpi_init() > which guarantees acpi_gbl_permanent_mmap to be set at that point. > > Add generic helpers which are helpful for scanning and retrieving > information from IORT table content. List of the most important helpers: > - iort_find_dev_node() finds IORT node for a given device > - iort_node_map_rid() maps device RID and returns IORT node which provides > final translation > > Signed-off-by: Tomasz Nowicki The updated patch incorporates fixes and addresses Lorenzo's comments. The whole series is here: https://github.com/semihalf-nowicki-tomasz/linux.git (its-acpi-v7.1) Thanks, Tomasz From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752676AbcFVMr4 (ORCPT ); Wed, 22 Jun 2016 08:47:56 -0400 Received: from mail-lf0-f53.google.com ([209.85.215.53]:34146 "EHLO mail-lf0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752048AbcFVMrx (ORCPT ); Wed, 22 Jun 2016 08:47:53 -0400 Subject: Re: [PATCH V7 1/8] ACPI: I/O Remapping Table (IORT) initial support To: marc.zyngier@arm.com, tglx@linutronix.de, jason@lakedaemon.net, rjw@rjwysocki.net, bhelgaas@google.com, lorenzo.pieralisi@arm.com, robert.richter@caviumnetworks.com, shijie.huang@arm.com, Suravee.Suthikulpanit@amd.com, hanjun.guo@linaro.org References: <1466420541-20101-2-git-send-email-tn@semihalf.com> <1466598909-27504-1-git-send-email-tn@semihalf.com> Cc: al.stone@linaro.org, mw@semihalf.com, graeme.gregory@linaro.org, Catalin.Marinas@arm.com, will.deacon@arm.com, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, ddaney.cavm@gmail.com, okaya@codeaurora.org, andrea.gallo@linaro.org, linux-pci@vger.kernel.org From: Tomasz Nowicki Message-ID: <576A873C.3050107@semihalf.com> Date: Wed, 22 Jun 2016 14:40:28 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <1466598909-27504-1-git-send-email-tn@semihalf.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 22.06.2016 14:35, Tomasz Nowicki wrote: > IORT shows representation of IO topology for ARM based systems. > It describes how various components are connected together on > parent-child basis e.g. PCI RC -> SMMU -> ITS. Also see IORT spec. > http://infocenter.arm.com/help/topic/com.arm.doc.den0049b/DEN0049B_IO_Remapping_Table.pdf > > Initial support allows to detect IORT table presence and save its > root pointer obtained through acpi_get_table(). The pointer validity > depends on acpi_gbl_permanent_mmap because if acpi_gbl_permanent_mmap > is not set while using IORT nodes we would dereference unmapped pointers. > > For the aforementioned reason call iort_table_detect() from acpi_init() > which guarantees acpi_gbl_permanent_mmap to be set at that point. > > Add generic helpers which are helpful for scanning and retrieving > information from IORT table content. List of the most important helpers: > - iort_find_dev_node() finds IORT node for a given device > - iort_node_map_rid() maps device RID and returns IORT node which provides > final translation > > Signed-off-by: Tomasz Nowicki The updated patch incorporates fixes and addresses Lorenzo's comments. The whole series is here: https://github.com/semihalf-nowicki-tomasz/linux.git (its-acpi-v7.1) Thanks, Tomasz From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Return-Path: Subject: Re: [PATCH V7 1/8] ACPI: I/O Remapping Table (IORT) initial support To: marc.zyngier@arm.com, tglx@linutronix.de, jason@lakedaemon.net, rjw@rjwysocki.net, bhelgaas@google.com, lorenzo.pieralisi@arm.com, robert.richter@caviumnetworks.com, shijie.huang@arm.com, Suravee.Suthikulpanit@amd.com, hanjun.guo@linaro.org References: <1466420541-20101-2-git-send-email-tn@semihalf.com> <1466598909-27504-1-git-send-email-tn@semihalf.com> From: Tomasz Nowicki Message-ID: <576A873C.3050107@semihalf.com> Date: Wed, 22 Jun 2016 14:40:28 +0200 MIME-Version: 1.0 In-Reply-To: <1466598909-27504-1-git-send-email-tn@semihalf.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: al.stone@linaro.org, graeme.gregory@linaro.org, Catalin.Marinas@arm.com, will.deacon@arm.com, linux-kernel@vger.kernel.org, okaya@codeaurora.org, linux-acpi@vger.kernel.org, ddaney.cavm@gmail.com, linux-pci@vger.kernel.org, mw@semihalf.com, andrea.gallo@linaro.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+bjorn=helgaas.com@lists.infradead.org List-ID: On 22.06.2016 14:35, Tomasz Nowicki wrote: > IORT shows representation of IO topology for ARM based systems. > It describes how various components are connected together on > parent-child basis e.g. PCI RC -> SMMU -> ITS. Also see IORT spec. > http://infocenter.arm.com/help/topic/com.arm.doc.den0049b/DEN0049B_IO_Remapping_Table.pdf > > Initial support allows to detect IORT table presence and save its > root pointer obtained through acpi_get_table(). The pointer validity > depends on acpi_gbl_permanent_mmap because if acpi_gbl_permanent_mmap > is not set while using IORT nodes we would dereference unmapped pointers. > > For the aforementioned reason call iort_table_detect() from acpi_init() > which guarantees acpi_gbl_permanent_mmap to be set at that point. > > Add generic helpers which are helpful for scanning and retrieving > information from IORT table content. List of the most important helpers: > - iort_find_dev_node() finds IORT node for a given device > - iort_node_map_rid() maps device RID and returns IORT node which provides > final translation > > Signed-off-by: Tomasz Nowicki The updated patch incorporates fixes and addresses Lorenzo's comments. The whole series is here: https://github.com/semihalf-nowicki-tomasz/linux.git (its-acpi-v7.1) Thanks, Tomasz _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 From: tn@semihalf.com (Tomasz Nowicki) Date: Wed, 22 Jun 2016 14:40:28 +0200 Subject: [PATCH V7 1/8] ACPI: I/O Remapping Table (IORT) initial support In-Reply-To: <1466598909-27504-1-git-send-email-tn@semihalf.com> References: <1466420541-20101-2-git-send-email-tn@semihalf.com> <1466598909-27504-1-git-send-email-tn@semihalf.com> Message-ID: <576A873C.3050107@semihalf.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 22.06.2016 14:35, Tomasz Nowicki wrote: > IORT shows representation of IO topology for ARM based systems. > It describes how various components are connected together on > parent-child basis e.g. PCI RC -> SMMU -> ITS. Also see IORT spec. > http://infocenter.arm.com/help/topic/com.arm.doc.den0049b/DEN0049B_IO_Remapping_Table.pdf > > Initial support allows to detect IORT table presence and save its > root pointer obtained through acpi_get_table(). The pointer validity > depends on acpi_gbl_permanent_mmap because if acpi_gbl_permanent_mmap > is not set while using IORT nodes we would dereference unmapped pointers. > > For the aforementioned reason call iort_table_detect() from acpi_init() > which guarantees acpi_gbl_permanent_mmap to be set at that point. > > Add generic helpers which are helpful for scanning and retrieving > information from IORT table content. List of the most important helpers: > - iort_find_dev_node() finds IORT node for a given device > - iort_node_map_rid() maps device RID and returns IORT node which provides > final translation > > Signed-off-by: Tomasz Nowicki The updated patch incorporates fixes and addresses Lorenzo's comments. The whole series is here: https://github.com/semihalf-nowicki-tomasz/linux.git (its-acpi-v7.1) Thanks, Tomasz