On 2/4/26 5:16 PM, Dave Airlie wrote: > On Fri, 28 Mar 2025 at 21:09, Danilo Krummrich <[email protected]> wrote: >> >> (CC: Ben, John) >> >> On Thu, Mar 27, 2025 at 02:03:21PM -0400, M Henning wrote: >>> On Thu, Mar 27, 2025 at 9:51 AM Danilo Krummrich <[email protected]> wrote: >>>> >>>> On Fri, Mar 21, 2025 at 06:06:34PM -0400, M Henning wrote: >>>>> On Thu, Mar 20, 2025 at 2:18 PM Danilo Krummrich <[email protected]> wrote: >>>>>> On Wed, Mar 12, 2025 at 05:36:14PM -0400, Mel Henning wrote: >>>>>>> + __u32 width_align_pixels; >>>>>>> + __u32 height_align_pixels; >>>>>>> + __u32 pixel_squares_by_aliquots; >>>>>>> + __u32 aliquot_total; >>>>>>> + __u32 zcull_region_byte_multiplier; >>>>>>> + __u32 zcull_region_header_size; >>>>>>> + __u32 zcull_subregion_header_size; >>>>>>> + __u32 subregion_count; >>>>>>> + __u32 subregion_width_align_pixels; >>>>>>> + __u32 subregion_height_align_pixels; >>>>>>> + >>>>>>> + __u32 ctxsw_size; >>>>>>> + __u32 ctxsw_align; >>>>>>> +}; >>>>>> >>>>>> What if this ever changes between hardware revisions or firmware >>>>>> versions? >>>>> >>>>> There was some previous discussion of that here: >>>>> https://gitlab.freedesktop.org/mesa/mesa/-/issues/12596#note_2796853 >>>>> >>>>> From what I can tell, this structure hasn't really changed since >>>>> FERMI_C (circa 2011), so I'm not too worried about it changing on us >>>>> too quickly. When it does change, we have the option of appending more >>>>> members to this struct in the usual way, or if the change is more >>>>> fundamental we can return an error from this ioctl and add a new >>>>> interface. Userspace needs to handle an error from this ioctl >>>>> gracefully anyway since whether it works or not depends on the gpu >>>>> generation and what firmware is loaded right now. >>>> >>>> We could also define it as >>>> >>>> struct drm_nouveau_get_zcull_info { >>>> __u32 version; >>>> __u32 _pad; >>>> >>>> union { >>>> struct drm_nouveau_get_zcull_info_v1 info; >>>> } >>>> } >>>> >>>> just to be safe. >>> >>> We can do that, although I don't see any other drm drivers using a >>> similar pattern anywhere. >> >> I think it's a bit cleaner than adding new members, leave existing ones >> unset or >> add a new IOCTL in the worst case. >> >> Maybe the NVIDIA folks can give us some hint on whether this is expected to >> change at some point?
"Predictions are hard, especially about the future." :) > > I think it's an ioctl, let's just leave out version/pad, adding a new > ioctl isn't a major trouble if the world decides we need to do it. > > Also you can extend ioctls with new fields at the end without > problems, so if it's just extra info it'll likely be hw specific and > be part of enabling a new GPU. > That seems reasonable to me. thanks, -- John Hubbard
