2022-07-29 16:47:17

by Maxime Ripard

[permalink] [raw]
Subject: [PATCH v1 33/35] drm/connector: Remove TV modes property

Now that all the other drivers have been converted to the new style TV mode
property, let's get rid of the old one.

Signed-off-by: Maxime Ripard <[email protected]>

diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c
index d7ff6c644c2f..d52e87e8e6aa 100644
--- a/drivers/gpu/drm/drm_atomic_uapi.c
+++ b/drivers/gpu/drm/drm_atomic_uapi.c
@@ -698,8 +698,6 @@ static int drm_atomic_connector_set_property(struct drm_connector *connector,
state->tv.margins.top = val;
} else if (property == config->tv_bottom_margin_property) {
state->tv.margins.bottom = val;
- } else if (property == config->tv_mode_property) {
- state->tv.mode = val;
} else if (property == config->tv_norm_property) {
state->tv.norm = val;
} else if (property == config->tv_brightness_property) {
@@ -810,8 +808,6 @@ drm_atomic_connector_get_property(struct drm_connector *connector,
*val = state->tv.margins.top;
} else if (property == config->tv_bottom_margin_property) {
*val = state->tv.margins.bottom;
- } else if (property == config->tv_mode_property) {
- *val = state->tv.mode;
} else if (property == config->tv_norm_property) {
*val = state->tv.norm;
} else if (property == config->tv_brightness_property) {
diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
index d73a68764b6e..5e138159f2de 100644
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
@@ -1650,9 +1650,7 @@ EXPORT_SYMBOL(drm_mode_create_tv_margin_properties);
* 0 on success or a negative error code on failure.
*/
int drm_mode_create_tv_properties(struct drm_device *dev,
- unsigned int supported_tv_norms,
- unsigned int num_modes,
- const char * const modes[])
+ unsigned int supported_tv_norms)
{
static const struct drm_prop_enum_list tv_norm_values[] = {
{ __builtin_ffs(DRM_MODE_TV_NORM_NTSC_443) - 1, "NTSC-443" },
@@ -1722,20 +1720,6 @@ int drm_mode_create_tv_properties(struct drm_device *dev,
goto nomem;
dev->mode_config.tv_norm_property = tv_norm;

- if (num_modes) {
- unsigned int i;
-
- dev->mode_config.tv_mode_property =
- drm_property_create(dev, DRM_MODE_PROP_ENUM,
- "mode", num_modes);
- if (!dev->mode_config.tv_mode_property)
- goto nomem;
-
- for (i = 0; i < num_modes; i++)
- drm_property_add_enum(dev->mode_config.tv_mode_property,
- i, modes[i]);
- }
-
dev->mode_config.tv_brightness_property =
drm_property_create_range(dev, 0, "brightness", 0, 100);
if (!dev->mode_config.tv_brightness_property)
diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c
index bed52423776e..1d4025663530 100644
--- a/drivers/gpu/drm/sun4i/sun4i_tv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_tv.c
@@ -526,8 +526,7 @@ static int sun4i_tv_bind(struct device *dev, struct device *master,

ret = drm_mode_create_tv_properties(drm,
DRM_MODE_TV_NORM_NTSC_M |
- DRM_MODE_TV_NORM_PAL_B,
- 0, NULL);
+ DRM_MODE_TV_NORM_PAL_B);
if (ret)
goto err_cleanup_connector;

diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c
index 91d343238b0f..2e7e964928b3 100644
--- a/drivers/gpu/drm/vc4/vc4_vec.c
+++ b/drivers/gpu/drm/vc4/vc4_vec.c
@@ -704,8 +704,7 @@ static int vc4_vec_bind(struct device *dev, struct device *master, void *data)
DRM_MODE_TV_NORM_PAL_B |
DRM_MODE_TV_NORM_PAL_M |
DRM_MODE_TV_NORM_PAL_N |
- DRM_MODE_TV_NORM_SECAM_B,
- 0, NULL);
+ DRM_MODE_TV_NORM_SECAM_B);
if (ret)
return ret;

diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index 78275e68ff66..e535dca6376e 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -712,7 +712,6 @@ struct drm_tv_connector_state {
enum drm_mode_subconnector select_subconnector;
enum drm_mode_subconnector subconnector;
struct drm_connector_tv_margins margins;
- unsigned int mode;
unsigned int norm;
unsigned int brightness;
unsigned int contrast;
@@ -1806,9 +1805,7 @@ void drm_connector_attach_dp_subconnector_property(struct drm_connector *connect

int drm_mode_create_tv_margin_properties(struct drm_device *dev);
int drm_mode_create_tv_properties(struct drm_device *dev,
- unsigned int supported_tv_norms,
- unsigned int num_modes,
- const char * const modes[]);
+ unsigned int supported_tv_norms);
void drm_connector_attach_tv_margin_properties(struct drm_connector *conn);
int drm_mode_create_scaling_mode_property(struct drm_device *dev);
int drm_connector_attach_content_type_property(struct drm_connector *dev);

--
b4 0.10.0-dev-49460


2022-07-29 20:24:02

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v1 33/35] drm/connector: Remove TV modes property

Hi Maxime,

I love your patch! Yet something to improve:

[auto build test ERROR on 37b355fdaf31ee18bda9a93c2a438dc1cbf57ec9]

url: https://github.com/intel-lab-lkp/linux/commits/Maxime-Ripard/drm-Analog-TV-Improvements/20220730-004859
base: 37b355fdaf31ee18bda9a93c2a438dc1cbf57ec9
config: hexagon-randconfig-r041-20220729 (https://download.01.org/0day-ci/archive/20220730/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 8dfaecc4c24494337933aff9d9166486ca0949f1)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/83327cd72054a9c8d02b6f632453a8bdc90d3797
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Maxime-Ripard/drm-Analog-TV-Improvements/20220730-004859
git checkout 83327cd72054a9c8d02b6f632453a8bdc90d3797
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/gpu/drm/i2c/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/i2c/ch7006_drv.c:253:51: error: too many arguments to function call, expected 2, have 3
drm_mode_create_tv_properties(dev, NUM_TV_NORMS, ch7006_tv_norm_names);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~
include/drm/drm_connector.h:1807:5: note: 'drm_mode_create_tv_properties' declared here
int drm_mode_create_tv_properties(struct drm_device *dev,
^
1 error generated.


vim +253 drivers/gpu/drm/i2c/ch7006_drv.c

6ee738610f41b5 Ben Skeggs 2009-12-11 245
6ee738610f41b5 Ben Skeggs 2009-12-11 246 static int ch7006_encoder_create_resources(struct drm_encoder *encoder,
6ee738610f41b5 Ben Skeggs 2009-12-11 247 struct drm_connector *connector)
6ee738610f41b5 Ben Skeggs 2009-12-11 248 {
6ee738610f41b5 Ben Skeggs 2009-12-11 249 struct ch7006_priv *priv = to_ch7006_priv(encoder);
6ee738610f41b5 Ben Skeggs 2009-12-11 250 struct drm_device *dev = encoder->dev;
6ee738610f41b5 Ben Skeggs 2009-12-11 251 struct drm_mode_config *conf = &dev->mode_config;
6ee738610f41b5 Ben Skeggs 2009-12-11 252
6ee738610f41b5 Ben Skeggs 2009-12-11 @253 drm_mode_create_tv_properties(dev, NUM_TV_NORMS, ch7006_tv_norm_names);
6ee738610f41b5 Ben Skeggs 2009-12-11 254
d9bc3c02e36d84 Sascha Hauer 2012-02-06 255 priv->scale_property = drm_property_create_range(dev, 0, "scale", 0, 2);
44084efc2fd804 Insu Yun 2016-01-28 256 if (!priv->scale_property)
44084efc2fd804 Insu Yun 2016-01-28 257 return -ENOMEM;
6ee738610f41b5 Ben Skeggs 2009-12-11 258
ec61c71d0dba24 Rob Clark 2012-10-11 259 drm_object_attach_property(&connector->base, conf->tv_select_subconnector_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 260 priv->select_subconnector);
ec61c71d0dba24 Rob Clark 2012-10-11 261 drm_object_attach_property(&connector->base, conf->tv_subconnector_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 262 priv->subconnector);
ec61c71d0dba24 Rob Clark 2012-10-11 263 drm_object_attach_property(&connector->base, conf->tv_left_margin_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 264 priv->hmargin);
ec61c71d0dba24 Rob Clark 2012-10-11 265 drm_object_attach_property(&connector->base, conf->tv_bottom_margin_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 266 priv->vmargin);
ec61c71d0dba24 Rob Clark 2012-10-11 267 drm_object_attach_property(&connector->base, conf->tv_mode_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 268 priv->norm);
ec61c71d0dba24 Rob Clark 2012-10-11 269 drm_object_attach_property(&connector->base, conf->tv_brightness_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 270 priv->brightness);
ec61c71d0dba24 Rob Clark 2012-10-11 271 drm_object_attach_property(&connector->base, conf->tv_contrast_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 272 priv->contrast);
ec61c71d0dba24 Rob Clark 2012-10-11 273 drm_object_attach_property(&connector->base, conf->tv_flicker_reduction_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 274 priv->flicker);
ec61c71d0dba24 Rob Clark 2012-10-11 275 drm_object_attach_property(&connector->base, priv->scale_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 276 priv->scale);
6ee738610f41b5 Ben Skeggs 2009-12-11 277
6ee738610f41b5 Ben Skeggs 2009-12-11 278 return 0;
6ee738610f41b5 Ben Skeggs 2009-12-11 279 }
6ee738610f41b5 Ben Skeggs 2009-12-11 280

--
0-DAY CI Kernel Test Service
https://01.org/lkp

2022-07-29 20:28:49

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v1 33/35] drm/connector: Remove TV modes property

Hi Maxime,

I love your patch! Yet something to improve:

[auto build test ERROR on 37b355fdaf31ee18bda9a93c2a438dc1cbf57ec9]

url: https://github.com/intel-lab-lkp/linux/commits/Maxime-Ripard/drm-Analog-TV-Improvements/20220730-004859
base: 37b355fdaf31ee18bda9a93c2a438dc1cbf57ec9
config: riscv-randconfig-r042-20220729 (https://download.01.org/0day-ci/archive/20220730/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 8dfaecc4c24494337933aff9d9166486ca0949f1)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv-linux-gnu
# https://github.com/intel-lab-lkp/linux/commit/83327cd72054a9c8d02b6f632453a8bdc90d3797
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Maxime-Ripard/drm-Analog-TV-Improvements/20220730-004859
git checkout 83327cd72054a9c8d02b6f632453a8bdc90d3797
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/gpu/drm/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/nouveau/dispnv04/tvnv17.c:656:51: error: too many arguments to function call, expected 2, have 3
drm_mode_create_tv_properties(dev, num_tv_norms, nv17_tv_norm_names);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~
include/drm/drm_connector.h:1807:5: note: 'drm_mode_create_tv_properties' declared here
int drm_mode_create_tv_properties(struct drm_device *dev,
^
1 error generated.


vim +656 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c

6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 633
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 634 static int nv17_tv_create_resources(struct drm_encoder *encoder,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 635 struct drm_connector *connector)
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 636 {
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 637 struct drm_device *dev = encoder->dev;
77145f1cbdf8d2 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2012-07-31 638 struct nouveau_drm *drm = nouveau_drm(dev);
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 639 struct drm_mode_config *conf = &dev->mode_config;
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 640 struct nv17_tv_encoder *tv_enc = to_tv_enc(encoder);
cb75d97e9c7774 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2012-07-11 641 struct dcb_output *dcb = nouveau_encoder(encoder)->dcb;
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 642 int num_tv_norms = dcb->tvconf.has_component_output ? NUM_TV_NORMS :
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 643 NUM_LD_TV_NORMS;
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 644 int i;
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 645
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 646 if (nouveau_tv_norm) {
2574c809d7c0f0 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c YueHaibing 2019-12-30 647 i = match_string(nv17_tv_norm_names, num_tv_norms,
2574c809d7c0f0 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c YueHaibing 2019-12-30 648 nouveau_tv_norm);
2574c809d7c0f0 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c YueHaibing 2019-12-30 649 if (i < 0)
77145f1cbdf8d2 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2012-07-31 650 NV_WARN(drm, "Invalid TV norm setting \"%s\"\n",
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 651 nouveau_tv_norm);
2574c809d7c0f0 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c YueHaibing 2019-12-30 652 else
2574c809d7c0f0 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c YueHaibing 2019-12-30 653 tv_enc->tv_norm = i;
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 654 }
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 655
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 @656 drm_mode_create_tv_properties(dev, num_tv_norms, nv17_tv_norm_names);
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 657
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 658 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 659 conf->tv_select_subconnector_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 660 tv_enc->select_subconnector);
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 661 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 662 conf->tv_subconnector_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 663 tv_enc->subconnector);
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 664 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 665 conf->tv_mode_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 666 tv_enc->tv_norm);
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 667 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 668 conf->tv_flicker_reduction_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 669 tv_enc->flicker);
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 670 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 671 conf->tv_saturation_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 672 tv_enc->saturation);
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 673 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 674 conf->tv_hue_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 675 tv_enc->hue);
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 676 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 677 conf->tv_overscan_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 678 tv_enc->overscan);
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 679
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 680 return 0;
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 681 }
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 682

--
0-DAY CI Kernel Test Service
https://01.org/lkp