X-Git-Url: http://git.samba.org/?a=blobdiff_plain;f=arch%2Friscv%2Fkernel%2Fsuspend.c;h=8a327b485b90e7c690d33c92b144b114b998a3a8;hb=c150b809f7de2afdd3fb5a9adff2a9a68d7331ce;hp=b20f2cb5879f13863edd2bd76d95c8955192f39c;hpb=a9ad73295cc1e3af0253eee7d08943b2419444c4;p=sfrench%2Fcifs-2.6.git diff --git a/arch/riscv/kernel/suspend.c b/arch/riscv/kernel/suspend.c index b20f2cb5879f..8a327b485b90 100644 --- a/arch/riscv/kernel/suspend.c +++ b/arch/riscv/kernel/suspend.c @@ -15,6 +15,8 @@ void suspend_save_csrs(struct suspend_context *context) { context->scratch = csr_read(CSR_SCRATCH); + if (riscv_cpu_has_extension_unlikely(smp_processor_id(), RISCV_ISA_EXT_XLINUXENVCFG)) + context->envcfg = csr_read(CSR_ENVCFG); context->tvec = csr_read(CSR_TVEC); context->ie = csr_read(CSR_IE); @@ -36,6 +38,8 @@ void suspend_save_csrs(struct suspend_context *context) void suspend_restore_csrs(struct suspend_context *context) { csr_write(CSR_SCRATCH, context->scratch); + if (riscv_cpu_has_extension_unlikely(smp_processor_id(), RISCV_ISA_EXT_XLINUXENVCFG)) + csr_write(CSR_ENVCFG, context->envcfg); csr_write(CSR_TVEC, context->tvec); csr_write(CSR_IE, context->ie);