Hi Ankit,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on next-20241024]
[cannot apply to drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master 
v6.12-rc4]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Ankit-Nautiyal/drm-i915-display-Prepare-for-dsc-3-stream-splitter/20241017-162821
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
patch link:    
https://lore.kernel.org/r/20241017082348.3413727-7-ankit.k.nautiyal%40intel.com
patch subject: [PATCH 06/10] drm/i915/display: Add DSC pixel replication
config: i386-randconfig-006-20241024 
(https://download.01.org/0day-ci/archive/20241025/[email protected]/config)
compiler: clang version 19.1.2 (https://github.com/llvm/llvm-project 
7ba7d8e2f7b6445b60679da826210cdde29eaf8b)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20241025/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   In file included from drivers/gpu/drm/i915/display/intel_vdsc.c:13:
   In file included from drivers/gpu/drm/i915/i915_drv.h:40:
   In file included from drivers/gpu/drm/i915/display/intel_display_core.h:16:
   In file included from include/drm/drm_connector.h:32:
   In file included from include/drm/drm_util.h:36:
   In file included from include/linux/kgdb.h:19:
   In file included from include/linux/kprobes.h:28:
   In file included from include/linux/ftrace.h:13:
   In file included from include/linux/kallsyms.h:13:
   In file included from include/linux/mm.h:2213:
   include/linux/vmstat.h:518:36: error: arithmetic between different 
enumeration types ('enum node_stat_item' and 'enum lru_list') 
[-Werror,-Wenum-enum-conversion]
     518 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   drivers/gpu/drm/i915/display/intel_vdsc.c:375:10: error: arithmetic between 
different enumeration types ('enum pipe' and 'enum intel_display_power_domain') 
[-Werror,-Wenum-enum-conversion]
     375 |                 return POWER_DOMAIN_PIPE(pipe);
         |                        ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_display_power.h:120:41: note: expanded 
from macro 'POWER_DOMAIN_PIPE'
     120 | #define POWER_DOMAIN_PIPE(pipe) ((pipe) + POWER_DOMAIN_PIPE_A)
         |                                  ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/i915/display/intel_vdsc.c:817:11: error: arithmetic between 
>> different enumeration types ('const enum transcoder' and 'enum pipe') 
>> [-Werror,-Wenum-enum-conversion]
     816 |                 intel_de_write(dev_priv,
         |                 ~~~~~~~~~~~~~~~~~~~~~~~~
     817 |                                
BMG_PIPE_DSS_CTL3(crtc_state->cpu_transcoder), dss_ctl3_val);
         |                                
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_vdsc_regs.h:57:53: note: expanded from 
macro 'BMG_PIPE_DSS_CTL3'
      57 | #define BMG_PIPE_DSS_CTL3(pipe)                 _MMIO_PIPE((pipe) - 
PIPE_B, \
         |                                                                   ^ 
~~~~~~
   drivers/gpu/drm/i915/display/intel_display_reg_defs.h:25:45: note: expanded 
from macro '_MMIO_PIPE'
      25 | #define _MMIO_PIPE(pipe, a, b)          _MMIO(_PIPE(pipe, a, b))
         |                                                     ^~~~
   drivers/gpu/drm/i915/display/intel_display_reg_defs.h:18:39: note: expanded 
from macro '_PIPE'
      18 | #define _PIPE(pipe, a, b)               _PICK_EVEN(pipe, a, b)
         |                                                    ^~~~
   drivers/gpu/drm/i915/i915_reg_defs.h:213:49: note: expanded from macro 
'_PICK_EVEN'
     213 | #define _PICK_EVEN(__index, __a, __b) ((__a) + (__index) * ((__b) - 
(__a)))
         |                                                 ^~~~~~~
   drivers/gpu/drm/i915/i915_reg_defs.h:267:47: note: expanded from macro 
'_MMIO'
     267 | #define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
         |                                               ^
   drivers/gpu/drm/i915/display/intel_de.h:88:71: note: expanded from macro 
'intel_de_write'
      88 | #define intel_de_write(p,...) 
__intel_de_write(__to_intel_display(p), __VA_ARGS__)
         |                                                                      
 ^~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_vdsc.c:833:12: error: arithmetic between 
different enumeration types ('const enum transcoder' and 'enum pipe') 
[-Werror,-Wenum-enum-conversion]
     832 |                         intel_de_write(dev_priv,
         |                         ~~~~~~~~~~~~~~~~~~~~~~~~
     833 |                                        
BMG_PIPE_DSS_CTL3(old_crtc_state->cpu_transcoder), 0);
         |                                        
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_vdsc_regs.h:57:53: note: expanded from 
macro 'BMG_PIPE_DSS_CTL3'
      57 | #define BMG_PIPE_DSS_CTL3(pipe)                 _MMIO_PIPE((pipe) - 
