On Fri, 10 Dec 2021, Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > On Fri, Dec 10, 2021 at 01:14:22PM +0200, Jani Nikula wrote: >> On Thu, 09 Dec 2021, Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> wrote: >> > diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h >> > index 213ae2c07126..89712019f073 100644 >> > --- a/drivers/gpu/drm/i915/intel_device_info.h >> > +++ b/drivers/gpu/drm/i915/intel_device_info.h >> > @@ -156,7 +156,6 @@ enum intel_ppgtt_type { >> > func(has_dp_mst); \ >> > func(has_dsb); \ >> > func(has_dsc); \ >> > - func(has_fbc); \ >> > func(has_fpga_dbg); \ >> > func(has_gmch); \ >> > func(has_hdcp); \ >> > @@ -198,6 +197,7 @@ struct intel_device_info { >> > >> > u8 pipe_mask; >> > u8 cpu_transcoder_mask; >> > + u8 fbc_mask; >> >> I'd rather we started moving these under the display substruct instead >> of the other way round. > > I guess I could throw in a prep patch that moves the other masks there. > Just looked a bit funny having one mask in there and all the others not > there. Yeah. Another angle is this runtime info thing and finally making the device info truly const, removing the silly mkwrite_device_info(), and making INTEL_INFO() point at rodata. One plan that I've had is having something like this: struct intel_device_info { const struct intel_runtime_info *__initial_runtime_info; /* ... */ }; and copying __initial_runtime_info to i915->__runtime. The downside is that it probably ends up in a four-way split with display/non-display and runtime/const. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center