Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753487AbdDLLqm (ORCPT ); Wed, 12 Apr 2017 07:46:42 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:48347 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752668AbdDLLqk (ORCPT ); Wed, 12 Apr 2017 07:46:40 -0400 From: "Gautham R. Shenoy" To: Michael Ellerman , Michael Neuling , Benjamin Herrenschmidt , "Shreyas B. Prabhu" , Shilpasri G Bhat , Vaidyanathan Srinivasan , Anton Blanchard , Balbir Singh , Akshay Adiga , Nicholas Piggin , Mahesh J Salgaonkar , "Aneesh Kumar K.V" Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, "Gautham R. Shenoy" Subject: [PATCH 0/3] powernv:stop: Some fixes for handling deep stop Date: Wed, 12 Apr 2017 17:16:19 +0530 X-Mailer: git-send-email 1.8.3.1 X-TM-AS-GCONF: 00 x-cbid: 17041211-0012-0000-0000-0000140A7A89 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00006922; HX=3.00000240; KW=3.00000007; PH=3.00000004; SC=3.00000208; SDB=6.00846487; UDB=6.00417537; IPR=6.00624923; BA=6.00005286; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00015020; XFM=3.00000013; UTC=2017-04-12 11:46:37 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17041211-0013-0000-0000-00004CEF746B Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-04-12_08:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1702020001 definitions=main-1704120098 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1450 Lines: 37 From: "Gautham R. Shenoy" Hi, This patchset contains three fixes required to get a deep stop state that can lose the Hypervisor state to work correctly. The first patch in the series uses the correct value for the IDLE_THREAD_BITS on POWER8 which has 8 threads per core and on POWER9 which has 4 threads per core. The second patch decouples restoring Timebase from restoring per-core spr state as the current code assumes that if the timebase is not lost then neither is per-core state. This was true on POWER8, but no longer true on POWER9. The third patch in the series sets the UPRT bit in LPCR on wakeup from a deep stop if we are running in radix mode, without which the kernel crashes once we switch to virtual mode. These patches are on top of the patches for fixing CPU-Hotplug on POWER9 DD1.0 (https://lkml.org/lkml/2017/3/22/472) and Nicholas Piggin's idle fixes and changes for POWER8 and POWER9 (https://lists.ozlabs.org/pipermail/linuxppc-dev/2017-March/155608.html) Gautham R. Shenoy (3): powernv:idle: Use correct IDLE_THREAD_BITS in POWER8 vs POWER9 powernv:idle: Decouple TB restore & Per-core SPRs restore powernv:idle: Set LPCR_UPRT on wakeup from deep-stop arch/powerpc/include/asm/cpuidle.h | 3 ++- arch/powerpc/kernel/idle_book3s.S | 29 +++++++++++++++++++++++------ arch/powerpc/platforms/powernv/idle.c | 5 ++++- 3 files changed, 29 insertions(+), 8 deletions(-) -- 1.9.4