PIPE_B, \
         |                                                                   ^ 
~~~~~~
   drivers/gpu/drm/i915/display/intel_display_reg_defs.h:25:45: note: expanded 
from macro '_MMIO_PIPE'
      25 | #define _MMIO_PIPE(pipe, a, b)          _MMIO(_PIPE(pipe, a, b))
         |                                                     ^~~~
   drivers/gpu/drm/i915/display/intel_display_reg_defs.h:18:39: note: expanded 
from macro '_PIPE'
      18 | #define _PIPE(pipe, a, b)               _PICK_EVEN(pipe, a, b)
         |                                                    ^~~~
   drivers/gpu/drm/i915/i915_reg_defs.h:213:49: note: expanded from macro 
'_PICK_EVEN'
     213 | #define _PICK_EVEN(__index, __a, __b) ((__a) + (__index) * ((__b) - 
(__a)))
         |                                                 ^~~~~~~
   drivers/gpu/drm/i915/i915_reg_defs.h:267:47: note: expanded from macro 
'_MMIO'
     267 | #define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
         |                                               ^
   drivers/gpu/drm/i915/display/intel_de.h:88:71: note: expanded from macro 
'intel_de_write'
      88 | #define intel_de_write(p,...) 
__intel_de_write(__to_intel_display(p), __VA_ARGS__)
         |                                                                      
 ^~~~~~~~~~~
>> drivers/gpu/drm/i915/display/intel_vdsc.c:1006:38: error: arithmetic between 
>> different enumeration types ('enum transcoder' and 'enum pipe') 
>> [-Werror,-Wenum-enum-conversion]
    1006 |                 dss_ctl3 = intel_de_read(dev_priv, 
BMG_PIPE_DSS_CTL3(crtc_state->cpu_transcoder));
         |                            
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_vdsc_regs.h:57:53: note: expanded from 
macro 'BMG_PIPE_DSS_CTL3'
      57 | #define BMG_PIPE_DSS_CTL3(pipe)                 _MMIO_PIPE((pipe) - 
PIPE_B, \
         |                                                                   ^ 
~~~~~~
   drivers/gpu/drm/i915/display/intel_display_reg_defs.h:25:45: note: expanded 
from macro '_MMIO_PIPE'
      25 | #define _MMIO_PIPE(pipe, a, b)          _MMIO(_PIPE(pipe, a, b))
         |                                                     ^~~~
   drivers/gpu/drm/i915/display/intel_display_reg_defs.h:18:39: note: expanded 
from macro '_PIPE'
      18 | #define _PIPE(pipe, a, b)               _PICK_EVEN(pipe, a, b)
         |                                                    ^~~~
   drivers/gpu/drm/i915/i915_reg_defs.h:213:49: note: expanded from macro 
'_PICK_EVEN'
     213 | #define _PICK_EVEN(__index, __a, __b) ((__a) + (__index) * ((__b) - 
(__a)))
         |                                                 ^~~~~~~
   drivers/gpu/drm/i915/i915_reg_defs.h:267:47: note: expanded from macro 
'_MMIO'
     267 | #define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
         |                                               ^
   drivers/gpu/drm/i915/display/intel_de.h:32:69: note: expanded from macro 
'intel_de_read'
      32 | #define intel_de_read(p,...) __intel_de_read(__to_intel_display(p), 
__VA_ARGS__)
         |                                                                     
^~~~~~~~~~~
   5 errors generated.


vim +817 drivers/gpu/drm/i915/display/intel_vdsc.c

   770  
   771  void intel_dsc_enable(const struct intel_crtc_state *crtc_state)
   772  {
   773          struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
   774          struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
   775          u32 dss_ctl1_val = 0;
   776          u32 dss_ctl2_val = 0;
   777          u32 dss_ctl3_val = 0;
   778          int vdsc_instances_per_pipe = 
intel_dsc_get_vdsc_per_pipe(crtc_state);
   779  
   780          if (!crtc_state->dsc.compression_enable)
   781                  return;
   782  
   783          intel_dsc_pps_configure(crtc_state);
   784  
   785          dss_ctl2_val |= VDSC0_ENABLE;
   786          if (vdsc_instances_per_pipe > 1) {
   787                  dss_ctl2_val |= VDSC1_ENABLE;
   788                  dss_ctl1_val |= JOINER_ENABLE;
   789          }
   790  
   791          if (vdsc_instances_per_pipe > 2) {
   792                  dss_ctl2_val |= VDSC2_ENABLE;
   793                  dss_ctl2_val |= SMALL_JOINER_CONFIG_3_ENGINES;
   794          }
   795  
   796          if (crtc_state->joiner_pipes) {
   797                  if (intel_crtc_ultrajoiner_enable_needed(crtc_state))
   798                          dss_ctl1_val |= ULTRA_JOINER_ENABLE;
   799  
   800                  if (intel_crtc_is_ultrajoiner_primary(crtc_state))
   801                          dss_ctl1_val |= PRIMARY_ULTRA_JOINER_ENABLE;
   802  
   803                  dss_ctl1_val |= BIG_JOINER_ENABLE;
   804  
   805                  if (intel_crtc_is_bigjoiner_primary(crtc_state))
   806                          dss_ctl1_val |= PRIMARY_BIG_JOINER_ENABLE;
   807          }
   808  
   809          if (crtc_state->dsc.pixel_replication_count)
   810                  dss_ctl3_val = 
DSC_PIXEL_REPLICATION(crtc_state->dsc.pixel_replication_count);
   811  
   812          intel_de_write(dev_priv, dss_ctl1_reg(crtc, 
crtc_state->cpu_transcoder), dss_ctl1_val);
   813          intel_de_write(dev_priv, dss_ctl2_reg(crtc, 
crtc_state->cpu_transcoder), dss_ctl2_val);
   814  
   815          if (IS_BATTLEMAGE(dev_priv) && dss_ctl3_val)
   816                  intel_de_write(dev_priv,
 > 817                                 
 > BMG_PIPE_DSS_CTL3(crtc_state->cpu_transcoder), dss_ctl3_val);
   818  }
   819  
   820  void intel_dsc_disable(const struct intel_crtc_state *old_crtc_state)
   821  {
   822          struct intel_crtc *crtc = 
to_intel_crtc(old_crtc_state->uapi.crtc);
   823          struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
   824  
   825          /* Disable only if either of them is enabled */
   826          if (old_crtc_state->dsc.compression_enable ||
   827              old_crtc_state->joiner_pipes) {
   828                  intel_de_write(dev_priv, dss_ctl1_reg(crtc, 
old_crtc_state->cpu_transcoder), 0);
   829                  intel_de_write(dev_priv, dss_ctl2_reg(crtc, 
old_crtc_state->cpu_transcoder), 0);
   830  
   831                  if (IS_BATTLEMAGE(dev_priv))
   832                          intel_de_write(dev_priv,
   833                                         
BMG_PIPE_DSS_CTL3(old_crtc_state->cpu_transcoder), 0);
   834          }
   835  }
   836  
   837  static u32 intel_dsc_pps_read(struct intel_crtc_state *crtc_state, int 
pps,
   838                                bool *all_equal)
   839  {
   840          struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
   841          struct drm_i915_private *i915 = to_i915(crtc->base.dev);
   842          i915_reg_t dsc_reg[3];
   843          int i, vdsc_per_pipe, dsc_reg_num;
   844          u32 val;
   845  
   846          vdsc_per_pipe = intel_dsc_get_vdsc_per_pipe(crtc_state);
   847          dsc_reg_num = min_t(int, ARRAY_SIZE(dsc_reg), vdsc_per_pipe);
   848  
   849          drm_WARN_ON_ONCE(&i915->drm, dsc_reg_num < vdsc_per_pipe);
   850  
   851          intel_dsc_get_pps_reg(crtc_state, pps, dsc_reg, dsc_reg_num);
   852  
   853          *all_equal = true;
   854  
   855          val = intel_de_read(i915, dsc_reg[0]);
   856  
   857          for (i = 1; i < dsc_reg_num; i++) {
   858                  if (intel_de_read(i915, dsc_reg[i]) != val) {
   859                          *all_equal = false;
   860                          break;
   861                  }
   862          }
   863  
   864          return val;
   865  }
   866  
   867  static u32 intel_dsc_pps_read_and_verify(struct intel_crtc_state 
*crtc_state, int pps)
   868  {
   869          struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
   870          struct drm_i915_private *i915 = to_i915(crtc->base.dev);
   871          u32 val;
   872          bool all_equal;
   873  
   874          val = intel_dsc_pps_read(crtc_state, pps, &all_equal);
   875          drm_WARN_ON(&i915->drm, !all_equal);
   876  
   877          return val;
   878  }
   879  
   880  static void intel_dsc_get_pps_config(struct intel_crtc_state 
*crtc_state)
   881  {
   882          struct drm_dsc_config *vdsc_cfg = &crtc_state->dsc.config;
   883          struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
   884          struct drm_i915_private *i915 = to_i915(crtc->base.dev);
   885          int num_vdsc_instances = 
intel_dsc_get_num_vdsc_instances(crtc_state);
   886          u32 pps_temp;
   887  
   888          /* PPS 0 */
   889          pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 0);
   890  
   891          vdsc_cfg->bits_per_component = REG_FIELD_GET(DSC_PPS0_BPC_MASK, 
pps_temp);
   892          vdsc_cfg->line_buf_depth = 
