linux/drivers/gpu/drm/amd/powerplay/hwmgr/fiji_dyn_defaults.h
<<
>>
Prefs
   1/*
   2 * Copyright 2015 Advanced Micro Devices, Inc.
   3 *
   4 * Permission is hereby granted, free of charge, to any person obtaining a
   5 * copy of this software and associated documentation files (the "Software"),
   6 * to deal in the Software without restriction, including without limitation
   7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
   8 * and/or sell copies of the Software, and to permit persons to whom the
   9 * Software is furnished to do so, subject to the following conditions:
  10 *
  11 * The above copyright notice and this permission notice shall be included in
  12 * all copies or substantial portions of the Software.
  13 *
  14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  17 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
  18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  20 * OTHER DEALINGS IN THE SOFTWARE.
  21 *
  22 */
  23
  24#ifndef FIJI_DYN_DEFAULTS_H
  25#define FIJI_DYN_DEFAULTS_H
  26
  27/** \file
  28* Volcanic Islands Dynamic default parameters.
  29*/
  30
  31enum FIJIdpm_TrendDetection
  32{
  33    FIJIAdpm_TrendDetection_AUTO,
  34    FIJIAdpm_TrendDetection_UP,
  35    FIJIAdpm_TrendDetection_DOWN
  36};
  37typedef enum FIJIdpm_TrendDetection FIJIdpm_TrendDetection;
  38
  39/* We need to fill in the default values!!!!!!!!!!!!!!!!!!!!!!! */
  40
  41/* Bit vector representing same fields as hardware register. */
  42#define PPFIJI_VOTINGRIGHTSCLIENTS_DFLT0    0x3FFFC102  /* CP_Gfx_busy ????
  43                                                         * HDP_busy
  44                                                         * IH_busy
  45                                                         * UVD_busy
  46                                                         * VCE_busy
  47                                                         * ACP_busy
  48                                                         * SAMU_busy
  49                                                         * SDMA enabled */
  50#define PPFIJI_VOTINGRIGHTSCLIENTS_DFLT1    0x000400  /* FE_Gfx_busy  - Intended for primary usage.   Rest are for flexibility. ????
  51                                                       * SH_Gfx_busy
  52                                                       * RB_Gfx_busy
  53                                                       * VCE_busy */
  54
  55#define PPFIJI_VOTINGRIGHTSCLIENTS_DFLT2    0xC00080  /* SH_Gfx_busy - Intended for primary usage.   Rest are for flexibility.
  56                                                       * FE_Gfx_busy
  57                                                       * RB_Gfx_busy
  58                                                       * ACP_busy */
  59
  60#define PPFIJI_VOTINGRIGHTSCLIENTS_DFLT3    0xC00200  /* RB_Gfx_busy - Intended for primary usage.   Rest are for flexibility.
  61                                                       * FE_Gfx_busy
  62                                                       * SH_Gfx_busy
  63                                                       * UVD_busy */
  64
  65#define PPFIJI_VOTINGRIGHTSCLIENTS_DFLT4    0xC01680  /* UVD_busy
  66                                                       * VCE_busy
  67                                                       * ACP_busy
  68                                                       * SAMU_busy */
  69
  70#define PPFIJI_VOTINGRIGHTSCLIENTS_DFLT5    0xC00033  /* GFX, HDP */
  71#define PPFIJI_VOTINGRIGHTSCLIENTS_DFLT6    0xC00033  /* GFX, HDP */
  72#define PPFIJI_VOTINGRIGHTSCLIENTS_DFLT7    0x3FFFC000  /* GFX, HDP */
  73
  74
  75/* thermal protection counter (units). */
  76#define PPFIJI_THERMALPROTECTCOUNTER_DFLT            0x200 /* ~19us */
  77
  78/* static screen threshold unit */
  79#define PPFIJI_STATICSCREENTHRESHOLDUNIT_DFLT    0
  80
  81/* static screen threshold */
  82#define PPFIJI_STATICSCREENTHRESHOLD_DFLT        0x00C8
  83
  84/* gfx idle clock stop threshold */
  85#define PPFIJI_GFXIDLECLOCKSTOPTHRESHOLD_DFLT        0x200 /* ~19us with static screen threshold unit of 0 */
  86
  87/* Fixed reference divider to use when building baby stepping tables. */
  88#define PPFIJI_REFERENCEDIVIDER_DFLT                  4
  89
  90/* ULV voltage change delay time
  91 * Used to be delay_vreg in N.I. split for S.I.
  92 * Using N.I. delay_vreg value as default
  93 * ReferenceClock = 2700
  94 * VoltageResponseTime = 1000
  95 * VDDCDelayTime = (VoltageResponseTime * ReferenceClock) / 1600 = 1687
  96 */
  97#define PPFIJI_ULVVOLTAGECHANGEDELAY_DFLT             1687
  98
  99#define PPFIJI_CGULVPARAMETER_DFLT                      0x00040035
 100#define PPFIJI_CGULVCONTROL_DFLT                        0x00007450
 101#define PPFIJI_TARGETACTIVITY_DFLT                      30 /* 30%*/
 102#define PPFIJI_MCLK_TARGETACTIVITY_DFLT         10 /* 10% */
 103
 104#endif
 105
 106