1 /*
2 * Copyright (c) 2014-2017, Intel Corporation
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
12 * in all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS 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 //! \file      codechal_hw_g9_bxt.cpp
24 //! \brief         This modules implements HW interface layer to be used on bxt on all operating systems/DDIs, across CODECHAL components.
25 //!
26 
27 #include "codechal_hw_g9_bxt.h"
28 
29 // BXT default table. Currently initialized with dummy values, just as an example. Will be updated later.
30 const CODECHAL_SSEU_SETTING CodechalHwInterfaceG9Bxt::m_defaultSsEuLutG9Bxt[CODECHAL_NUM_MEDIA_STATES] =
31 {
32     // Slice    Sub-Slice   EU      Rsvd(freq)
33     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_OLP
34     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_ENC_NORMAL
35     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_ENC_PERFORMANCE
36     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_ENC_QUALITY
37     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_ENC_I_FRAME_DIST
38     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_32X_SCALING
39     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_16X_SCALING
40     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_4X_SCALING
41     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_32X_ME
42     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_16X_ME
43     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_4X_ME
44     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_BRC_INIT_RESET
45     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_BRC_UPDATE
46     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_BRC_BLOCK_COPY
47     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_HYBRID_PAK_P1
48     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_HYBRID_PAK_P2
49     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_ENC_I_FRAME_CHROMA
50     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_ENC_I_FRAME_LUMA
51     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_MPU_FHB
52     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_TPU_FHB
53     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_PA_COPY
54     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_PL2_COPY
55     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_ENC_ADV
56     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_2X_SCALING
57     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_32x32_PU_MODE_DECISION
58     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_16x16_PU_SAD
59     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_16x16_PU_MODE_DECISION
60     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_8x8_PU
61     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_8x8_PU_FMODE
62     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_32x32_B_INTRA_CHECK
63     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_HEVC_B_MBENC
64     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_RESET_VLINE_STRIDE
65     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_HEVC_B_PAK
66     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_HEVC_BRC_LCU_UPDATE
67     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_ME_VDENC_STREAMIN
68     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_ENC_I_32x32
69     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_ENC_I_16x16
70     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_ENC_P
71     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_ENC_TX
72     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_LUMA_RECON
73     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_CHROMA_RECON
74     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_DEBLOCK_MASK
75     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_LUMA_DEBLOCK
76     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_CHROMA_DEBLOCK
77     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_MC_PRED
78     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_P_FRAME_LUMA_RECON
79     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_P_FRAME_CHROMA_RECON
80     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_P_FRAME_INTRA_LUMA_RECON
81     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_P_FRAME_INTRA_CHROMA_RECON
82     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_PREPROC
83     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_ENC_WP
84     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_HEVC_I_MBENC
85     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_CSC_DS_COPY
86     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_2X_4X_SCALING
87     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_HEVC_LCU64_B_MBENC
88     { 1,        3,        6,         0 },    // CODECHAL_MEDIA_STATE_MB_BRC_UPDATE
89     { 1,        3,        6,         0 }     // CODECHAL_MEDIA_STATE_STATIC_FRAME_DETECTION
90 };
91