From 37155b65f1dd6039bdef92f513d86640956bc12c Mon Sep 17 00:00:00 2001 From: Peter Daifuku Date: Wed, 9 Mar 2016 19:10:20 -0800 Subject: gpu: nvgpu: support for hwpm context switching Add support for hwpm context switching Bug 1648200 Change-Id: I482899bf165cd2ef24bb8617be16df01218e462f Signed-off-by: Peter Daifuku Reviewed-on: http://git-master/r/1120450 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/regops_gk20a.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/regops_gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/regops_gk20a.c b/drivers/gpu/nvgpu/gk20a/regops_gk20a.c index 1696f759..e6162af2 100644 --- a/drivers/gpu/nvgpu/gk20a/regops_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/regops_gk20a.c @@ -1,7 +1,7 @@ /* * Tegra GK20A GPU Debugger Driver Register Ops * - * Copyright (c) 2013-2015, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2013-2016, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -644,22 +644,31 @@ static int validate_reg_op_offset(struct dbg_session_gk20a *dbg_s, valid = check_whitelists(dbg_s, op, offset + 4); if (valid && (op->type != REGOP(TYPE_GLOBAL))) { - err = gr_gk20a_get_ctx_buffer_offsets(dbg_s->g, + err = gr_gk20a_get_ctx_buffer_offsets(dbg_s->g, + op->offset, + 1, + &buf_offset_lo, + &buf_offset_addr, + &num_offsets, + op->type == REGOP(TYPE_GR_CTX_QUAD), + op->quad); + if (err) { + err = gr_gk20a_get_pm_ctx_buffer_offsets(dbg_s->g, op->offset, 1, &buf_offset_lo, &buf_offset_addr, - &num_offsets, - op->type == REGOP(TYPE_GR_CTX_QUAD), - op->quad); + &num_offsets); + if (err) { op->status |= REGOP(STATUS_INVALID_OFFSET); return -EINVAL; } - if (!buf_offset_lo) { - op->status |= REGOP(STATUS_INVALID_OFFSET); - return -EINVAL; - } + } + if (!buf_offset_lo) { + op->status |= REGOP(STATUS_INVALID_OFFSET); + return -EINVAL; + } } if (!valid) { -- cgit v1.2.2