On Wed, Feb 17, 2021 at 07:03:30PM +0200, Jani Nikula wrote:
I see the parsing and caching of child device data into i915->vbt.ddi_port_info[] slightly problematic. We keep adding data to it, and it just duplicates information. Start moving towards a single point of truth, and getting the information directly from the child device data. One obstacle has been that init_vbt_missing_defaults() only initializes ddi_port_info, without child devices. As the same problem arose in a patch from Lucas, I thought it was time to start creating fake child devices to unify the code. There are a bunch of cleanups and refactoring here. Patches 1-5 are enough to fix Lucas' patch I think. Patch 10 does what Lucas was after, just in a different way and as a byproduct of something else. The later
humn... but we'd still need the patches in that series to cleanup the calls to intel_ddi_init() from intel_display.c. Or did I miss anything? I did a quick scan through the patches and left a few comments. Overall it looks good to me, but I need to dedicate a little more time to give a proper r-b. I will do soon if no one beats me to it. thanks Lucas De Marchi
patches in the series are more to show the direction, and seek validation for that direction. Naming is also a question mark. All of these are a bit questionable: intel_bios_encoder_data, devdata, intel_bios_encoder_supports_*, etc. BR, Jani. [1] http://patchwork.freedesktop.org/patch/msgid/20210213190511.1017088-2-lucas.demarchi@xxxxxxxxx Cc: Lucas De Marchi <lucas.demarchi@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Jani Nikula (12): drm/i915/bios: mass convert dev_priv to i915 drm/i915/bios: store bdb version in i915 drm/i915/bios: limit default outputs by platform on missing VBT drm/i915/bios: limit default outputs to ports A through F drm/i915/bios: create fake child devices on missing VBT drm/i915/bios: rename display_device_data to intel_bios_encoder_data drm/i915/bios: add i915 backpointer to intel_bios_encoder_data drm/i915/vbt: add helper functions to check output support drm/i915/bios: save a higher level pointer in ddi_vbt_port_info[] drm/i915/bios: start using the intel_bios_encoder_data directly drm/i915/bios: start using intel_bios_encoder_data for Type-C USB and TBT drm/i915/bios: add intel_bios_encoder_data to encoder, use for iboost drivers/gpu/drm/i915/display/intel_bios.c | 1021 +++++++++-------- drivers/gpu/drm/i915/display/intel_bios.h | 17 +- drivers/gpu/drm/i915/display/intel_ddi.c | 28 +- .../drm/i915/display/intel_display_types.h | 3 + drivers/gpu/drm/i915/i915_drv.h | 9 +- 5 files changed, 584 insertions(+), 494 deletions(-) -- 2.20.1
_______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx