From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755212AbdCGNUp (ORCPT ); Tue, 7 Mar 2017 08:20:45 -0500 Received: from mail-pg0-f53.google.com ([74.125.83.53]:34849 "EHLO mail-pg0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752842AbdCGNTh (ORCPT ); Tue, 7 Mar 2017 08:19:37 -0500 Subject: Re: [PATCH 17/17] arm64: arch_timer: Add HISILICON_ERRATUM_161010101 ACPI matching data To: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org References: <20170306112622.13853-1-marc.zyngier@arm.com> <20170306112622.13853-18-marc.zyngier@arm.com> Cc: Mark Rutland , Daniel Lezcano , Scott Wood , Will Deacon , Catalin Marinas , Ding Tianhong From: Hanjun Guo Message-ID: <13e4473e-e1ec-c193-4d5a-63787d149dda@linaro.org> Date: Tue, 7 Mar 2017 21:19:21 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <20170306112622.13853-18-marc.zyngier@arm.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 2017/3/6 19:26, Marc Zyngier wrote: > In order to deal with ACPI enabled platforms suffering from the > HISILICON_ERRATUM_161010101, let's add the required OEM data that > allow the workaround to be enabled. > > Signed-off-by: Marc Zyngier > --- > drivers/clocksource/arm_arch_timer.c | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c > index 6182871af4eb..b46584f058b6 100644 > --- a/drivers/clocksource/arm_arch_timer.c > +++ b/drivers/clocksource/arm_arch_timer.c > @@ -270,6 +270,25 @@ static u64 notrace hisi_161010101_read_cntvct_el0(void) > { > return __hisi_161010101_read_reg(cntvct_el0); > } > + > +static struct ate_acpi_oem_info hisi_161010101_oem_info[] = { > + { > + .oem_id = "HISI ", > + .oem_table_id = "HIP05 ", > + .oem_revision = 0, > + }, > + { > + .oem_id = "HISI ", > + .oem_table_id = "HIP06 ", > + .oem_revision = 0, > + }, > + { > + .oem_id = "HISI ", > + .oem_table_id = "HIP07 ", > + .oem_revision = 0, > + }, > + { }, Maybe it's better to add a comments that to say "It's needed to match the end of oem info", but it's up to you :) > +}; > #endif > > #ifdef CONFIG_ARM64_ERRATUM_858921 > @@ -347,6 +366,16 @@ static const struct arch_timer_erratum_workaround ool_workarounds[] = { > .set_next_event_phys = erratum_set_next_event_tval_phys, > .set_next_event_virt = erratum_set_next_event_tval_virt, > }, > + { > + .match_type = ate_match_acpi_oem_info, > + .id = hisi_161010101_oem_info, > + .desc_str = "HiSilicon erratum 161010101", > + .read_cntp_tval_el0 = hisi_161010101_read_cntp_tval_el0, > + .read_cntv_tval_el0 = hisi_161010101_read_cntv_tval_el0, > + .read_cntvct_el0 = hisi_161010101_read_cntvct_el0, > + .set_next_event_phys = erratum_set_next_event_tval_phys, > + .set_next_event_virt = erratum_set_next_event_tval_virt, > + }, > #endif > #ifdef CONFIG_ARM64_ERRATUM_858921 > { > Reviewed-by: Hanjun Guo Thanks Hanjun