From nobody Tue May 7 14:46:00 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+58212+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+58212+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=foxmail.com ARC-Seal: i=1; a=rsa-sha256; t=1588055654; cv=none; d=zohomail.com; s=zohoarc; b=gQIBNKd6StlnAegVbzNt5ftI9yii/bhPxD28a010EPDH7l+PC7i1NbdA7KUhvURSwyGkYODH+14Gk5X7eMWmCk9urf4JzF9HPG44If+BcLyWjZqiXTT1h3RgG9ZQFnBMbyyfp0lHeaZ0fTc8cbtrg1OxGatOMyZEYYJrxrc3VXw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588055654; h=Cc:Date:From:List-Id:List-Unsubscribe:Message-ID:Reply-To:Sender:Subject:To; bh=jnXn8yHHDU3zvv57aYNDZiWKD9SMZKG8NO+y6aSvoQ8=; b=b2YlJWVnIrTqG7wJ3XOR8WN1PTJ6woV/XL3uu1+e5pNwSA5vMXqoICZN84Z3cWOP4OCj9TiwUWRZDKl4sIjksIhCYvVsAs8HwKHEB2eU0AIa4247+/m7v0I5vnSGFzgQpGiSLNhPZKyYp/OEYlkKubJ3A+i/aCfi+9+mZ270Szk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+58212+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1588055654161194.78035820400225; Mon, 27 Apr 2020 23:34:14 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Kz3fYY1788612xXbnx3ej7Io; Mon, 27 Apr 2020 23:34:13 -0700 X-Received: from qq.com (qq.com [203.205.251.85]) by mx.groups.io with SMTP id smtpd.web12.1855.1588050586681976754 for ; Mon, 27 Apr 2020 22:09:47 -0700 X-Received: from driver1998-Laptop.localdomain ([112.96.194.138]) by newxmesmtplogicsvrszc9.qq.com (NewEsmtp) with SMTP id 26988ABE; Tue, 28 Apr 2020 13:09:41 +0800 X-QQ-mid: xmsmtpt1588050581tuouojsy5 X-QQ-XMAILINFO: MxFHUJXUAyD8eO+aL84c64IcqNjuOtRuAVcDe7Boad3GtueI3/QmOwtTjt9HdN 2up/1diOCxOjEoCp/UjJoC9g4TI4RGiSepDTfE+KiHqunSW1FnNVG4pgb/saEQ5aYvVwhn8abObu 6tANty16uA6a0RxnFZd7kNtaN7fkcnJCJy9LF/c1iyy2SuNYiSEGRPeBZQ+z4Yu6RzJ/sWSfB27C 60a6YEuSSoozAUij6eGeT4pTYGzW1x2TjW09O56yv/WQ32g7eYBeU8xLyJrwPshYqEKREzUNRzEj vX+ArdRr0ZLANfT2ocHP4L3pUBgRBxgQDz4nl/AjGQ0IOq0DNmxousUZLLWdyQFQGRenzrtlmDDq 33Eq8MGwmpKMp0lyRc10lQ7qU0ZvqDSNZLoVpbb9Da47GkWsrKn+PnJcfpoTaJ9u8u2Un0CGCtIZ VgLVp0/I2nybxxzOVd64yJXabN307UWzEp2N2lYeJ+qkzDhmltwG9TTv+Kw/KuP4bMw4pMRuAvg8 DB56FzgQIvBzqSE6x4Tj+Yh9M0k7cGSLcvzQ9o2SlCn0U5L/7h8gJ0309h1Vx1MNLUS9DEyiqsHH aazSEFqTVroOQq5+S9B8Otviw0d4VLIWOb7VV1R3moHidvsY6rni4cu9W0ty5fpMUwMircQwoVsT I+fZffzAh//4VpsYnpY+myXeaptfWKnhXZZ8xkiwKI5F3RW9Nq+PQAsMZRG1yIEfvu8g== From: "GH Cao" To: devel@edk2.groups.io Cc: ard.biesheuvel@arm.com, leif@nuviainc.com, pete@akeo.ie, GH Cao Subject: [edk2-devel] [edk2-platforms][PATCH] Platform/RaspberryPi: Fix VPU memory ranges in GPU device container Date: Tue, 28 Apr 2020 13:09:40 +0800 Message-Id: <20200428050940.350-1-driver1998@foxmail.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: <27952.devel.edk2.groups.io> Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,driver1998@foxmail.com X-Gm-Message-State: qPialUCxLNVR6E9OuKDrctu7x1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1588055653; bh=Dbkk/3EhXyyHpFnTRfOkG7aMwkDc6Ix7/nSE8YFtrOo=; h=Cc:Date:From:Reply-To:Subject:To; b=m2wsb7oNWURsIkDylHxRelU7zYvd35E9REsOOf8h4d6astUqKbNE6FWNwb3fKIWDSFI 1SG0pyx6aILrWWsZnW2GqS2xecvxFBO2N0/NUzMQULWXkZu5pCyCxUuQ8ZzTV8aOqjv60 8bXVO8h7pzn3E5tSS2mvSrpXZ1olAQzgklc= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The PWM controller device specifies both CPU and VPU memory ranges. CPU base addresses are provided as offsets to BCM2836_SOC_REGISTERS, and VPU base addresses are constants. But in Dsdt.asl, both offsets and constant addresses are seen as offsets by QWORDMEMORYSET macro, result in incorrect VPU memory ranges. This commits adds a new QWORDBUSMEMORYSET macro to handle VPU memory ranges with constant base addresses. Signed-off-by: GH Cao Reviewed-by: Andrei Warkentin Reviewed-by: Pete Batard --- Platform/RaspberryPi/AcpiTables/Dsdt.asl | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Platform/RaspberryPi/AcpiTables/Dsdt.asl b/Platform/RaspberryP= i/AcpiTables/Dsdt.asl index 95766b0..ddaf1d4 100644 --- a/Platform/RaspberryPi/AcpiTables/Dsdt.asl +++ b/Platform/RaspberryPi/AcpiTables/Dsdt.asl @@ -31,7 +31,11 @@ // The ASL compiler does not support argument arithmetic in functions // like QWordMemory (). So we need to instantiate dummy qword regions // that we can then update the Min, Max and Length attributes of. -// The two macros below help accomplish this. +// The three macros below help accomplish this. +// +// QWORDMEMORYSET specifies a CPU memory range (whose base address is +// BCM2836_SOC_REGISTERS + Offset), and QWORDBUSMEMORYSET specifies +// a VPU memory range (whose base address is provided directly). // #define QWORDMEMORYBUF(Index) \ QWordMemory (ResourceProducer,, \ @@ -46,6 +50,14 @@ Add (BCM2836_SOC_REGISTERS, Offset, MI ## Index) \ Add (MI ## Index, LE ## Index - 1, MA ## Index) =20 +#define QWORDBUSMEMORYSET(Index, Base, Length) \ + CreateQwordField (RBUF, RB ## Index._MIN, MI ## Index) \ + CreateQwordField (RBUF, RB ## Index._MAX, MA ## Index) \ + CreateQwordField (RBUF, RB ## Index._LEN, LE ## Index) \ + Store (Base, MI ## Index) \ + Store (Length, LE ## Index) \ + Add (MI ## Index, LE ## Index - 1, MA ## Index) + DefinitionBlock ("Dsdt.aml", "DSDT", 5, "RPIFDN", "RPI", 2) { Scope (\_SB_) @@ -173,8 +185,8 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 5, "RPIFDN", "RPI"= , 2) // PWM QWORDMEMORYSET(17, BCM2836_PWM_DMA_OFFSET, BCM2836_PWM_DMA_LENGTH) QWORDMEMORYSET(18, BCM2836_PWM_CTRL_OFFSET, BCM2836_PWM_CTRL_LENGT= H) - QWORDMEMORYSET(19, BCM2836_PWM_BUS_BASE_ADDRESS, BCM2836_PWM_BUS_L= ENGTH) - QWORDMEMORYSET(20, BCM2836_PWM_CTRL_UNCACHED_BASE_ADDRESS, BCM2836= _PWM_CTRL_UNCACHED_LENGTH) + QWORDBUSMEMORYSET(19, BCM2836_PWM_BUS_BASE_ADDRESS, BCM2836_PWM_BU= S_LENGTH) + QWORDBUSMEMORYSET(20, BCM2836_PWM_CTRL_UNCACHED_BASE_ADDRESS, BCM2= 836_PWM_CTRL_UNCACHED_LENGTH) QWORDMEMORYSET(21, BCM2836_PWM_CLK_OFFSET, BCM2836_PWM_CLK_LENGTH) =20 // UART --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#58212): https://edk2.groups.io/g/devel/message/58212 Mute This Topic: https://groups.io/mt/73322163/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-