REG_FIELD_GET(DSC_PPS0_LINE_BUF_DEPTH_MASK, pps_temp);
   893          vdsc_cfg->block_pred_enable = pps_temp & 
DSC_PPS0_BLOCK_PREDICTION;
   894          vdsc_cfg->convert_rgb = pps_temp & 
DSC_PPS0_COLOR_SPACE_CONVERSION;
   895          vdsc_cfg->simple_422 = pps_temp & DSC_PPS0_422_ENABLE;
   896          vdsc_cfg->native_422 = pps_temp & DSC_PPS0_NATIVE_422_ENABLE;
   897          vdsc_cfg->native_420 = pps_temp & DSC_PPS0_NATIVE_420_ENABLE;
   898          vdsc_cfg->vbr_enable = pps_temp & DSC_PPS0_VBR_ENABLE;
   899  
   900          /* PPS 1 */
   901          pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 1);
   902  
   903          vdsc_cfg->bits_per_pixel = REG_FIELD_GET(DSC_PPS1_BPP_MASK, 
pps_temp);
   904  
   905          if (vdsc_cfg->native_420)
   906                  vdsc_cfg->bits_per_pixel >>= 1;
   907  
   908          crtc_state->dsc.compressed_bpp_x16 = vdsc_cfg->bits_per_pixel;
   909  
   910          /* PPS 2 */
   911          pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 2);
   912  
   913          vdsc_cfg->pic_width = REG_FIELD_GET(DSC_PPS2_PIC_WIDTH_MASK, 
pps_temp) * num_vdsc_instances;
   914          vdsc_cfg->pic_height = REG_FIELD_GET(DSC_PPS2_PIC_HEIGHT_MASK, 
pps_temp);
   915  
   916          /* PPS 3 */
   917          pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 3);
   918  
   919          vdsc_cfg->slice_width = 
REG_FIELD_GET(DSC_PPS3_SLICE_WIDTH_MASK, pps_temp);
   920          vdsc_cfg->slice_height = 
REG_FIELD_GET(DSC_PPS3_SLICE_HEIGHT_MASK, pps_temp);
   921  
   922          /* PPS 4 */
   923          pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 4);
   924  
   925          vdsc_cfg->initial_dec_delay = 
REG_FIELD_GET(DSC_PPS4_INITIAL_DEC_DELAY_MASK, pps_temp);
   926          vdsc_cfg->initial_xmit_delay = 
REG_FIELD_GET(DSC_PPS4_INITIAL_XMIT_DELAY_MASK, pps_temp);
   927  
   928          /* PPS 5 */
   929          pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 5);
   930  
   931          vdsc_cfg->scale_decrement_interval = 
REG_FIELD_GET(DSC_PPS5_SCALE_DEC_INT_MASK, pps_temp);
   932          vdsc_cfg->scale_increment_interval = 
REG_FIELD_GET(DSC_PPS5_SCALE_INC_INT_MASK, pps_temp);
   933  
   934          /* PPS 6 */
   935          pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 6);
   936  
   937          vdsc_cfg->initial_scale_value = 
REG_FIELD_GET(DSC_PPS6_INITIAL_SCALE_VALUE_MASK, pps_temp);
   938          vdsc_cfg->first_line_bpg_offset = 
REG_FIELD_GET(DSC_PPS6_FIRST_LINE_BPG_OFFSET_MASK, pps_temp);
   939          vdsc_cfg->flatness_min_qp = 
REG_FIELD_GET(DSC_PPS6_FLATNESS_MIN_QP_MASK, pps_temp);
   940          vdsc_cfg->flatness_max_qp = 
REG_FIELD_GET(DSC_PPS6_FLATNESS_MAX_QP_MASK, pps_temp);
   941  
   942          /* PPS 7 */
   943          pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 7);
   944  
   945          vdsc_cfg->nfl_bpg_offset = 
REG_FIELD_GET(DSC_PPS7_NFL_BPG_OFFSET_MASK, pps_temp);
   946          vdsc_cfg->slice_bpg_offset = 
REG_FIELD_GET(DSC_PPS7_SLICE_BPG_OFFSET_MASK, pps_temp);
   947  
   948          /* PPS 8 */
   949          pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 8);
   950  
   951          vdsc_cfg->initial_offset = 
