[PATCH 00/12] Consolidation of DSS Control in Separate Files

Nautiyal, Ankit K ankit.k.nautiyal at intel.com
Tue Aug 27 12:20:13 UTC 2024


On 8/26/2024 6:04 PM, Jani Nikula wrote:
> On Mon, 26 Aug 2024, Ankit Nautiyal <ankit.k.nautiyal at intel.com> wrote:
>> Currently, DSS control is configured from various files; this change aims
>> to consolidate all DSS-related functionalities, such as display stream
>> splitting, joining, MSO configuration, and joining configuration,
>> into one place.
>>
>> A new file, intel_dss_regs.h, will store register information, while the
>> helpers to configure DSS and related stuff will be moved to intel_dss.c
>> with its corresponding header file intel_dss.h.
>> Along with this, the helpers related to retrieve information about the
>> pipe joiners are also moved from intel_display.c to intel_dss.
>>
>> Additionally, wherever possible, the drm_i915_private structure is
>> replaced with the new intel_display structure as part of ongoing efforts
>> to phase out the old structure.
> A bunch of nitpicks here and there, but overall I like the
> direction. Thanks for doing this.

Thanks Jani for the review comments and suggestions.

I agree to the changes and corrections suggested and will address them 
in next revision.


>
> I see that the dsi and mso stuff are just thrown in there instead of
> really "integrated" into anything, but I think that's fine as the first
> step.

I agree. I was thinking if we should have a separate struct intel_dss 
with members for different features, which we configure in 
compute_config phase and later write dss_ctl register at one place?

Same for reading and get_config. If it makes sense, perhaps can take it 
as a separate series.

>
> I think maybe we do want to have a separate file for joiner stuff like
> you suggested offline, maybe intel_joiner.[ch]? There's a whole lot of
> joiner stuff still left in intel_display.[ch] after this.
>
> Sooo... anything to do with DSS_CTL regs would go to intel_dss.[ch],
> anything to do with compression would go to intel_vdsc.[ch], and
> anything to do with joining would go to intel_joiner.[ch]?

Yes right. The new joiner file can house all the helpers for retrieving 
primary/secondary joiner_pipes along with helpers to modify src_size, 
timings etc.


Thanks again for the comments!

Regards,

Ankit

>
> Ville?
>
>
> BR,
> Jani.
>
>
>> Ankit Nautiyal (12):
>>    drm/i915/display: Move all DSS control registers to a new file
>>    drm/i915/ddi: Move all mso related helpers to a new file
>>    drm/i915/dss: Move to struct intel_display
>>    drm/i915/icl_dsi: Move helpers to configure dsi dual link to intel_dss
>>    drm/i915/vdsc: Rename helper to check if the pipe supports dsc
>>    drm/i915/vdsc: Move all dss stuff in dss files
>>    drm/i915/display: Move dss stuff in intel_dss files
>>    drm/i915/display: Move helper to get joined pipe mask to intel_dss
>>    drm/i915/display: Move helpers for primary joiner to intel_dss
>>    drm/i915/display: Move helper to check for secondary joiner pipe
>>    drm/i915/display: Move helper to get all secondary pipes
>>    drm/i915/display: Move intel_joiner_num_pipes to intel dss
>>
>>   drivers/gpu/drm/i915/Makefile                 |   1 +
>>   drivers/gpu/drm/i915/display/icl_dsi.c        |  55 +---
>>   .../gpu/drm/i915/display/intel_atomic_plane.c |   3 +-
>>   .../drm/i915/display/intel_crtc_state_dump.c  |   5 +-
>>   drivers/gpu/drm/i915/display/intel_ddi.c      |  94 +-----
>>   drivers/gpu/drm/i915/display/intel_display.c  | 158 +++------
>>   drivers/gpu/drm/i915/display/intel_display.h  |   4 -
>>   .../drm/i915/display/intel_display_debugfs.c  |   3 +-
>>   drivers/gpu/drm/i915/display/intel_dp_mst.c   |   7 +-
>>   drivers/gpu/drm/i915/display/intel_drrs.c     |   5 +-
>>   drivers/gpu/drm/i915/display/intel_dss.c      | 305 ++++++++++++++++++
>>   drivers/gpu/drm/i915/display/intel_dss.h      |  46 +++
>>   drivers/gpu/drm/i915/display/intel_dss_regs.h |  49 +++
>>   .../drm/i915/display/intel_modeset_setup.c    |  15 +-
>>   drivers/gpu/drm/i915/display/intel_vdsc.c     |  74 +----
>>   drivers/gpu/drm/i915/display/intel_vdsc.h     |   2 +-
>>   .../gpu/drm/i915/display/intel_vdsc_regs.h    |  38 ---
>>   drivers/gpu/drm/xe/Makefile                   |   1 +
>>   18 files changed, 497 insertions(+), 368 deletions(-)
>>   create mode 100644 drivers/gpu/drm/i915/display/intel_dss.c
>>   create mode 100644 drivers/gpu/drm/i915/display/intel_dss.h
>>   create mode 100644 drivers/gpu/drm/i915/display/intel_dss_regs.h


More information about the Intel-xe mailing list