[PATCH 3/8] drm/display: Introduce a DRM display-helper module
Thomas Zimmermann
tzimmermann at suse.de
Wed Mar 30 10:32:51 UTC 2022
Hi
Am 30.03.22 um 11:23 schrieb Javier Martinez Canillas:
> On 3/22/22 20:27, Thomas Zimmermann wrote:
>> Replace the DP-helper module with a display-helper module. Update
>> all related Kconfig and Makefile rules.
>>
>> Besides the existing code for DisplayPort, the new module will
>> contain helpers for other video-output standards, such as HDMI.
>> Drivers will still be able to select the required video-output
>> helpers. Linking all such code into a single module avoids the
>> proliferation of small kernel modules.
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
>> ---
>
> [snip]
>
>> +config DRM_DISPLAY_HELPER
>> + tristate
>> + depends on DRM
>> + help
>> + DRM helpers for display adapters.
>> +
>> config DRM_DP_HELPER
>> tristate
>> depends on DRM
>> + select DRM_DISPLAY_HELPER
>> help
>> DRM helpers for DisplayPort.
>>
>
> I was about to ask why this would still be needed but then re-read the
> commit message that says drivers will still be able to select required
> video-output helpers.
>
> That makes sense since the fact that all helpers will be in the same module
> would be transparent to drivers.
>
>> diff --git a/drivers/gpu/drm/display/Makefile b/drivers/gpu/drm/display/Makefile
>> index 75faffc706b1..90f12e9b4735 100644
>> --- a/drivers/gpu/drm/display/Makefile
>> +++ b/drivers/gpu/drm/display/Makefile
>> @@ -2,8 +2,9 @@
>>
>> obj-$(CONFIG_DRM_DP_AUX_BUS) += drm_dp_aux_bus.o
>>
>> -drm_dp_helper-y := drm_dp.o drm_dp_dual_mode_helper.o drm_dp_helper_mod.o drm_dp_mst_topology.o
>> -drm_dp_helper-$(CONFIG_DRM_DP_AUX_CHARDEV) += drm_dp_aux_dev.o
>> -drm_dp_helper-$(CONFIG_DRM_DP_CEC) += drm_dp_cec.o
>> +drm_display_helper-y := drm_display_helper_mod.o
>> +drm_display_helper-$(CONFIG_DRM_DP_HELPER) := drm_dp_helper.o drm_dp_dual_mode_helper.o drm_dp_mst_topology.o
>> +drm_display_helper-$(CONFIG_DRM_DP_AUX_CHARDEV) += drm_dp_aux_dev.o
>> +drm_display_helper-$(CONFIG_DRM_DP_CEC) += drm_dp_cec.o
>>
>> -obj-$(CONFIG_DRM_DP_HELPER) += drm_dp_helper.o
>> +obj-$(CONFIG_DRM_DISPLAY_HELPER) += drm_display_helper.o
>
> The drm_dp_helper.ko module has some parameters and this change will break
> existing kernel cmdline that are using it:
>
> $ modinfo drivers/gpu/drm/dp/drm_dp_helper.ko | grep parm | cut -d : -f2
> drm_dp_cec_unregister_delay
> dp_aux_i2c_speed_khz
> dp_aux_i2c_transfer_size
>
> I don't know whether those are considered a kernel ABI or not though, and
> some already changed when the DP helpers were moved from drm_kms_helper.ko
Good point. I'll mention it in the commit message andcheck the
documentation as well.
At least, no one complained when these functions moved from kms helpers
into dp helpers. Moving them again is unfortunate, but I hope that the
new library will stick.
I somehow expected that HDMI, HDCP et al would require their own
libraries. But introducing several new and tiny kernel modules for such
small helpers wasn't worth it. Hence, there's the display library that
can collect all such helpers in a single place.
It looks like MIPI DSI could be another candidate to be moved into the
display library; at least partially. I have go through the codebase to
see if there are drivers that would benefit from such a change.
Best regards
Thomas
>
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20220330/4033a36a/attachment-0001.sig>
More information about the dri-devel
mailing list