REG_FIELD_GET(DSC_PPS8_INITIAL_OFFSET_MASK, pps_temp);
   952          vdsc_cfg->final_offset = 
REG_FIELD_GET(DSC_PPS8_FINAL_OFFSET_MASK, pps_temp);
   953  
   954          /* PPS 9 */
   955          pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 9);
   956  
   957          vdsc_cfg->rc_model_size = 
REG_FIELD_GET(DSC_PPS9_RC_MODEL_SIZE_MASK, pps_temp);
   958  
   959          /* PPS 10 */
   960          pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 10);
   961  
   962          vdsc_cfg->rc_quant_incr_limit0 = 
REG_FIELD_GET(DSC_PPS10_RC_QUANT_INC_LIMIT0_MASK, pps_temp);
   963          vdsc_cfg->rc_quant_incr_limit1 = 
REG_FIELD_GET(DSC_PPS10_RC_QUANT_INC_LIMIT1_MASK, pps_temp);
   964  
   965          /* PPS 16 */
   966          pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 16);
   967  
   968          vdsc_cfg->slice_chunk_size = 
REG_FIELD_GET(DSC_PPS16_SLICE_CHUNK_SIZE_MASK, pps_temp);
   969  
   970          if (DISPLAY_VER(i915) >= 14) {
   971                  /* PPS 17 */
   972                  pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 
17);
   973  
   974                  vdsc_cfg->second_line_bpg_offset = 
REG_FIELD_GET(DSC_PPS17_SL_BPG_OFFSET_MASK, pps_temp);
   975  
   976                  /* PPS 18 */
   977                  pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 
18);
   978  
   979                  vdsc_cfg->nsl_bpg_offset = 
REG_FIELD_GET(DSC_PPS18_NSL_BPG_OFFSET_MASK, pps_temp);
   980                  vdsc_cfg->second_line_offset_adj = 
REG_FIELD_GET(DSC_PPS18_SL_OFFSET_ADJ_MASK, pps_temp);
   981          }
   982  }
   983  
   984  void intel_dsc_get_config(struct intel_crtc_state *crtc_state)
   985  {
   986          struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
   987          struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
   988          enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
   989          enum intel_display_power_domain power_domain;
   990          intel_wakeref_t wakeref;
   991          u32 dss_ctl1, dss_ctl2, dss_ctl3 = 0;
   992  
   993          if (!intel_dsc_source_support(crtc_state))
   994                  return;
   995  
   996          power_domain = intel_dsc_power_domain(crtc, cpu_transcoder);
   997  
   998          wakeref = intel_display_power_get_if_enabled(dev_priv, 
power_domain);
   999          if (!wakeref)
  1000                  return;
  1001  
  1002          dss_ctl1 = intel_de_read(dev_priv, dss_ctl1_reg(crtc, 
cpu_transcoder));
  1003          dss_ctl2 = intel_de_read(dev_priv, dss_ctl2_reg(crtc, 
cpu_transcoder));
  1004  
  1005          if (IS_BATTLEMAGE(dev_priv))
> 1006                  dss_ctl3 = intel_de_read(dev_priv, 
> BMG_PIPE_DSS_CTL3(crtc_state->cpu_transcoder));
  1007  
  1008          crtc_state->dsc.compression_enable = dss_ctl2 & VDSC0_ENABLE;
  1009          if (!crtc_state->dsc.compression_enable)
  1010                  goto out;
  1011  
  1012          if (dss_ctl1 & JOINER_ENABLE) {
  1013                  if (dss_ctl2 & (VDSC2_ENABLE | 
SMALL_JOINER_CONFIG_3_ENGINES))
  1014                          crtc_state->dsc.dsc_split = 
INTEL_DSC_SPLIT_3_STREAMS;
  1015  
  1016                  else if (dss_ctl2 & VDSC1_ENABLE)
  1017                          crtc_state->dsc.dsc_split = 
INTEL_DSC_SPLIT_2_STREAMS;
  1018          } else {
  1019                  crtc_state->dsc.dsc_split = INTEL_DSC_SPLIT_DISABLED;
  1020          }
  1021  
  1022          if (dss_ctl3 & DSC_PIXEL_REPLICATION_MASK)
  1023                  crtc_state->dsc.pixel_replication_count =
  1024                          dss_ctl3 & DSC_PIXEL_REPLICATION_MASK;
  1025  
  1026          intel_dsc_get_pps_config(crtc_state);
  1027  out:
  1028          intel_display_power_put(dev_priv, power_domain, wakeref);
  1029  }
  1030  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to