| Index: arch/arm/mach-tegra/nv/nvrm/dispatch/nvrm_diag_dispatch.c
|
| diff --git a/arch/arm/mach-tegra/nv/nvrm/dispatch/nvrm_diag_dispatch.c b/arch/arm/mach-tegra/nv/nvrm/dispatch/nvrm_diag_dispatch.c
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b521ca38d8157367a13248c63ba3b60ff9a169c0
|
| --- /dev/null
|
| +++ b/arch/arm/mach-tegra/nv/nvrm/dispatch/nvrm_diag_dispatch.c
|
| @@ -0,0 +1,1078 @@
|
| +/*
|
| + * Copyright (c) 2009 NVIDIA Corporation.
|
| + * All rights reserved.
|
| + *
|
| + * Redistribution and use in source and binary forms, with or without
|
| + * modification, are permitted provided that the following conditions are met:
|
| + *
|
| + * Redistributions of source code must retain the above copyright notice,
|
| + * this list of conditions and the following disclaimer.
|
| + *
|
| + * Redistributions in binary form must reproduce the above copyright notice,
|
| + * this list of conditions and the following disclaimer in the documentation
|
| + * and/or other materials provided with the distribution.
|
| + *
|
| + * Neither the name of the NVIDIA Corporation nor the names of its contributors
|
| + * may be used to endorse or promote products derived from this software
|
| + * without specific prior written permission.
|
| + *
|
| + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
| + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
| + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
| + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
| + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
| + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
| + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
| + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
| + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
| + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
| + * POSSIBILITY OF SUCH DAMAGE.
|
| + *
|
| + */
|
| +
|
| +#define NV_IDL_IS_DISPATCH
|
| +
|
| +#include "nvcommon.h"
|
| +#include "nvos.h"
|
| +#include "nvassert.h"
|
| +#include "nvreftrack.h"
|
| +#include "nvidlcmd.h"
|
| +#include "nvrm_diag.h"
|
| +
|
| +#define OFFSET( s, e ) (NvU32)(void *)(&(((s*)0)->e))
|
| +
|
| +
|
| +typedef struct NvRmDiagGetTemperature_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDeviceHandle hRmDeviceHandle;
|
| + NvRmTmonZoneId ZoneId;
|
| +} NV_ALIGN(4) NvRmDiagGetTemperature_in;
|
| +
|
| +typedef struct NvRmDiagGetTemperature_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagGetTemperature_inout;
|
| +
|
| +typedef struct NvRmDiagGetTemperature_out_t
|
| +{
|
| + NvError ret_;
|
| + NvS32 pTemperatureC;
|
| +} NV_ALIGN(4) NvRmDiagGetTemperature_out;
|
| +
|
| +typedef struct NvRmDiagGetTemperature_params_t
|
| +{
|
| + NvRmDiagGetTemperature_in in;
|
| + NvRmDiagGetTemperature_inout inout;
|
| + NvRmDiagGetTemperature_out out;
|
| +} NvRmDiagGetTemperature_params;
|
| +
|
| +typedef struct NvRmDiagIsLockSupported_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| +} NV_ALIGN(4) NvRmDiagIsLockSupported_in;
|
| +
|
| +typedef struct NvRmDiagIsLockSupported_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagIsLockSupported_inout;
|
| +
|
| +typedef struct NvRmDiagIsLockSupported_out_t
|
| +{
|
| + NvBool ret_;
|
| +} NV_ALIGN(4) NvRmDiagIsLockSupported_out;
|
| +
|
| +typedef struct NvRmDiagIsLockSupported_params_t
|
| +{
|
| + NvRmDiagIsLockSupported_in in;
|
| + NvRmDiagIsLockSupported_inout inout;
|
| + NvRmDiagIsLockSupported_out out;
|
| +} NvRmDiagIsLockSupported_params;
|
| +
|
| +typedef struct NvRmDiagConfigurePowerRail_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagPowerRailHandle hRail;
|
| + NvU32 VoltageMV;
|
| +} NV_ALIGN(4) NvRmDiagConfigurePowerRail_in;
|
| +
|
| +typedef struct NvRmDiagConfigurePowerRail_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagConfigurePowerRail_inout;
|
| +
|
| +typedef struct NvRmDiagConfigurePowerRail_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagConfigurePowerRail_out;
|
| +
|
| +typedef struct NvRmDiagConfigurePowerRail_params_t
|
| +{
|
| + NvRmDiagConfigurePowerRail_in in;
|
| + NvRmDiagConfigurePowerRail_inout inout;
|
| + NvRmDiagConfigurePowerRail_out out;
|
| +} NvRmDiagConfigurePowerRail_params;
|
| +
|
| +typedef struct NvRmDiagModuleListPowerRails_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagModuleID id;
|
| + NvRmDiagPowerRailHandle * phRailList;
|
| +} NV_ALIGN(4) NvRmDiagModuleListPowerRails_in;
|
| +
|
| +typedef struct NvRmDiagModuleListPowerRails_inout_t
|
| +{
|
| + NvU32 pListSize;
|
| +} NV_ALIGN(4) NvRmDiagModuleListPowerRails_inout;
|
| +
|
| +typedef struct NvRmDiagModuleListPowerRails_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagModuleListPowerRails_out;
|
| +
|
| +typedef struct NvRmDiagModuleListPowerRails_params_t
|
| +{
|
| + NvRmDiagModuleListPowerRails_in in;
|
| + NvRmDiagModuleListPowerRails_inout inout;
|
| + NvRmDiagModuleListPowerRails_out out;
|
| +} NvRmDiagModuleListPowerRails_params;
|
| +
|
| +typedef struct NvRmDiagPowerRailGetName_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagPowerRailHandle hRail;
|
| +} NV_ALIGN(4) NvRmDiagPowerRailGetName_in;
|
| +
|
| +typedef struct NvRmDiagPowerRailGetName_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagPowerRailGetName_inout;
|
| +
|
| +typedef struct NvRmDiagPowerRailGetName_out_t
|
| +{
|
| + NvU64 ret_;
|
| +} NV_ALIGN(4) NvRmDiagPowerRailGetName_out;
|
| +
|
| +typedef struct NvRmDiagPowerRailGetName_params_t
|
| +{
|
| + NvRmDiagPowerRailGetName_in in;
|
| + NvRmDiagPowerRailGetName_inout inout;
|
| + NvRmDiagPowerRailGetName_out out;
|
| +} NvRmDiagPowerRailGetName_params;
|
| +
|
| +typedef struct NvRmDiagListPowerRails_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagPowerRailHandle * phRailList;
|
| +} NV_ALIGN(4) NvRmDiagListPowerRails_in;
|
| +
|
| +typedef struct NvRmDiagListPowerRails_inout_t
|
| +{
|
| + NvU32 pListSize;
|
| +} NV_ALIGN(4) NvRmDiagListPowerRails_inout;
|
| +
|
| +typedef struct NvRmDiagListPowerRails_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagListPowerRails_out;
|
| +
|
| +typedef struct NvRmDiagListPowerRails_params_t
|
| +{
|
| + NvRmDiagListPowerRails_in in;
|
| + NvRmDiagListPowerRails_inout inout;
|
| + NvRmDiagListPowerRails_out out;
|
| +} NvRmDiagListPowerRails_params;
|
| +
|
| +typedef struct NvRmDiagModuleReset_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagModuleID id;
|
| + NvBool KeepAsserted;
|
| +} NV_ALIGN(4) NvRmDiagModuleReset_in;
|
| +
|
| +typedef struct NvRmDiagModuleReset_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagModuleReset_inout;
|
| +
|
| +typedef struct NvRmDiagModuleReset_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagModuleReset_out;
|
| +
|
| +typedef struct NvRmDiagModuleReset_params_t
|
| +{
|
| + NvRmDiagModuleReset_in in;
|
| + NvRmDiagModuleReset_inout inout;
|
| + NvRmDiagModuleReset_out out;
|
| +} NvRmDiagModuleReset_params;
|
| +
|
| +typedef struct NvRmDiagClockScalerConfigure_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagClockSourceHandle hScaler;
|
| + NvRmDiagClockSourceHandle hInput;
|
| + NvU32 M;
|
| + NvU32 N;
|
| +} NV_ALIGN(4) NvRmDiagClockScalerConfigure_in;
|
| +
|
| +typedef struct NvRmDiagClockScalerConfigure_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagClockScalerConfigure_inout;
|
| +
|
| +typedef struct NvRmDiagClockScalerConfigure_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagClockScalerConfigure_out;
|
| +
|
| +typedef struct NvRmDiagClockScalerConfigure_params_t
|
| +{
|
| + NvRmDiagClockScalerConfigure_in in;
|
| + NvRmDiagClockScalerConfigure_inout inout;
|
| + NvRmDiagClockScalerConfigure_out out;
|
| +} NvRmDiagClockScalerConfigure_params;
|
| +
|
| +typedef struct NvRmDiagPllConfigure_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagClockSourceHandle hPll;
|
| + NvU32 M;
|
| + NvU32 N;
|
| + NvU32 P;
|
| +} NV_ALIGN(4) NvRmDiagPllConfigure_in;
|
| +
|
| +typedef struct NvRmDiagPllConfigure_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagPllConfigure_inout;
|
| +
|
| +typedef struct NvRmDiagPllConfigure_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagPllConfigure_out;
|
| +
|
| +typedef struct NvRmDiagPllConfigure_params_t
|
| +{
|
| + NvRmDiagPllConfigure_in in;
|
| + NvRmDiagPllConfigure_inout inout;
|
| + NvRmDiagPllConfigure_out out;
|
| +} NvRmDiagPllConfigure_params;
|
| +
|
| +typedef struct NvRmDiagOscillatorGetFreq_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagClockSourceHandle hOscillator;
|
| +} NV_ALIGN(4) NvRmDiagOscillatorGetFreq_in;
|
| +
|
| +typedef struct NvRmDiagOscillatorGetFreq_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagOscillatorGetFreq_inout;
|
| +
|
| +typedef struct NvRmDiagOscillatorGetFreq_out_t
|
| +{
|
| + NvU32 ret_;
|
| +} NV_ALIGN(4) NvRmDiagOscillatorGetFreq_out;
|
| +
|
| +typedef struct NvRmDiagOscillatorGetFreq_params_t
|
| +{
|
| + NvRmDiagOscillatorGetFreq_in in;
|
| + NvRmDiagOscillatorGetFreq_inout inout;
|
| + NvRmDiagOscillatorGetFreq_out out;
|
| +} NvRmDiagOscillatorGetFreq_params;
|
| +
|
| +typedef struct NvRmDiagClockSourceListSources_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagClockSourceHandle hSource;
|
| + NvRmDiagClockSourceHandle * phSourceList;
|
| +} NV_ALIGN(4) NvRmDiagClockSourceListSources_in;
|
| +
|
| +typedef struct NvRmDiagClockSourceListSources_inout_t
|
| +{
|
| + NvU32 pListSize;
|
| +} NV_ALIGN(4) NvRmDiagClockSourceListSources_inout;
|
| +
|
| +typedef struct NvRmDiagClockSourceListSources_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagClockSourceListSources_out;
|
| +
|
| +typedef struct NvRmDiagClockSourceListSources_params_t
|
| +{
|
| + NvRmDiagClockSourceListSources_in in;
|
| + NvRmDiagClockSourceListSources_inout inout;
|
| + NvRmDiagClockSourceListSources_out out;
|
| +} NvRmDiagClockSourceListSources_params;
|
| +
|
| +typedef struct NvRmDiagClockSourceGetScaler_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagClockSourceHandle hSource;
|
| +} NV_ALIGN(4) NvRmDiagClockSourceGetScaler_in;
|
| +
|
| +typedef struct NvRmDiagClockSourceGetScaler_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagClockSourceGetScaler_inout;
|
| +
|
| +typedef struct NvRmDiagClockSourceGetScaler_out_t
|
| +{
|
| + NvRmDiagClockScalerType ret_;
|
| +} NV_ALIGN(4) NvRmDiagClockSourceGetScaler_out;
|
| +
|
| +typedef struct NvRmDiagClockSourceGetScaler_params_t
|
| +{
|
| + NvRmDiagClockSourceGetScaler_in in;
|
| + NvRmDiagClockSourceGetScaler_inout inout;
|
| + NvRmDiagClockSourceGetScaler_out out;
|
| +} NvRmDiagClockSourceGetScaler_params;
|
| +
|
| +typedef struct NvRmDiagClockSourceGetType_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagClockSourceHandle hSource;
|
| +} NV_ALIGN(4) NvRmDiagClockSourceGetType_in;
|
| +
|
| +typedef struct NvRmDiagClockSourceGetType_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagClockSourceGetType_inout;
|
| +
|
| +typedef struct NvRmDiagClockSourceGetType_out_t
|
| +{
|
| + NvRmDiagClockSourceType ret_;
|
| +} NV_ALIGN(4) NvRmDiagClockSourceGetType_out;
|
| +
|
| +typedef struct NvRmDiagClockSourceGetType_params_t
|
| +{
|
| + NvRmDiagClockSourceGetType_in in;
|
| + NvRmDiagClockSourceGetType_inout inout;
|
| + NvRmDiagClockSourceGetType_out out;
|
| +} NvRmDiagClockSourceGetType_params;
|
| +
|
| +typedef struct NvRmDiagClockSourceGetName_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagClockSourceHandle hSource;
|
| +} NV_ALIGN(4) NvRmDiagClockSourceGetName_in;
|
| +
|
| +typedef struct NvRmDiagClockSourceGetName_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagClockSourceGetName_inout;
|
| +
|
| +typedef struct NvRmDiagClockSourceGetName_out_t
|
| +{
|
| + NvU64 ret_;
|
| +} NV_ALIGN(4) NvRmDiagClockSourceGetName_out;
|
| +
|
| +typedef struct NvRmDiagClockSourceGetName_params_t
|
| +{
|
| + NvRmDiagClockSourceGetName_in in;
|
| + NvRmDiagClockSourceGetName_inout inout;
|
| + NvRmDiagClockSourceGetName_out out;
|
| +} NvRmDiagClockSourceGetName_params;
|
| +
|
| +typedef struct NvRmDiagModuleClockConfigure_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagModuleID id;
|
| + NvRmDiagClockSourceHandle hSource;
|
| + NvU32 divider;
|
| + NvBool Source1st;
|
| +} NV_ALIGN(4) NvRmDiagModuleClockConfigure_in;
|
| +
|
| +typedef struct NvRmDiagModuleClockConfigure_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagModuleClockConfigure_inout;
|
| +
|
| +typedef struct NvRmDiagModuleClockConfigure_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagModuleClockConfigure_out;
|
| +
|
| +typedef struct NvRmDiagModuleClockConfigure_params_t
|
| +{
|
| + NvRmDiagModuleClockConfigure_in in;
|
| + NvRmDiagModuleClockConfigure_inout inout;
|
| + NvRmDiagModuleClockConfigure_out out;
|
| +} NvRmDiagModuleClockConfigure_params;
|
| +
|
| +typedef struct NvRmDiagModuleClockEnable_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagModuleID id;
|
| + NvBool enable;
|
| +} NV_ALIGN(4) NvRmDiagModuleClockEnable_in;
|
| +
|
| +typedef struct NvRmDiagModuleClockEnable_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagModuleClockEnable_inout;
|
| +
|
| +typedef struct NvRmDiagModuleClockEnable_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagModuleClockEnable_out;
|
| +
|
| +typedef struct NvRmDiagModuleClockEnable_params_t
|
| +{
|
| + NvRmDiagModuleClockEnable_in in;
|
| + NvRmDiagModuleClockEnable_inout inout;
|
| + NvRmDiagModuleClockEnable_out out;
|
| +} NvRmDiagModuleClockEnable_params;
|
| +
|
| +typedef struct NvRmDiagModuleListClockSources_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagModuleID id;
|
| + NvRmDiagClockSourceHandle * phSourceList;
|
| +} NV_ALIGN(4) NvRmDiagModuleListClockSources_in;
|
| +
|
| +typedef struct NvRmDiagModuleListClockSources_inout_t
|
| +{
|
| + NvU32 pListSize;
|
| +} NV_ALIGN(4) NvRmDiagModuleListClockSources_inout;
|
| +
|
| +typedef struct NvRmDiagModuleListClockSources_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagModuleListClockSources_out;
|
| +
|
| +typedef struct NvRmDiagModuleListClockSources_params_t
|
| +{
|
| + NvRmDiagModuleListClockSources_in in;
|
| + NvRmDiagModuleListClockSources_inout inout;
|
| + NvRmDiagModuleListClockSources_out out;
|
| +} NvRmDiagModuleListClockSources_params;
|
| +
|
| +typedef struct NvRmDiagListClockSources_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagClockSourceHandle * phSourceList;
|
| +} NV_ALIGN(4) NvRmDiagListClockSources_in;
|
| +
|
| +typedef struct NvRmDiagListClockSources_inout_t
|
| +{
|
| + NvU32 pListSize;
|
| +} NV_ALIGN(4) NvRmDiagListClockSources_inout;
|
| +
|
| +typedef struct NvRmDiagListClockSources_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagListClockSources_out;
|
| +
|
| +typedef struct NvRmDiagListClockSources_params_t
|
| +{
|
| + NvRmDiagListClockSources_in in;
|
| + NvRmDiagListClockSources_inout inout;
|
| + NvRmDiagListClockSources_out out;
|
| +} NvRmDiagListClockSources_params;
|
| +
|
| +typedef struct NvRmDiagListModules_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDiagModuleID * pIdList;
|
| +} NV_ALIGN(4) NvRmDiagListModules_in;
|
| +
|
| +typedef struct NvRmDiagListModules_inout_t
|
| +{
|
| + NvU32 pListSize;
|
| +} NV_ALIGN(4) NvRmDiagListModules_inout;
|
| +
|
| +typedef struct NvRmDiagListModules_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagListModules_out;
|
| +
|
| +typedef struct NvRmDiagListModules_params_t
|
| +{
|
| + NvRmDiagListModules_in in;
|
| + NvRmDiagListModules_inout inout;
|
| + NvRmDiagListModules_out out;
|
| +} NvRmDiagListModules_params;
|
| +
|
| +typedef struct NvRmDiagEnable_in_t
|
| +{
|
| + NvU32 package_;
|
| + NvU32 function_;
|
| + NvRmDeviceHandle hDevice;
|
| +} NV_ALIGN(4) NvRmDiagEnable_in;
|
| +
|
| +typedef struct NvRmDiagEnable_inout_t
|
| +{
|
| + NvU32 dummy_;
|
| +} NV_ALIGN(4) NvRmDiagEnable_inout;
|
| +
|
| +typedef struct NvRmDiagEnable_out_t
|
| +{
|
| + NvError ret_;
|
| +} NV_ALIGN(4) NvRmDiagEnable_out;
|
| +
|
| +typedef struct NvRmDiagEnable_params_t
|
| +{
|
| + NvRmDiagEnable_in in;
|
| + NvRmDiagEnable_inout inout;
|
| + NvRmDiagEnable_out out;
|
| +} NvRmDiagEnable_params;
|
| +
|
| +static NvError NvRmDiagGetTemperature_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagGetTemperature_in *p_in;
|
| + NvRmDiagGetTemperature_out *p_out;
|
| +
|
| + p_in = (NvRmDiagGetTemperature_in *)InBuffer;
|
| + p_out = (NvRmDiagGetTemperature_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagGetTemperature_params, out) - OFFSET(NvRmDiagGetTemperature_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagGetTemperature( p_in->hRmDeviceHandle, p_in->ZoneId, &p_out->pTemperatureC );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagIsLockSupported_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagIsLockSupported_out *p_out;
|
| + p_out = (NvRmDiagIsLockSupported_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagIsLockSupported_params, out) - OFFSET(NvRmDiagIsLockSupported_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagIsLockSupported( );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagConfigurePowerRail_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagConfigurePowerRail_in *p_in;
|
| + NvRmDiagConfigurePowerRail_out *p_out;
|
| +
|
| + p_in = (NvRmDiagConfigurePowerRail_in *)InBuffer;
|
| + p_out = (NvRmDiagConfigurePowerRail_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagConfigurePowerRail_params, out) - OFFSET(NvRmDiagConfigurePowerRail_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagConfigurePowerRail( p_in->hRail, p_in->VoltageMV );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagModuleListPowerRails_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagModuleListPowerRails_in *p_in;
|
| + NvRmDiagModuleListPowerRails_inout *p_inout;
|
| + NvRmDiagModuleListPowerRails_out *p_out;
|
| + NvRmDiagModuleListPowerRails_inout inout;
|
| + NvRmDiagPowerRailHandle *phRailList = NULL;
|
| +
|
| + p_in = (NvRmDiagModuleListPowerRails_in *)InBuffer;
|
| + p_inout = (NvRmDiagModuleListPowerRails_inout *)((NvU8 *)InBuffer + OFFSET(NvRmDiagModuleListPowerRails_params, inout));
|
| + p_out = (NvRmDiagModuleListPowerRails_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagModuleListPowerRails_params, out) - OFFSET(NvRmDiagModuleListPowerRails_params, inout));
|
| +
|
| + (void)inout;
|
| + inout.pListSize = p_inout->pListSize;
|
| + if( p_inout->pListSize && p_in->phRailList )
|
| + {
|
| + phRailList = (NvRmDiagPowerRailHandle *)NvOsAlloc( p_inout->pListSize * sizeof( NvRmDiagPowerRailHandle ) );
|
| + if( !phRailList )
|
| + {
|
| + err_ = NvError_InsufficientMemory;
|
| + goto clean;
|
| + }
|
| + }
|
| +
|
| + p_out->ret_ = NvRmDiagModuleListPowerRails( p_in->id, &inout.pListSize, phRailList );
|
| +
|
| +
|
| + p_inout = (NvRmDiagModuleListPowerRails_inout *)OutBuffer;
|
| + p_inout->pListSize = inout.pListSize;
|
| + if(p_in->phRailList && phRailList)
|
| + {
|
| + err_ = NvOsCopyOut( p_in->phRailList, phRailList, p_inout->pListSize * sizeof( NvRmDiagPowerRailHandle ) );
|
| + if( err_ != NvSuccess )
|
| + {
|
| + err_ = NvError_BadParameter;
|
| + }
|
| + }
|
| +clean:
|
| + NvOsFree( phRailList );
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagPowerRailGetName_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagPowerRailGetName_in *p_in;
|
| + NvRmDiagPowerRailGetName_out *p_out;
|
| +
|
| + p_in = (NvRmDiagPowerRailGetName_in *)InBuffer;
|
| + p_out = (NvRmDiagPowerRailGetName_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagPowerRailGetName_params, out) - OFFSET(NvRmDiagPowerRailGetName_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagPowerRailGetName( p_in->hRail );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagListPowerRails_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagListPowerRails_in *p_in;
|
| + NvRmDiagListPowerRails_inout *p_inout;
|
| + NvRmDiagListPowerRails_out *p_out;
|
| + NvRmDiagListPowerRails_inout inout;
|
| + NvRmDiagPowerRailHandle *phRailList = NULL;
|
| +
|
| + p_in = (NvRmDiagListPowerRails_in *)InBuffer;
|
| + p_inout = (NvRmDiagListPowerRails_inout *)((NvU8 *)InBuffer + OFFSET(NvRmDiagListPowerRails_params, inout));
|
| + p_out = (NvRmDiagListPowerRails_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagListPowerRails_params, out) - OFFSET(NvRmDiagListPowerRails_params, inout));
|
| +
|
| + (void)inout;
|
| + inout.pListSize = p_inout->pListSize;
|
| + if( p_inout->pListSize && p_in->phRailList )
|
| + {
|
| + phRailList = (NvRmDiagPowerRailHandle *)NvOsAlloc( p_inout->pListSize * sizeof( NvRmDiagPowerRailHandle ) );
|
| + if( !phRailList )
|
| + {
|
| + err_ = NvError_InsufficientMemory;
|
| + goto clean;
|
| + }
|
| + }
|
| +
|
| + p_out->ret_ = NvRmDiagListPowerRails( &inout.pListSize, phRailList );
|
| +
|
| +
|
| + p_inout = (NvRmDiagListPowerRails_inout *)OutBuffer;
|
| + p_inout->pListSize = inout.pListSize;
|
| + if(p_in->phRailList && phRailList)
|
| + {
|
| + err_ = NvOsCopyOut( p_in->phRailList, phRailList, p_inout->pListSize * sizeof( NvRmDiagPowerRailHandle ) );
|
| + if( err_ != NvSuccess )
|
| + {
|
| + err_ = NvError_BadParameter;
|
| + }
|
| + }
|
| +clean:
|
| + NvOsFree( phRailList );
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagModuleReset_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagModuleReset_in *p_in;
|
| + NvRmDiagModuleReset_out *p_out;
|
| +
|
| + p_in = (NvRmDiagModuleReset_in *)InBuffer;
|
| + p_out = (NvRmDiagModuleReset_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagModuleReset_params, out) - OFFSET(NvRmDiagModuleReset_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagModuleReset( p_in->id, p_in->KeepAsserted );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagClockScalerConfigure_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagClockScalerConfigure_in *p_in;
|
| + NvRmDiagClockScalerConfigure_out *p_out;
|
| +
|
| + p_in = (NvRmDiagClockScalerConfigure_in *)InBuffer;
|
| + p_out = (NvRmDiagClockScalerConfigure_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagClockScalerConfigure_params, out) - OFFSET(NvRmDiagClockScalerConfigure_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagClockScalerConfigure( p_in->hScaler, p_in->hInput, p_in->M, p_in->N );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagPllConfigure_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagPllConfigure_in *p_in;
|
| + NvRmDiagPllConfigure_out *p_out;
|
| +
|
| + p_in = (NvRmDiagPllConfigure_in *)InBuffer;
|
| + p_out = (NvRmDiagPllConfigure_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagPllConfigure_params, out) - OFFSET(NvRmDiagPllConfigure_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagPllConfigure( p_in->hPll, p_in->M, p_in->N, p_in->P );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagOscillatorGetFreq_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagOscillatorGetFreq_in *p_in;
|
| + NvRmDiagOscillatorGetFreq_out *p_out;
|
| +
|
| + p_in = (NvRmDiagOscillatorGetFreq_in *)InBuffer;
|
| + p_out = (NvRmDiagOscillatorGetFreq_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagOscillatorGetFreq_params, out) - OFFSET(NvRmDiagOscillatorGetFreq_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagOscillatorGetFreq( p_in->hOscillator );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagClockSourceListSources_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagClockSourceListSources_in *p_in;
|
| + NvRmDiagClockSourceListSources_inout *p_inout;
|
| + NvRmDiagClockSourceListSources_out *p_out;
|
| + NvRmDiagClockSourceListSources_inout inout;
|
| + NvRmDiagClockSourceHandle *phSourceList = NULL;
|
| +
|
| + p_in = (NvRmDiagClockSourceListSources_in *)InBuffer;
|
| + p_inout = (NvRmDiagClockSourceListSources_inout *)((NvU8 *)InBuffer + OFFSET(NvRmDiagClockSourceListSources_params, inout));
|
| + p_out = (NvRmDiagClockSourceListSources_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagClockSourceListSources_params, out) - OFFSET(NvRmDiagClockSourceListSources_params, inout));
|
| +
|
| + (void)inout;
|
| + inout.pListSize = p_inout->pListSize;
|
| + if( p_inout->pListSize && p_in->phSourceList )
|
| + {
|
| + phSourceList = (NvRmDiagClockSourceHandle *)NvOsAlloc( p_inout->pListSize * sizeof( NvRmDiagClockSourceHandle ) );
|
| + if( !phSourceList )
|
| + {
|
| + err_ = NvError_InsufficientMemory;
|
| + goto clean;
|
| + }
|
| + }
|
| +
|
| + p_out->ret_ = NvRmDiagClockSourceListSources( p_in->hSource, &inout.pListSize, phSourceList );
|
| +
|
| +
|
| + p_inout = (NvRmDiagClockSourceListSources_inout *)OutBuffer;
|
| + p_inout->pListSize = inout.pListSize;
|
| + if(p_in->phSourceList && phSourceList)
|
| + {
|
| + err_ = NvOsCopyOut( p_in->phSourceList, phSourceList, p_inout->pListSize * sizeof( NvRmDiagClockSourceHandle ) );
|
| + if( err_ != NvSuccess )
|
| + {
|
| + err_ = NvError_BadParameter;
|
| + }
|
| + }
|
| +clean:
|
| + NvOsFree( phSourceList );
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagClockSourceGetScaler_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagClockSourceGetScaler_in *p_in;
|
| + NvRmDiagClockSourceGetScaler_out *p_out;
|
| +
|
| + p_in = (NvRmDiagClockSourceGetScaler_in *)InBuffer;
|
| + p_out = (NvRmDiagClockSourceGetScaler_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagClockSourceGetScaler_params, out) - OFFSET(NvRmDiagClockSourceGetScaler_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagClockSourceGetScaler( p_in->hSource );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagClockSourceGetType_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagClockSourceGetType_in *p_in;
|
| + NvRmDiagClockSourceGetType_out *p_out;
|
| +
|
| + p_in = (NvRmDiagClockSourceGetType_in *)InBuffer;
|
| + p_out = (NvRmDiagClockSourceGetType_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagClockSourceGetType_params, out) - OFFSET(NvRmDiagClockSourceGetType_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagClockSourceGetType( p_in->hSource );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagClockSourceGetName_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagClockSourceGetName_in *p_in;
|
| + NvRmDiagClockSourceGetName_out *p_out;
|
| +
|
| + p_in = (NvRmDiagClockSourceGetName_in *)InBuffer;
|
| + p_out = (NvRmDiagClockSourceGetName_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagClockSourceGetName_params, out) - OFFSET(NvRmDiagClockSourceGetName_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagClockSourceGetName( p_in->hSource );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagModuleClockConfigure_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagModuleClockConfigure_in *p_in;
|
| + NvRmDiagModuleClockConfigure_out *p_out;
|
| +
|
| + p_in = (NvRmDiagModuleClockConfigure_in *)InBuffer;
|
| + p_out = (NvRmDiagModuleClockConfigure_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagModuleClockConfigure_params, out) - OFFSET(NvRmDiagModuleClockConfigure_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagModuleClockConfigure( p_in->id, p_in->hSource, p_in->divider, p_in->Source1st );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagModuleClockEnable_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagModuleClockEnable_in *p_in;
|
| + NvRmDiagModuleClockEnable_out *p_out;
|
| +
|
| + p_in = (NvRmDiagModuleClockEnable_in *)InBuffer;
|
| + p_out = (NvRmDiagModuleClockEnable_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagModuleClockEnable_params, out) - OFFSET(NvRmDiagModuleClockEnable_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagModuleClockEnable( p_in->id, p_in->enable );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagModuleListClockSources_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagModuleListClockSources_in *p_in;
|
| + NvRmDiagModuleListClockSources_inout *p_inout;
|
| + NvRmDiagModuleListClockSources_out *p_out;
|
| + NvRmDiagModuleListClockSources_inout inout;
|
| + NvRmDiagClockSourceHandle *phSourceList = NULL;
|
| +
|
| + p_in = (NvRmDiagModuleListClockSources_in *)InBuffer;
|
| + p_inout = (NvRmDiagModuleListClockSources_inout *)((NvU8 *)InBuffer + OFFSET(NvRmDiagModuleListClockSources_params, inout));
|
| + p_out = (NvRmDiagModuleListClockSources_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagModuleListClockSources_params, out) - OFFSET(NvRmDiagModuleListClockSources_params, inout));
|
| +
|
| + (void)inout;
|
| + inout.pListSize = p_inout->pListSize;
|
| + if( p_inout->pListSize && p_in->phSourceList )
|
| + {
|
| + phSourceList = (NvRmDiagClockSourceHandle *)NvOsAlloc( p_inout->pListSize * sizeof( NvRmDiagClockSourceHandle ) );
|
| + if( !phSourceList )
|
| + {
|
| + err_ = NvError_InsufficientMemory;
|
| + goto clean;
|
| + }
|
| + }
|
| +
|
| + p_out->ret_ = NvRmDiagModuleListClockSources( p_in->id, &inout.pListSize, phSourceList );
|
| +
|
| +
|
| + p_inout = (NvRmDiagModuleListClockSources_inout *)OutBuffer;
|
| + p_inout->pListSize = inout.pListSize;
|
| + if(p_in->phSourceList && phSourceList)
|
| + {
|
| + err_ = NvOsCopyOut( p_in->phSourceList, phSourceList, p_inout->pListSize * sizeof( NvRmDiagClockSourceHandle ) );
|
| + if( err_ != NvSuccess )
|
| + {
|
| + err_ = NvError_BadParameter;
|
| + }
|
| + }
|
| +clean:
|
| + NvOsFree( phSourceList );
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagListClockSources_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagListClockSources_in *p_in;
|
| + NvRmDiagListClockSources_inout *p_inout;
|
| + NvRmDiagListClockSources_out *p_out;
|
| + NvRmDiagListClockSources_inout inout;
|
| + NvRmDiagClockSourceHandle *phSourceList = NULL;
|
| +
|
| + p_in = (NvRmDiagListClockSources_in *)InBuffer;
|
| + p_inout = (NvRmDiagListClockSources_inout *)((NvU8 *)InBuffer + OFFSET(NvRmDiagListClockSources_params, inout));
|
| + p_out = (NvRmDiagListClockSources_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagListClockSources_params, out) - OFFSET(NvRmDiagListClockSources_params, inout));
|
| +
|
| + (void)inout;
|
| + inout.pListSize = p_inout->pListSize;
|
| + if( p_inout->pListSize && p_in->phSourceList )
|
| + {
|
| + phSourceList = (NvRmDiagClockSourceHandle *)NvOsAlloc( p_inout->pListSize * sizeof( NvRmDiagClockSourceHandle ) );
|
| + if( !phSourceList )
|
| + {
|
| + err_ = NvError_InsufficientMemory;
|
| + goto clean;
|
| + }
|
| + }
|
| +
|
| + p_out->ret_ = NvRmDiagListClockSources( &inout.pListSize, phSourceList );
|
| +
|
| +
|
| + p_inout = (NvRmDiagListClockSources_inout *)OutBuffer;
|
| + p_inout->pListSize = inout.pListSize;
|
| + if(p_in->phSourceList && phSourceList)
|
| + {
|
| + err_ = NvOsCopyOut( p_in->phSourceList, phSourceList, p_inout->pListSize * sizeof( NvRmDiagClockSourceHandle ) );
|
| + if( err_ != NvSuccess )
|
| + {
|
| + err_ = NvError_BadParameter;
|
| + }
|
| + }
|
| +clean:
|
| + NvOsFree( phSourceList );
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagListModules_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagListModules_in *p_in;
|
| + NvRmDiagListModules_inout *p_inout;
|
| + NvRmDiagListModules_out *p_out;
|
| + NvRmDiagListModules_inout inout;
|
| + NvRmDiagModuleID *pIdList = NULL;
|
| +
|
| + p_in = (NvRmDiagListModules_in *)InBuffer;
|
| + p_inout = (NvRmDiagListModules_inout *)((NvU8 *)InBuffer + OFFSET(NvRmDiagListModules_params, inout));
|
| + p_out = (NvRmDiagListModules_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagListModules_params, out) - OFFSET(NvRmDiagListModules_params, inout));
|
| +
|
| + (void)inout;
|
| + inout.pListSize = p_inout->pListSize;
|
| + if( p_inout->pListSize && p_in->pIdList )
|
| + {
|
| + pIdList = (NvRmDiagModuleID *)NvOsAlloc( p_inout->pListSize * sizeof( NvRmDiagModuleID ) );
|
| + if( !pIdList )
|
| + {
|
| + err_ = NvError_InsufficientMemory;
|
| + goto clean;
|
| + }
|
| + }
|
| +
|
| + p_out->ret_ = NvRmDiagListModules( &inout.pListSize, pIdList );
|
| +
|
| +
|
| + p_inout = (NvRmDiagListModules_inout *)OutBuffer;
|
| + p_inout->pListSize = inout.pListSize;
|
| + if(p_in->pIdList && pIdList)
|
| + {
|
| + err_ = NvOsCopyOut( p_in->pIdList, pIdList, p_inout->pListSize * sizeof( NvRmDiagModuleID ) );
|
| + if( err_ != NvSuccess )
|
| + {
|
| + err_ = NvError_BadParameter;
|
| + }
|
| + }
|
| +clean:
|
| + NvOsFree( pIdList );
|
| + return err_;
|
| +}
|
| +
|
| +static NvError NvRmDiagEnable_dispatch_( void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| + NvRmDiagEnable_in *p_in;
|
| + NvRmDiagEnable_out *p_out;
|
| +
|
| + p_in = (NvRmDiagEnable_in *)InBuffer;
|
| + p_out = (NvRmDiagEnable_out *)((NvU8 *)OutBuffer + OFFSET(NvRmDiagEnable_params, out) - OFFSET(NvRmDiagEnable_params, inout));
|
| +
|
| +
|
| + p_out->ret_ = NvRmDiagEnable( p_in->hDevice );
|
| +
|
| + return err_;
|
| +}
|
| +
|
| +NvError nvrm_diag_Dispatch( NvU32 function, void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx );
|
| +NvError nvrm_diag_Dispatch( NvU32 function, void *InBuffer, NvU32 InSize, void *OutBuffer, NvU32 OutSize, NvDispatchCtx* Ctx )
|
| +{
|
| + NvError err_ = NvSuccess;
|
| +
|
| + switch( function ) {
|
| + case 19:
|
| + err_ = NvRmDiagGetTemperature_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 18:
|
| + err_ = NvRmDiagIsLockSupported_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 17:
|
| + err_ = NvRmDiagConfigurePowerRail_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 16:
|
| + err_ = NvRmDiagModuleListPowerRails_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 15:
|
| + err_ = NvRmDiagPowerRailGetName_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 14:
|
| + err_ = NvRmDiagListPowerRails_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 13:
|
| + err_ = NvRmDiagModuleReset_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 12:
|
| + err_ = NvRmDiagClockScalerConfigure_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 11:
|
| + err_ = NvRmDiagPllConfigure_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 10:
|
| + err_ = NvRmDiagOscillatorGetFreq_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 9:
|
| + err_ = NvRmDiagClockSourceListSources_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 8:
|
| + err_ = NvRmDiagClockSourceGetScaler_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 7:
|
| + err_ = NvRmDiagClockSourceGetType_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 6:
|
| + err_ = NvRmDiagClockSourceGetName_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 5:
|
| + err_ = NvRmDiagModuleClockConfigure_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 4:
|
| + err_ = NvRmDiagModuleClockEnable_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 3:
|
| + err_ = NvRmDiagModuleListClockSources_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 2:
|
| + err_ = NvRmDiagListClockSources_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 1:
|
| + err_ = NvRmDiagListModules_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + case 0:
|
| + err_ = NvRmDiagEnable_dispatch_( InBuffer, InSize, OutBuffer, OutSize, Ctx );
|
| + break;
|
| + default:
|
| + err_ = NvError_BadParameter;
|
| + break;
|
| + }
|
| +
|
| + return err_;
|
| +}
|
|
|