On Thu, Mar 27, 2025 at 8:56 AM Danilo Krummrich <d...@kernel.org> wrote: > > On Tue, Mar 25, 2025 at 07:40:56PM -0400, M Henning wrote: > > Okay, that sounds reasonable since I don't expect this to change very > > quickly. > > > > Since I don't fully understand, is the suggestion here to: > > 1) add the interface as a function on nvkm_gr using the nvkm_gr_func > > vtable and store the actual data on r535_gr > > or > > 2) add the interface to NVIF (which IF?) and store the actual data on > > nvkm_gr > > ? > > I think we want both. > > 1) I think the suggestion was to store the data directly in nvkm_gr, however > the > structure is indeed specific to r535, so I think, unfortunately, we need > the > vtable and store that data in r535_gr.
Well, NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS is r535-specific, but we need to convert it into a common structure and combine it with info from NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES at some point, so I think it makes sense to do that conversion+combination before storing it on any structure. In that case, maybe we store the structure on nvkm_gr directly during r535_gr_oneinit and then the call to get the info only goes through NVIF? > 2) Yes, this should be passed through nvif. Unfortunately, I think it would > need > to be a whole new one (similar to the fifo one). > > Maybe Ben can provide you some additional pointers one this? Mayber he can > suggest a shortcut, since he has patches queued to simplify the whole > interface. > > > > > (Sorry, I don't understand how these layers are intended to fit together.)) > > > > On Thu, Mar 20, 2025 at 4:02 PM Danilo Krummrich <d...@kernel.org> wrote: > > > > > > On Fri, Mar 21, 2025 at 05:57:55AM +1000, Ben Skeggs wrote: > > > > On 21/3/25 04:18, Danilo Krummrich wrote: > > > > > > > > > Hi Mel, > > > > > > > > > > On Wed, Mar 12, 2025 at 05:36:14PM -0400, Mel Henning wrote: > > > > > > > > > > @@ -72,6 +75,9 @@ struct nvkm_device { > > > > > > bool armed; > > > > > > bool legacy_done; > > > > > > } intr; > > > > > > + > > > > > > + bool has_zcull_info; > > > > > > + struct drm_nouveau_get_zcull_info zcull_info; > > > > > This is bypassing the nvif layer entirely. I think you should store > > > > > the contents > > > > > of struct NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS in struct r535_gr and > > > > > have an > > > > > nvif interface to access the data. > > > > > > > > I agree here, though nvkm_gr would be a better choice for a couple of > > > > reasons, not least that it's possible (and should be reasonably > > > > trivial) to > > > > support this on earlier GPUs - should someone desire to at a later > > > > point. > > > > > > I agree, if the interface is stable enough -- I don't know whether this > > > is prone > > > to change or not.