@@ -179,6 +179,39 @@ wndwca7e_ntfy_set(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw)
179179 return 0 ;
180180}
181181
182+ /****************************************************************
183+ * Log2(block height) ----------------------------+ *
184+ * Page Kind ----------------------------------+ | *
185+ * Gob Height/Page Kind Generation ------+ | | *
186+ * Sector layout -------+ | | | *
187+ * Compression ------+ | | | | */
188+ const u64 wndwca7e_modifiers [] = { /* | | | | | */
189+ /* 4cpp+ modifiers */
190+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 1 , 2 , 0x06 , 0 ),
191+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 1 , 2 , 0x06 , 1 ),
192+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 1 , 2 , 0x06 , 2 ),
193+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 1 , 2 , 0x06 , 3 ),
194+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 1 , 2 , 0x06 , 4 ),
195+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 1 , 2 , 0x06 , 5 ),
196+ /* 1cpp/8bpp modifiers */
197+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 2 , 2 , 0x06 , 0 ),
198+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 2 , 2 , 0x06 , 1 ),
199+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 2 , 2 , 0x06 , 2 ),
200+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 2 , 2 , 0x06 , 3 ),
201+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 2 , 2 , 0x06 , 4 ),
202+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 2 , 2 , 0x06 , 5 ),
203+ /* 2cpp/16bpp modifiers */
204+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 3 , 2 , 0x06 , 0 ),
205+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 3 , 2 , 0x06 , 1 ),
206+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 3 , 2 , 0x06 , 2 ),
207+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 3 , 2 , 0x06 , 3 ),
208+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 3 , 2 , 0x06 , 4 ),
209+ DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D (0 , 3 , 2 , 0x06 , 5 ),
210+ /* All formats support linear */
211+ DRM_FORMAT_MOD_LINEAR ,
212+ DRM_FORMAT_MOD_INVALID
213+ };
214+
182215static const struct nv50_wndw_func
183216wndwca7e = {
184217 .acquire = wndwc37e_acquire ,
0 commit comments