xref: /openbmc/linux/drivers/gpu/drm/i915/display/intel_vdsc_regs.h (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1c3f05948SJani Nikula /* SPDX-License-Identifier: MIT */
2c3f05948SJani Nikula /*
3c3f05948SJani Nikula  * Copyright © 2023 Intel Corporation
4c3f05948SJani Nikula  */
5c3f05948SJani Nikula 
6c3f05948SJani Nikula #ifndef __INTEL_VDSC_REGS_H__
7c3f05948SJani Nikula #define __INTEL_VDSC_REGS_H__
8c3f05948SJani Nikula 
9c3f05948SJani Nikula #include "intel_display_reg_defs.h"
10c3f05948SJani Nikula 
11c3f05948SJani Nikula /* Display Stream Splitter Control */
12c3f05948SJani Nikula #define DSS_CTL1				_MMIO(0x67400)
13c3f05948SJani Nikula #define  SPLITTER_ENABLE			(1 << 31)
14c3f05948SJani Nikula #define  JOINER_ENABLE				(1 << 30)
15c3f05948SJani Nikula #define  DUAL_LINK_MODE_INTERLEAVE		(1 << 24)
16c3f05948SJani Nikula #define  DUAL_LINK_MODE_FRONTBACK		(0 << 24)
17c3f05948SJani Nikula #define  OVERLAP_PIXELS_MASK			(0xf << 16)
18c3f05948SJani Nikula #define  OVERLAP_PIXELS(pixels)			((pixels) << 16)
19c3f05948SJani Nikula #define  LEFT_DL_BUF_TARGET_DEPTH_MASK		(0xfff << 0)
20c3f05948SJani Nikula #define  LEFT_DL_BUF_TARGET_DEPTH(pixels)	((pixels) << 0)
21c3f05948SJani Nikula #define  MAX_DL_BUFFER_TARGET_DEPTH		0x5a0
22c3f05948SJani Nikula 
23c3f05948SJani Nikula #define DSS_CTL2				_MMIO(0x67404)
24c3f05948SJani Nikula #define  LEFT_BRANCH_VDSC_ENABLE		(1 << 31)
25c3f05948SJani Nikula #define  RIGHT_BRANCH_VDSC_ENABLE		(1 << 15)
26c3f05948SJani Nikula #define  RIGHT_DL_BUF_TARGET_DEPTH_MASK		(0xfff << 0)
27c3f05948SJani Nikula #define  RIGHT_DL_BUF_TARGET_DEPTH(pixels)	((pixels) << 0)
28c3f05948SJani Nikula 
29c3f05948SJani Nikula #define _ICL_PIPE_DSS_CTL1_PB			0x78200
30c3f05948SJani Nikula #define _ICL_PIPE_DSS_CTL1_PC			0x78400
31c3f05948SJani Nikula #define ICL_PIPE_DSS_CTL1(pipe)			_MMIO_PIPE((pipe) - PIPE_B, \
32c3f05948SJani Nikula 							   _ICL_PIPE_DSS_CTL1_PB, \
33c3f05948SJani Nikula 							   _ICL_PIPE_DSS_CTL1_PC)
34c3f05948SJani Nikula #define  BIG_JOINER_ENABLE			(1 << 29)
35c3f05948SJani Nikula #define  MASTER_BIG_JOINER_ENABLE		(1 << 28)
36c3f05948SJani Nikula #define  VGA_CENTERING_ENABLE			(1 << 27)
37c3f05948SJani Nikula #define  SPLITTER_CONFIGURATION_MASK		REG_GENMASK(26, 25)
38c3f05948SJani Nikula #define  SPLITTER_CONFIGURATION_2_SEGMENT	REG_FIELD_PREP(SPLITTER_CONFIGURATION_MASK, 0)
39c3f05948SJani Nikula #define  SPLITTER_CONFIGURATION_4_SEGMENT	REG_FIELD_PREP(SPLITTER_CONFIGURATION_MASK, 1)
40c3f05948SJani Nikula #define  UNCOMPRESSED_JOINER_MASTER		(1 << 21)
41c3f05948SJani Nikula #define  UNCOMPRESSED_JOINER_SLAVE		(1 << 20)
42c3f05948SJani Nikula 
43c3f05948SJani Nikula #define _ICL_PIPE_DSS_CTL2_PB			0x78204
44c3f05948SJani Nikula #define _ICL_PIPE_DSS_CTL2_PC			0x78404
45c3f05948SJani Nikula #define ICL_PIPE_DSS_CTL2(pipe)			_MMIO_PIPE((pipe) - PIPE_B, \
46c3f05948SJani Nikula 							   _ICL_PIPE_DSS_CTL2_PB, \
47c3f05948SJani Nikula 							   _ICL_PIPE_DSS_CTL2_PC)
48c3f05948SJani Nikula 
49*ac754358SSuraj Kandpal /* MTL Display Stream Compression registers */
50*ac754358SSuraj Kandpal #define _MTL_DSC0_PICTURE_PARAMETER_SET_17_PB	0x782B4
51*ac754358SSuraj Kandpal #define _MTL_DSC1_PICTURE_PARAMETER_SET_17_PB	0x783B4
52*ac754358SSuraj Kandpal #define _MTL_DSC0_PICTURE_PARAMETER_SET_17_PC	0x784B4
53*ac754358SSuraj Kandpal #define _MTL_DSC1_PICTURE_PARAMETER_SET_17_PC	0x785B4
54*ac754358SSuraj Kandpal #define MTL_DSC0_PICTURE_PARAMETER_SET_17(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
55*ac754358SSuraj Kandpal 							   _MTL_DSC0_PICTURE_PARAMETER_SET_17_PB, \
56*ac754358SSuraj Kandpal 							   _MTL_DSC0_PICTURE_PARAMETER_SET_17_PC)
57*ac754358SSuraj Kandpal #define MTL_DSC1_PICTURE_PARAMETER_SET_17(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
58*ac754358SSuraj Kandpal 							   _MTL_DSC1_PICTURE_PARAMETER_SET_17_PB, \
59*ac754358SSuraj Kandpal 							   _MTL_DSC1_PICTURE_PARAMETER_SET_17_PC)
60*ac754358SSuraj Kandpal #define DSC_SL_BPG_OFFSET(offset)		((offset) << 27)
61*ac754358SSuraj Kandpal 
62*ac754358SSuraj Kandpal #define _MTL_DSC0_PICTURE_PARAMETER_SET_18_PB	0x782B8
63*ac754358SSuraj Kandpal #define _MTL_DSC1_PICTURE_PARAMETER_SET_18_PB	0x783B8
64*ac754358SSuraj Kandpal #define _MTL_DSC0_PICTURE_PARAMETER_SET_18_PC	0x784B8
65*ac754358SSuraj Kandpal #define _MTL_DSC1_PICTURE_PARAMETER_SET_18_PC	0x785B8
66*ac754358SSuraj Kandpal #define MTL_DSC0_PICTURE_PARAMETER_SET_18(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
67*ac754358SSuraj Kandpal 							   _MTL_DSC0_PICTURE_PARAMETER_SET_18_PB, \
68*ac754358SSuraj Kandpal 							   _MTL_DSC0_PICTURE_PARAMETER_SET_18_PC)
69*ac754358SSuraj Kandpal #define MTL_DSC1_PICTURE_PARAMETER_SET_18(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
70*ac754358SSuraj Kandpal 							   _MTL_DSC1_PICTURE_PARAMETER_SET_18_PB, \
71*ac754358SSuraj Kandpal 							   _MTL_DSC1_PICTURE_PARAMETER_SET_18_PC)
72*ac754358SSuraj Kandpal #define DSC_NSL_BPG_OFFSET(offset)		((offset) << 16)
73*ac754358SSuraj Kandpal #define DSC_SL_OFFSET_ADJ(offset)		((offset) << 0)
74*ac754358SSuraj Kandpal 
75c3f05948SJani Nikula /* Icelake Display Stream Compression Registers */
76c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_0		_MMIO(0x6B200)
77c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_0		_MMIO(0x6BA00)
78c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_0_PB	0x78270
79c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_0_PB	0x78370
80c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_0_PC	0x78470
81c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_0_PC	0x78570
82c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_0(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
83c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_0_PB, \
84c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_0_PC)
85c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_0(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
86c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_0_PB, \
87c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_0_PC)
88*ac754358SSuraj Kandpal #define  DSC_NATIVE_422_ENABLE		BIT(23)
89*ac754358SSuraj Kandpal #define  DSC_NATIVE_420_ENABLE		BIT(22)
90c3f05948SJani Nikula #define  DSC_ALT_ICH_SEL		(1 << 20)
91c3f05948SJani Nikula #define  DSC_VBR_ENABLE			(1 << 19)
92c3f05948SJani Nikula #define  DSC_422_ENABLE			(1 << 18)
93c3f05948SJani Nikula #define  DSC_COLOR_SPACE_CONVERSION	(1 << 17)
94c3f05948SJani Nikula #define  DSC_BLOCK_PREDICTION		(1 << 16)
95c3f05948SJani Nikula #define  DSC_LINE_BUF_DEPTH_SHIFT	12
96c3f05948SJani Nikula #define  DSC_BPC_SHIFT			8
97c3f05948SJani Nikula #define  DSC_VER_MIN_SHIFT		4
98c3f05948SJani Nikula #define  DSC_VER_MAJ			(0x1 << 0)
99c3f05948SJani Nikula 
100c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_1		_MMIO(0x6B204)
101c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_1		_MMIO(0x6BA04)
102c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_1_PB	0x78274
103c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_1_PB	0x78374
104c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_1_PC	0x78474
105c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_1_PC	0x78574
106c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_1(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
107c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_1_PB, \
108c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_1_PC)
109c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_1(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
110c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_1_PB, \
111c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_1_PC)
112c3f05948SJani Nikula #define  DSC_BPP(bpp)				((bpp) << 0)
113c3f05948SJani Nikula 
114c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_2		_MMIO(0x6B208)
115c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_2		_MMIO(0x6BA08)
116c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_2_PB	0x78278
117c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_2_PB	0x78378
118c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_2_PC	0x78478
119c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_2_PC	0x78578
120c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_2(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
121c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_2_PB, \
122c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_2_PC)
123c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_2(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
124c3f05948SJani Nikula 					    _ICL_DSC1_PICTURE_PARAMETER_SET_2_PB, \
125c3f05948SJani Nikula 					    _ICL_DSC1_PICTURE_PARAMETER_SET_2_PC)
126c3f05948SJani Nikula #define  DSC_PIC_WIDTH(pic_width)	((pic_width) << 16)
127c3f05948SJani Nikula #define  DSC_PIC_HEIGHT(pic_height)	((pic_height) << 0)
128c3f05948SJani Nikula 
129c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_3		_MMIO(0x6B20C)
130c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_3		_MMIO(0x6BA0C)
131c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_3_PB	0x7827C
132c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_3_PB	0x7837C
133c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_3_PC	0x7847C
134c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_3_PC	0x7857C
135c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_3(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
136c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_3_PB, \
137c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_3_PC)
138c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_3(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
139c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_3_PB, \
140c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_3_PC)
141c3f05948SJani Nikula #define  DSC_SLICE_WIDTH(slice_width)   ((slice_width) << 16)
142c3f05948SJani Nikula #define  DSC_SLICE_HEIGHT(slice_height) ((slice_height) << 0)
143c3f05948SJani Nikula 
144c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_4		_MMIO(0x6B210)
145c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_4		_MMIO(0x6BA10)
146c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_4_PB	0x78280
147c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_4_PB	0x78380
148c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_4_PC	0x78480
149c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_4_PC	0x78580
150c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_4(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
151c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_4_PB, \
152c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_4_PC)
153c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_4(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
154c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_4_PB, \
155c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_4_PC)
156c3f05948SJani Nikula #define  DSC_INITIAL_DEC_DELAY(dec_delay)       ((dec_delay) << 16)
157c3f05948SJani Nikula #define  DSC_INITIAL_XMIT_DELAY(xmit_delay)     ((xmit_delay) << 0)
158c3f05948SJani Nikula 
159c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_5		_MMIO(0x6B214)
160c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_5		_MMIO(0x6BA14)
161c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_5_PB	0x78284
162c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_5_PB	0x78384
163c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_5_PC	0x78484
164c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_5_PC	0x78584
165c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_5(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
166c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_5_PB, \
167c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_5_PC)
168c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_5(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
169c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_5_PB, \
170c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_5_PC)
171c3f05948SJani Nikula #define  DSC_SCALE_DEC_INT(scale_dec)	((scale_dec) << 16)
172c3f05948SJani Nikula #define  DSC_SCALE_INC_INT(scale_inc)		((scale_inc) << 0)
173c3f05948SJani Nikula 
174c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_6		_MMIO(0x6B218)
175c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_6		_MMIO(0x6BA18)
176c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_6_PB	0x78288
177c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_6_PB	0x78388
178c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_6_PC	0x78488
179c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_6_PC	0x78588
180c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_6(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
181c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_6_PB, \
182c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_6_PC)
183c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_6(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
184c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_6_PB, \
185c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_6_PC)
186c3f05948SJani Nikula #define  DSC_FLATNESS_MAX_QP(max_qp)		((max_qp) << 24)
187c3f05948SJani Nikula #define  DSC_FLATNESS_MIN_QP(min_qp)		((min_qp) << 16)
188c3f05948SJani Nikula #define  DSC_FIRST_LINE_BPG_OFFSET(offset)	((offset) << 8)
189c3f05948SJani Nikula #define  DSC_INITIAL_SCALE_VALUE(value)		((value) << 0)
190c3f05948SJani Nikula 
191c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_7		_MMIO(0x6B21C)
192c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_7		_MMIO(0x6BA1C)
193c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_7_PB	0x7828C
194c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_7_PB	0x7838C
195c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_7_PC	0x7848C
196c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_7_PC	0x7858C
197c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_7(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
198c3f05948SJani Nikula 							    _ICL_DSC0_PICTURE_PARAMETER_SET_7_PB, \
199c3f05948SJani Nikula 							    _ICL_DSC0_PICTURE_PARAMETER_SET_7_PC)
200c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_7(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
201c3f05948SJani Nikula 							    _ICL_DSC1_PICTURE_PARAMETER_SET_7_PB, \
202c3f05948SJani Nikula 							    _ICL_DSC1_PICTURE_PARAMETER_SET_7_PC)
203c3f05948SJani Nikula #define  DSC_NFL_BPG_OFFSET(bpg_offset)		((bpg_offset) << 16)
204c3f05948SJani Nikula #define  DSC_SLICE_BPG_OFFSET(bpg_offset)	((bpg_offset) << 0)
205c3f05948SJani Nikula 
206c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_8		_MMIO(0x6B220)
207c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_8		_MMIO(0x6BA20)
208c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_8_PB	0x78290
209c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_8_PB	0x78390
210c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_8_PC	0x78490
211c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_8_PC	0x78590
212c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_8(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
213c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_8_PB, \
214c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_8_PC)
215c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_8(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
216c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_8_PB, \
217c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_8_PC)
218c3f05948SJani Nikula #define  DSC_INITIAL_OFFSET(initial_offset)		((initial_offset) << 16)
219c3f05948SJani Nikula #define  DSC_FINAL_OFFSET(final_offset)			((final_offset) << 0)
220c3f05948SJani Nikula 
221c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_9		_MMIO(0x6B224)
222c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_9		_MMIO(0x6BA24)
223c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_9_PB	0x78294
224c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_9_PB	0x78394
225c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_9_PC	0x78494
226c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_9_PC	0x78594
227c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_9(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
228c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_9_PB, \
229c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_9_PC)
230c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_9(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
231c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_9_PB, \
232c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_9_PC)
233c3f05948SJani Nikula #define  DSC_RC_EDGE_FACTOR(rc_edge_fact)	((rc_edge_fact) << 16)
234c3f05948SJani Nikula #define  DSC_RC_MODEL_SIZE(rc_model_size)	((rc_model_size) << 0)
235c3f05948SJani Nikula 
236c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_10		_MMIO(0x6B228)
237c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_10		_MMIO(0x6BA28)
238c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_10_PB	0x78298
239c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_10_PB	0x78398
240c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_10_PC	0x78498
241c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_10_PC	0x78598
242c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_10(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
243c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_10_PB, \
244c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_10_PC)
245c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_10(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
246c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_10_PB, \
247c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_10_PC)
248c3f05948SJani Nikula #define  DSC_RC_TARGET_OFF_LOW(rc_tgt_off_low)		((rc_tgt_off_low) << 20)
249c3f05948SJani Nikula #define  DSC_RC_TARGET_OFF_HIGH(rc_tgt_off_high)	((rc_tgt_off_high) << 16)
250c3f05948SJani Nikula #define  DSC_RC_QUANT_INC_LIMIT1(lim)			((lim) << 8)
251c3f05948SJani Nikula #define  DSC_RC_QUANT_INC_LIMIT0(lim)			((lim) << 0)
252c3f05948SJani Nikula 
253c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_11		_MMIO(0x6B22C)
254c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_11		_MMIO(0x6BA2C)
255c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_11_PB	0x7829C
256c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_11_PB	0x7839C
257c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_11_PC	0x7849C
258c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_11_PC	0x7859C
259c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_11(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
260c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_11_PB, \
261c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_11_PC)
262c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_11(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
263c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_11_PB, \
264c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_11_PC)
265c3f05948SJani Nikula 
266c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_12		_MMIO(0x6B260)
267c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_12		_MMIO(0x6BA60)
268c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_12_PB	0x782A0
269c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_12_PB	0x783A0
270c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_12_PC	0x784A0
271c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_12_PC	0x785A0
272c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_12(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
273c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_12_PB, \
274c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_12_PC)
275c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_12(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
276c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_12_PB, \
277c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_12_PC)
278c3f05948SJani Nikula 
279c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_13		_MMIO(0x6B264)
280c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_13		_MMIO(0x6BA64)
281c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_13_PB	0x782A4
282c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_13_PB	0x783A4
283c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_13_PC	0x784A4
284c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_13_PC	0x785A4
285c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_13(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
286c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_13_PB, \
287c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_13_PC)
288c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_13(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
289c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_13_PB, \
290c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_13_PC)
291c3f05948SJani Nikula 
292c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_14		_MMIO(0x6B268)
293c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_14		_MMIO(0x6BA68)
294c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_14_PB	0x782A8
295c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_14_PB	0x783A8
296c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_14_PC	0x784A8
297c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_14_PC	0x785A8
298c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_14(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
299c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_14_PB, \
300c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_14_PC)
301c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_14(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
302c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_14_PB, \
303c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_14_PC)
304c3f05948SJani Nikula 
305c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_15		_MMIO(0x6B26C)
306c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_15		_MMIO(0x6BA6C)
307c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_15_PB	0x782AC
308c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_15_PB	0x783AC
309c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_15_PC	0x784AC
310c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_15_PC	0x785AC
311c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_15(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
312c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_15_PB, \
313c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_15_PC)
314c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_15(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
315c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_15_PB, \
316c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_15_PC)
317c3f05948SJani Nikula 
318c3f05948SJani Nikula #define DSCA_PICTURE_PARAMETER_SET_16		_MMIO(0x6B270)
319c3f05948SJani Nikula #define DSCC_PICTURE_PARAMETER_SET_16		_MMIO(0x6BA70)
320c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_16_PB	0x782B0
321c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_16_PB	0x783B0
322c3f05948SJani Nikula #define _ICL_DSC0_PICTURE_PARAMETER_SET_16_PC	0x784B0
323c3f05948SJani Nikula #define _ICL_DSC1_PICTURE_PARAMETER_SET_16_PC	0x785B0
324c3f05948SJani Nikula #define ICL_DSC0_PICTURE_PARAMETER_SET_16(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
325c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_16_PB, \
326c3f05948SJani Nikula 							   _ICL_DSC0_PICTURE_PARAMETER_SET_16_PC)
327c3f05948SJani Nikula #define ICL_DSC1_PICTURE_PARAMETER_SET_16(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
328c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_16_PB, \
329c3f05948SJani Nikula 							   _ICL_DSC1_PICTURE_PARAMETER_SET_16_PC)
330c3f05948SJani Nikula #define  DSC_SLICE_ROW_PER_FRAME(slice_row_per_frame)	((slice_row_per_frame) << 20)
331c3f05948SJani Nikula #define  DSC_SLICE_PER_LINE(slice_per_line)		((slice_per_line) << 16)
332c3f05948SJani Nikula #define  DSC_SLICE_CHUNK_SIZE(slice_chunk_size)		((slice_chunk_size) << 0)
333c3f05948SJani Nikula 
334c3f05948SJani Nikula /* Icelake Rate Control Buffer Threshold Registers */
335c3f05948SJani Nikula #define DSCA_RC_BUF_THRESH_0			_MMIO(0x6B230)
336c3f05948SJani Nikula #define DSCA_RC_BUF_THRESH_0_UDW		_MMIO(0x6B230 + 4)
337c3f05948SJani Nikula #define DSCC_RC_BUF_THRESH_0			_MMIO(0x6BA30)
338c3f05948SJani Nikula #define DSCC_RC_BUF_THRESH_0_UDW		_MMIO(0x6BA30 + 4)
339c3f05948SJani Nikula #define _ICL_DSC0_RC_BUF_THRESH_0_PB		(0x78254)
340c3f05948SJani Nikula #define _ICL_DSC0_RC_BUF_THRESH_0_UDW_PB	(0x78254 + 4)
341c3f05948SJani Nikula #define _ICL_DSC1_RC_BUF_THRESH_0_PB		(0x78354)
342c3f05948SJani Nikula #define _ICL_DSC1_RC_BUF_THRESH_0_UDW_PB	(0x78354 + 4)
343c3f05948SJani Nikula #define _ICL_DSC0_RC_BUF_THRESH_0_PC		(0x78454)
344c3f05948SJani Nikula #define _ICL_DSC0_RC_BUF_THRESH_0_UDW_PC	(0x78454 + 4)
345c3f05948SJani Nikula #define _ICL_DSC1_RC_BUF_THRESH_0_PC		(0x78554)
346c3f05948SJani Nikula #define _ICL_DSC1_RC_BUF_THRESH_0_UDW_PC	(0x78554 + 4)
347c3f05948SJani Nikula #define ICL_DSC0_RC_BUF_THRESH_0(pipe)		_MMIO_PIPE((pipe) - PIPE_B, \
348c3f05948SJani Nikula 						_ICL_DSC0_RC_BUF_THRESH_0_PB, \
349c3f05948SJani Nikula 						_ICL_DSC0_RC_BUF_THRESH_0_PC)
350c3f05948SJani Nikula #define ICL_DSC0_RC_BUF_THRESH_0_UDW(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
351c3f05948SJani Nikula 						_ICL_DSC0_RC_BUF_THRESH_0_UDW_PB, \
352c3f05948SJani Nikula 						_ICL_DSC0_RC_BUF_THRESH_0_UDW_PC)
353c3f05948SJani Nikula #define ICL_DSC1_RC_BUF_THRESH_0(pipe)		_MMIO_PIPE((pipe) - PIPE_B, \
354c3f05948SJani Nikula 						_ICL_DSC1_RC_BUF_THRESH_0_PB, \
355c3f05948SJani Nikula 						_ICL_DSC1_RC_BUF_THRESH_0_PC)
356c3f05948SJani Nikula #define ICL_DSC1_RC_BUF_THRESH_0_UDW(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
357c3f05948SJani Nikula 						_ICL_DSC1_RC_BUF_THRESH_0_UDW_PB, \
358c3f05948SJani Nikula 						_ICL_DSC1_RC_BUF_THRESH_0_UDW_PC)
359c3f05948SJani Nikula 
360c3f05948SJani Nikula #define DSCA_RC_BUF_THRESH_1			_MMIO(0x6B238)
361c3f05948SJani Nikula #define DSCA_RC_BUF_THRESH_1_UDW		_MMIO(0x6B238 + 4)
362c3f05948SJani Nikula #define DSCC_RC_BUF_THRESH_1			_MMIO(0x6BA38)
363c3f05948SJani Nikula #define DSCC_RC_BUF_THRESH_1_UDW		_MMIO(0x6BA38 + 4)
364c3f05948SJani Nikula #define _ICL_DSC0_RC_BUF_THRESH_1_PB		(0x7825C)
365c3f05948SJani Nikula #define _ICL_DSC0_RC_BUF_THRESH_1_UDW_PB	(0x7825C + 4)
366c3f05948SJani Nikula #define _ICL_DSC1_RC_BUF_THRESH_1_PB		(0x7835C)
367c3f05948SJani Nikula #define _ICL_DSC1_RC_BUF_THRESH_1_UDW_PB	(0x7835C + 4)
368c3f05948SJani Nikula #define _ICL_DSC0_RC_BUF_THRESH_1_PC		(0x7845C)
369c3f05948SJani Nikula #define _ICL_DSC0_RC_BUF_THRESH_1_UDW_PC	(0x7845C + 4)
370c3f05948SJani Nikula #define _ICL_DSC1_RC_BUF_THRESH_1_PC		(0x7855C)
371c3f05948SJani Nikula #define _ICL_DSC1_RC_BUF_THRESH_1_UDW_PC	(0x7855C + 4)
372c3f05948SJani Nikula #define ICL_DSC0_RC_BUF_THRESH_1(pipe)		_MMIO_PIPE((pipe) - PIPE_B, \
373c3f05948SJani Nikula 						_ICL_DSC0_RC_BUF_THRESH_1_PB, \
374c3f05948SJani Nikula 						_ICL_DSC0_RC_BUF_THRESH_1_PC)
375c3f05948SJani Nikula #define ICL_DSC0_RC_BUF_THRESH_1_UDW(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
376c3f05948SJani Nikula 						_ICL_DSC0_RC_BUF_THRESH_1_UDW_PB, \
377c3f05948SJani Nikula 						_ICL_DSC0_RC_BUF_THRESH_1_UDW_PC)
378c3f05948SJani Nikula #define ICL_DSC1_RC_BUF_THRESH_1(pipe)		_MMIO_PIPE((pipe) - PIPE_B, \
379c3f05948SJani Nikula 						_ICL_DSC1_RC_BUF_THRESH_1_PB, \
380c3f05948SJani Nikula 						_ICL_DSC1_RC_BUF_THRESH_1_PC)
381c3f05948SJani Nikula #define ICL_DSC1_RC_BUF_THRESH_1_UDW(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
382c3f05948SJani Nikula 						_ICL_DSC1_RC_BUF_THRESH_1_UDW_PB, \
383c3f05948SJani Nikula 						_ICL_DSC1_RC_BUF_THRESH_1_UDW_PC)
384c3f05948SJani Nikula 
385c3f05948SJani Nikula /* Icelake DSC Rate Control Range Parameter Registers */
386c3f05948SJani Nikula #define DSCA_RC_RANGE_PARAMETERS_0		_MMIO(0x6B240)
387c3f05948SJani Nikula #define DSCA_RC_RANGE_PARAMETERS_0_UDW		_MMIO(0x6B240 + 4)
388c3f05948SJani Nikula #define DSCC_RC_RANGE_PARAMETERS_0		_MMIO(0x6BA40)
389c3f05948SJani Nikula #define DSCC_RC_RANGE_PARAMETERS_0_UDW		_MMIO(0x6BA40 + 4)
390c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_0_PB	(0x78208)
391c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_0_UDW_PB	(0x78208 + 4)
392c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_0_PB	(0x78308)
393c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_0_UDW_PB	(0x78308 + 4)
394c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_0_PC	(0x78408)
395c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_0_UDW_PC	(0x78408 + 4)
396c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_0_PC	(0x78508)
397c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_0_UDW_PC	(0x78508 + 4)
398c3f05948SJani Nikula #define ICL_DSC0_RC_RANGE_PARAMETERS_0(pipe)		_MMIO_PIPE((pipe) - PIPE_B, \
399c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_0_PB, \
400c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_0_PC)
401c3f05948SJani Nikula #define ICL_DSC0_RC_RANGE_PARAMETERS_0_UDW(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
402c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_0_UDW_PB, \
403c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_0_UDW_PC)
404c3f05948SJani Nikula #define ICL_DSC1_RC_RANGE_PARAMETERS_0(pipe)		_MMIO_PIPE((pipe) - PIPE_B, \
405c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_0_PB, \
406c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_0_PC)
407c3f05948SJani Nikula #define ICL_DSC1_RC_RANGE_PARAMETERS_0_UDW(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
408c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_0_UDW_PB, \
409c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_0_UDW_PC)
410c3f05948SJani Nikula #define RC_BPG_OFFSET_SHIFT			10
411c3f05948SJani Nikula #define RC_MAX_QP_SHIFT				5
412c3f05948SJani Nikula #define RC_MIN_QP_SHIFT				0
413c3f05948SJani Nikula 
414c3f05948SJani Nikula #define DSCA_RC_RANGE_PARAMETERS_1		_MMIO(0x6B248)
415c3f05948SJani Nikula #define DSCA_RC_RANGE_PARAMETERS_1_UDW		_MMIO(0x6B248 + 4)
416c3f05948SJani Nikula #define DSCC_RC_RANGE_PARAMETERS_1		_MMIO(0x6BA48)
417c3f05948SJani Nikula #define DSCC_RC_RANGE_PARAMETERS_1_UDW		_MMIO(0x6BA48 + 4)
418c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_1_PB	(0x78210)
419c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_1_UDW_PB	(0x78210 + 4)
420c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_1_PB	(0x78310)
421c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_1_UDW_PB	(0x78310 + 4)
422c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_1_PC	(0x78410)
423c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_1_UDW_PC	(0x78410 + 4)
424c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_1_PC	(0x78510)
425c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_1_UDW_PC	(0x78510 + 4)
426c3f05948SJani Nikula #define ICL_DSC0_RC_RANGE_PARAMETERS_1(pipe)		_MMIO_PIPE((pipe) - PIPE_B, \
427c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_1_PB, \
428c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_1_PC)
429c3f05948SJani Nikula #define ICL_DSC0_RC_RANGE_PARAMETERS_1_UDW(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
430c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_1_UDW_PB, \
431c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_1_UDW_PC)
432c3f05948SJani Nikula #define ICL_DSC1_RC_RANGE_PARAMETERS_1(pipe)		_MMIO_PIPE((pipe) - PIPE_B, \
433c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_1_PB, \
434c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_1_PC)
435c3f05948SJani Nikula #define ICL_DSC1_RC_RANGE_PARAMETERS_1_UDW(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
436c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_1_UDW_PB, \
437c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_1_UDW_PC)
438c3f05948SJani Nikula 
439c3f05948SJani Nikula #define DSCA_RC_RANGE_PARAMETERS_2		_MMIO(0x6B250)
440c3f05948SJani Nikula #define DSCA_RC_RANGE_PARAMETERS_2_UDW		_MMIO(0x6B250 + 4)
441c3f05948SJani Nikula #define DSCC_RC_RANGE_PARAMETERS_2		_MMIO(0x6BA50)
442c3f05948SJani Nikula #define DSCC_RC_RANGE_PARAMETERS_2_UDW		_MMIO(0x6BA50 + 4)
443c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_2_PB	(0x78218)
444c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_2_UDW_PB	(0x78218 + 4)
445c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_2_PB	(0x78318)
446c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_2_UDW_PB	(0x78318 + 4)
447c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_2_PC	(0x78418)
448c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_2_UDW_PC	(0x78418 + 4)
449c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_2_PC	(0x78518)
450c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_2_UDW_PC	(0x78518 + 4)
451c3f05948SJani Nikula #define ICL_DSC0_RC_RANGE_PARAMETERS_2(pipe)		_MMIO_PIPE((pipe) - PIPE_B, \
452c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_2_PB, \
453c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_2_PC)
454c3f05948SJani Nikula #define ICL_DSC0_RC_RANGE_PARAMETERS_2_UDW(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
455c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_2_UDW_PB, \
456c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_2_UDW_PC)
457c3f05948SJani Nikula #define ICL_DSC1_RC_RANGE_PARAMETERS_2(pipe)		_MMIO_PIPE((pipe) - PIPE_B, \
458c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_2_PB, \
459c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_2_PC)
460c3f05948SJani Nikula #define ICL_DSC1_RC_RANGE_PARAMETERS_2_UDW(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
461c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_2_UDW_PB, \
462c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_2_UDW_PC)
463c3f05948SJani Nikula 
464c3f05948SJani Nikula #define DSCA_RC_RANGE_PARAMETERS_3		_MMIO(0x6B258)
465c3f05948SJani Nikula #define DSCA_RC_RANGE_PARAMETERS_3_UDW		_MMIO(0x6B258 + 4)
466c3f05948SJani Nikula #define DSCC_RC_RANGE_PARAMETERS_3		_MMIO(0x6BA58)
467c3f05948SJani Nikula #define DSCC_RC_RANGE_PARAMETERS_3_UDW		_MMIO(0x6BA58 + 4)
468c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_3_PB	(0x78220)
469c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_3_UDW_PB	(0x78220 + 4)
470c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_3_PB	(0x78320)
471c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_3_UDW_PB	(0x78320 + 4)
472c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_3_PC	(0x78420)
473c3f05948SJani Nikula #define _ICL_DSC0_RC_RANGE_PARAMETERS_3_UDW_PC	(0x78420 + 4)
474c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_3_PC	(0x78520)
475c3f05948SJani Nikula #define _ICL_DSC1_RC_RANGE_PARAMETERS_3_UDW_PC	(0x78520 + 4)
476c3f05948SJani Nikula #define ICL_DSC0_RC_RANGE_PARAMETERS_3(pipe)		_MMIO_PIPE((pipe) - PIPE_B, \
477c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_3_PB, \
478c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_3_PC)
479c3f05948SJani Nikula #define ICL_DSC0_RC_RANGE_PARAMETERS_3_UDW(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
480c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_3_UDW_PB, \
481c3f05948SJani Nikula 							_ICL_DSC0_RC_RANGE_PARAMETERS_3_UDW_PC)
482c3f05948SJani Nikula #define ICL_DSC1_RC_RANGE_PARAMETERS_3(pipe)		_MMIO_PIPE((pipe) - PIPE_B, \
483c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_3_PB, \
484c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_3_PC)
485c3f05948SJani Nikula #define ICL_DSC1_RC_RANGE_PARAMETERS_3_UDW(pipe)	_MMIO_PIPE((pipe) - PIPE_B, \
486c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_3_UDW_PB, \
487c3f05948SJani Nikula 							_ICL_DSC1_RC_RANGE_PARAMETERS_3_UDW_PC)
488c3f05948SJani Nikula 
489c3f05948SJani Nikula #endif /* __INTEL_VDSC_REGS_H__ */
490