From mboxrd@z Thu Jan 1 00:00:00 1970 From: mark.rutland@arm.com (Mark Rutland) Date: Tue, 18 Oct 2016 11:45:39 +0100 Subject: how to enable suspend to ram for arm-64 bits In-Reply-To: <20161018100002.GA4347@xo-6d-61-c0.localdomain> References: <06a4f0d7-9022-578d-99e0-ddcde31ed895@arm.com> <82ddd0e1-9ecc-5e54-e8ee-86f947fc0ecd@arm.com> <20161018100002.GA4347@xo-6d-61-c0.localdomain> Message-ID: <20161018104539.GB15639@leverpostej> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, Oct 18, 2016 at 12:00:02PM +0200, Pavel Machek wrote: > > >b. in arm64, if some platform has its own suspend flow, couldn't it > > >adopts arm/match-xxx to register its own global suspend method? > > > > No, PSCI is highly recommended. > > Relying on firmware for suspend on x86 was a great disaster, lets not repeat > that mistake. arm32 has better powermanagement than x86 ever will (see Nokia N900 > for example) -- feel free to copy that code from arm32. Quite frankly, copying hundreds of lines of board-specific code (including assembly that won't compile) is unlikely to help. So far arm64 requires well-defined, standard, reusable interfaces (e.g. PSCI). That cleanly separates concerns (e.g. anyone can implement the backend without mandatory changes to the kernel), and keeps things maintainable. ARM publishes and maintains the ARM Trusted Firmware [1], which anyone can use and build atop of. It's open source (three-clause BSD with DCO), and accepts board ports. You can have a completely open stack, regardless of whether part of that stack is firmware. Thanks, Mark.