Re: [PATCH v2 0/5] drm/connector: make mode_valid() callback accept const mode pointer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi


Am 05.01.25 um 23:47 schrieb Dmitry Baryshkov:
On Sat, Dec 14, 2024 at 03:37:04PM +0200, Dmitry Baryshkov wrote:
While working on the generic mode_valid() implementation for the HDMI
Connector framework I noticed that unlike other DRM objects
drm_connector accepts non-const pointer to struct drm_display_mode,
while obviously mode_valid() isn't expected to modify the argument.

Mass-change the DRM framework code to pass const argument to that
callback.

The series has been compile-tested with defconfig for x86-64, arm and
arm64.

Note: yes, I understand that this change might be hard to review and
merge. The only viable option that I foresee is to add new callback,
having the const argument and migrate drivers into using it one by one.
Colleagues, I'd like to graciously ping regarding this series. Should it
be merged as is (possibly requiring more R-B's)? Or should I rework it
adding something like .mode_valid_new() callback which takes const
argument?

Please merge as-is. No need to complicate things. For the whole series:

Reviewed-by: Thomas Zimmermann <tzimmermann@xxxxxxx>

Thanks for doing this.

Best regards
Thomas


Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
---
Changes in v2:
- Rebased on top of linux-next
- Replaced 'accept const argument' with 'take a const arugment'
   (Laurent)
- Link to v1: https://lore.kernel.org/r/20241115-drm-connector-mode-valid-const-v1-0-b1b523156f71@xxxxxxxxxx

---
Dmitry Baryshkov (5):
       drm/encoder_slave: make mode_valid accept const struct drm_display_mode
       drm/amdgpu: don't change mode in amdgpu_dm_connector_mode_valid()
       drm/sti: hda: pass const struct drm_display_mode* to hda_get_mode_idx()
       drm/connector: make mode_valid_ctx take a const struct drm_display_mode
       drm/connector: make mode_valid take a const struct drm_display_mode

  drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c           |  8 ++++----
  drivers/gpu/drm/amd/amdgpu/atombios_dp.c                 |  2 +-
  drivers/gpu/drm/amd/amdgpu/atombios_dp.h                 |  2 +-
  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c        | 12 +++++++++---
  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h        |  2 +-
  drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c |  2 +-
  drivers/gpu/drm/arm/malidp_mw.c                          |  2 +-
  drivers/gpu/drm/bridge/adv7511/adv7511_drv.c             |  2 +-
  drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c      |  2 +-
  drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c |  7 -------
  drivers/gpu/drm/display/drm_bridge_connector.c           |  2 +-
  drivers/gpu/drm/display/drm_hdmi_state_helper.c          |  2 +-
  drivers/gpu/drm/drm_crtc_helper_internal.h               |  2 +-
  drivers/gpu/drm/drm_probe_helper.c                       |  2 +-
  drivers/gpu/drm/exynos/exynos_hdmi.c                     |  2 +-
  drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c                |  2 +-
  drivers/gpu/drm/gma500/cdv_intel_crt.c                   |  2 +-
  drivers/gpu/drm/gma500/cdv_intel_dp.c                    |  2 +-
  drivers/gpu/drm/gma500/cdv_intel_hdmi.c                  |  2 +-
  drivers/gpu/drm/gma500/cdv_intel_lvds.c                  |  2 +-
  drivers/gpu/drm/gma500/oaktrail_hdmi.c                   |  2 +-
  drivers/gpu/drm/gma500/psb_intel_drv.h                   |  2 +-
  drivers/gpu/drm/gma500/psb_intel_lvds.c                  |  2 +-
  drivers/gpu/drm/gma500/psb_intel_sdvo.c                  |  2 +-
  drivers/gpu/drm/i2c/ch7006_drv.c                         |  2 +-
  drivers/gpu/drm/i2c/sil164_drv.c                         |  2 +-
  drivers/gpu/drm/i915/display/dvo_ch7017.c                |  2 +-
  drivers/gpu/drm/i915/display/dvo_ch7xxx.c                |  2 +-
  drivers/gpu/drm/i915/display/dvo_ivch.c                  |  2 +-
  drivers/gpu/drm/i915/display/dvo_ns2501.c                |  2 +-
  drivers/gpu/drm/i915/display/dvo_sil164.c                |  2 +-
  drivers/gpu/drm/i915/display/dvo_tfp410.c                |  2 +-
  drivers/gpu/drm/i915/display/icl_dsi.c                   |  2 +-
  drivers/gpu/drm/i915/display/intel_crt.c                 |  2 +-
  drivers/gpu/drm/i915/display/intel_dp.c                  |  2 +-
  drivers/gpu/drm/i915/display/intel_dp_mst.c              |  2 +-
  drivers/gpu/drm/i915/display/intel_dsi.c                 |  2 +-
  drivers/gpu/drm/i915/display/intel_dsi.h                 |  2 +-
  drivers/gpu/drm/i915/display/intel_dvo.c                 |  2 +-
  drivers/gpu/drm/i915/display/intel_dvo_dev.h             |  2 +-
  drivers/gpu/drm/i915/display/intel_hdmi.c                |  2 +-
  drivers/gpu/drm/i915/display/intel_lvds.c                |  2 +-
  drivers/gpu/drm/i915/display/intel_sdvo.c                |  2 +-
  drivers/gpu/drm/i915/display/intel_tv.c                  |  2 +-
  drivers/gpu/drm/i915/display/vlv_dsi.c                   |  2 +-
  drivers/gpu/drm/imx/ipuv3/imx-tve.c                      |  2 +-
  drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c      |  2 +-
  drivers/gpu/drm/nouveau/dispnv04/tvnv17.c                |  2 +-
  drivers/gpu/drm/nouveau/dispnv50/disp.c                  |  2 +-
  drivers/gpu/drm/nouveau/nouveau_connector.c              |  2 +-
  drivers/gpu/drm/qxl/qxl_display.c                        |  2 +-
  drivers/gpu/drm/radeon/atombios_dp.c                     |  2 +-
  drivers/gpu/drm/radeon/radeon_connectors.c               | 10 +++++-----
  drivers/gpu/drm/radeon/radeon_mode.h                     |  2 +-
  drivers/gpu/drm/rockchip/cdn-dp-core.c                   |  2 +-
  drivers/gpu/drm/rockchip/inno_hdmi.c                     |  4 ++--
  drivers/gpu/drm/rockchip/rk3066_hdmi.c                   |  2 +-
  drivers/gpu/drm/sti/sti_dvo.c                            |  2 +-
  drivers/gpu/drm/sti/sti_hda.c                            | 12 ++++++------
  drivers/gpu/drm/sti/sti_hdmi.c                           |  2 +-
  drivers/gpu/drm/tegra/dsi.c                              |  2 +-
  drivers/gpu/drm/tegra/hdmi.c                             |  2 +-
  drivers/gpu/drm/tegra/sor.c                              |  2 +-
  drivers/gpu/drm/vc4/vc4_txp.c                            |  2 +-
  drivers/gpu/drm/virtio/virtgpu_display.c                 |  2 +-
  drivers/gpu/drm/vmwgfx/vmwgfx_kms.c                      |  2 +-
  drivers/gpu/drm/vmwgfx/vmwgfx_kms.h                      |  2 +-
  drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c                     |  2 +-
  include/drm/display/drm_hdmi_state_helper.h              |  2 +-
  include/drm/drm_encoder_slave.h                          |  2 +-
  include/drm/drm_modeset_helper_vtables.h                 |  4 ++--
  71 files changed, 92 insertions(+), 93 deletions(-)
---
base-commit: 4176cf5c5651c33769de83bb61b0287f4ec7719f
change-id: 20241115-drm-connector-mode-valid-const-ae3db0ef6cb7

Best regards,
--
Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>


--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)




[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]