Re: [Intel-gfx] [PATCH 3/3] drm/i915/fbc: Introduce device info fbc_mask

Jani Nikula
2021-12-10T12:18:17Z

On Fri, 10 Dec 2021, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Fri, Dec 10, 2021 at 01:14:22PM +0200, Jani Nikula wrote:
>> On Thu, 09 Dec 2021, Ville Syrjala <ville.syrjala@linux.intel.com> 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