From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755343AbbCSBQt (ORCPT ); Wed, 18 Mar 2015 21:16:49 -0400 Received: from szxga03-in.huawei.com ([119.145.14.66]:45159 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752212AbbCSBQp (ORCPT ); Wed, 18 Mar 2015 21:16:45 -0400 Message-ID: <550A235F.8060808@huawei.com> Date: Thu, 19 Mar 2015 09:16:15 +0800 From: Hanjun Guo User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.0.1 MIME-Version: 1.0 To: "Rafael J. Wysocki" , Lorenzo Pieralisi , Hanjun Guo CC: Catalin Marinas , Will Deacon , Olof Johansson , "grant.likely@linaro.org" , Arnd Bergmann , Mark Rutland , "graeme.gregory@linaro.org" , Sudeep Holla , "jcm@redhat.com" , Marc Zyngier , Mark Brown , Robert Richter , Timur Tabi , Ashwin Chaugule , "suravee.suthikulpanit@amd.com" , "linux-acpi@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linaro-acpi@lists.linaro.org" , Al Stone Subject: Re: [PATCH v10 18/21] ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 References: <1426077587-1561-1-git-send-email-hanjun.guo@linaro.org> <5506BF89.9040703@linaro.org> <20150318091820.GB2846@red-moon> <18318670.U16Joq6nSS@vostro.rjw.lan> In-Reply-To: <18318670.U16Joq6nSS@vostro.rjw.lan> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.177.17.188] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.550A2372.0116,ss=1,re=0.001,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-05-26 15:14:31, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 74c5feda3dbfd0c5435c9f05f19aabe5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2015/3/18 23:06, Rafael J. Wysocki wrote: > On Wednesday, March 18, 2015 09:18:20 AM Lorenzo Pieralisi wrote: >> On Mon, Mar 16, 2015 at 11:33:29AM +0000, Hanjun Guo wrote: >>> On 2015年03月13日 19:04, Lorenzo Pieralisi wrote: >>>> On Fri, Mar 13, 2015 at 03:28:45AM +0000, Hanjun Guo wrote: >>>> >>>> [...] >>>> >>>>>> /* >>>>>> * acpi_boot_table_init() called from setup_arch(), always. >>>>>> * 1. find RSDP and get its address, and then find XSDT >>>>>> * 2. extract all tables and checksums them all >>>>>> * 3. check ACPI FADT revision >>>>>> + * 4. check ACPI FADT HW reduced flag >>>>>> * >>>>>> * We can parse ACPI boot-time tables such as MADT after >>>>>> * this function is called. >>>>>> */ >>>>>> void __init acpi_boot_table_init(void) >>>>>> { >>>>>> + struct acpi_table_header *table; >>>>>> + struct acpi_table_fadt *fadt; >>>>>> + acpi_status status; >>>>>> + acpi_size tbl_size; >>>>>> + >>>>>> /* >>>>>> * Enable ACPI instead of device tree unless >>>>>> * - ACPI has been disabled explicitly (acpi=off), or >>>>>> @@ -351,19 +318,52 @@ void __init acpi_boot_table_init(void) >>>>>> (!param_acpi_force && of_scan_flat_dt(dt_scan_depth1_nodes, NULL))) >>>>>> return; >>>>>> >>>>>> - enable_acpi(); >>>>>> - >>>>>> /* Initialize the ACPI boot-time table parser. */ >>>>>> if (acpi_table_init()) { >>>>> Since we disable ACPI in default, it is a bit strange for me to init all >>>>> the ACPI tables and parse FADT when ACPI is disabled, could you >>>>> put some comments here to clarify the purpose? other than that, it is looks >>>>> good to me. >>>> Ok, the purpose was to make things simpler, but I think that given >>>> current code it is not 100% safe to init ACPI tables with >>>> acpi_disabled == 1. >>>> >>>> To me having to enable ACPI to parse the tables and check *if* ACPI tables >>>> are there is a bit crazy, but I agree with you that given current code >>>> it is safer. >>>> >>>> Patch rewritten, here below, please have a look, test it and rework >>>> bits as needed, I added comments where I thought they were needed but >>>> please add to that if you feel it is worth it. >>>> >>>> It should be easy to split, let me know if you want an incremental >>>> version. >>> This one is much better, pretty fine to me, thanks! >>> >>> I assume that this patch is cleanup patch on top of ARM64 ACPI >>> core patches, right? >> For the records, I created a branch with my patch split over some >> of your patches, even though I think to make things simpler it is best >> to apply it as a single patch on top of your series, > I agree. In particular, the patches that have already been reviewed and > ACKed won't need to be reviewed again this way which seems to be crucially > important to me. > >> I will prepare the commit log for the single patch version too. > Thanks! > > Hanjun, please add this one to the series when ready. Sure, I will. Thanks Hanjun