diff mbox series

[v3,2/7] drm/msm/dsi: add three helper functions

Message ID 20210710222005.1334734-3-dmitry.baryshkov@linaro.org
State Superseded
Headers show
Series drm/msm/dpu: add support for independent DSI config | expand

Commit Message

Dmitry Baryshkov July 10, 2021, 10:20 p.m. UTC
Add three helper functions to be used by display drivers for setting up
encoders.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

---
 drivers/gpu/drm/msm/dsi/dsi.c         |  7 +++++++
 drivers/gpu/drm/msm/dsi/dsi_manager.c | 19 +++++++++++--------
 drivers/gpu/drm/msm/msm_drv.h         | 17 +++++++++++++++--
 3 files changed, 33 insertions(+), 10 deletions(-)

-- 
2.30.2

Comments

kernel test robot July 11, 2021, 4:21 a.m. UTC | #1
Hi Dmitry,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on next-20210709]
[cannot apply to v5.13]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Dmitry-Baryshkov/drm-msm-dpu-add-support-for-independent-DSI-config/20210711-062150
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1e16624d7b4376797ede36e3c955375cf0f23298
config: arm-randconfig-r016-20210711 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8d69635ed9ecf36fd0ca85906bfde17949671cbe)
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 arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://github.com/0day-ci/linux/commit/d60158cc75b16689ac121290b562160916b57833
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Dmitry-Baryshkov/drm-msm-dpu-add-support-for-independent-DSI-config/20210711-062150
        git checkout d60158cc75b16689ac121290b562160916b57833
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=arm SHELL=/bin/bash drivers/gpu/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

   In file included from drivers/gpu/drm/msm/adreno/adreno_device.c:9:
   In file included from drivers/gpu/drm/msm/adreno/adreno_gpu.h:15:
   In file included from drivers/gpu/drm/msm/msm_gpu.h:16:
>> drivers/gpu/drm/msm/msm_drv.h:382:14: error: expected ';' after return statement

           return false
                       ^
                       ;
>> drivers/gpu/drm/msm/msm_drv.h:380:6: warning: no previous prototype for function 'msm_dsi_is_master_dsi' [-Wmissing-prototypes]

   bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi)
        ^
   drivers/gpu/drm/msm/msm_drv.h:380:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi)
   ^
   static 
   1 warning and 1 error generated.
--
   In file included from drivers/gpu/drm/msm/dp/dp_display.c:14:
>> drivers/gpu/drm/msm/msm_drv.h:382:14: error: expected ';' after return statement

           return false
                       ^
                       ;
>> drivers/gpu/drm/msm/msm_drv.h:380:6: warning: no previous prototype for function 'msm_dsi_is_master_dsi' [-Wmissing-prototypes]

   bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi)
        ^
   drivers/gpu/drm/msm/msm_drv.h:380:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi)
   ^
   static 
   drivers/gpu/drm/msm/dp/dp_display.c:1017:21: warning: variable 'drm' set but not used [-Wunused-but-set-variable]
           struct drm_device *drm;
                              ^
   2 warnings and 1 error generated.

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for QCOM_SCM
   Depends on (ARM || ARM64) && HAVE_ARM_SMCCC
   Selected by
   - ARM_QCOM_SPM_CPUIDLE && CPU_IDLE && (ARM || ARM64) && (ARCH_QCOM || COMPILE_TEST && !ARM64 && MMU


vim +382 drivers/gpu/drm/msm/msm_drv.h

   339	
   340	struct msm_edp;
   341	void __init msm_edp_register(void);
   342	void __exit msm_edp_unregister(void);
   343	int msm_edp_modeset_init(struct msm_edp *edp, struct drm_device *dev,
   344			struct drm_encoder *encoder);
   345	
   346	struct msm_dsi;
   347	#ifdef CONFIG_DRM_MSM_DSI
   348	void __init msm_dsi_register(void);
   349	void __exit msm_dsi_unregister(void);
   350	int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev,
   351				 struct drm_encoder *encoder);
   352	void msm_dsi_snapshot(struct msm_disp_state *disp_state, struct msm_dsi *msm_dsi);
   353	bool msm_dsi_is_cmd_mode(struct msm_dsi *msm_dsi);
   354	bool msm_dsi_is_bonded_dsi(struct msm_dsi *msm_dsi);
   355	bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi);
   356	#else
   357	static inline void __init msm_dsi_register(void)
   358	{
   359	}
   360	static inline void __exit msm_dsi_unregister(void)
   361	{
   362	}
   363	static inline int msm_dsi_modeset_init(struct msm_dsi *msm_dsi,
   364					       struct drm_device *dev,
   365					       struct drm_encoder *encoder)
   366	{
   367		return -EINVAL;
   368	}
   369	static inline void msm_dsi_snapshot(struct msm_disp_state *disp_state, struct msm_dsi *msm_dsi)
   370	{
   371	}
   372	static inline bool msm_dsi_is_cmd_mode(struct msm_dsi *msm_dsi)
   373	{
   374		return false;
   375	}
   376	static bool msm_dsi_is_bonded_dsi(struct msm_dsi *msm_dsi)
   377	{
   378		return false;
   379	}
 > 380	bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi)

   381	{
 > 382		return false

   383	}
   384	#endif
   385	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Abhinav Kumar July 12, 2021, 9:03 p.m. UTC | #2
On 2021-07-10 15:20, Dmitry Baryshkov wrote:
> Add three helper functions to be used by display drivers for setting up

> encoders.

> 

> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

I think there is a kbot error in this patch, with that fixed
Reviewed-by: Abhinav Kumar <abhinavk@codeaurora.org>

> ---

>  drivers/gpu/drm/msm/dsi/dsi.c         |  7 +++++++

>  drivers/gpu/drm/msm/dsi/dsi_manager.c | 19 +++++++++++--------

>  drivers/gpu/drm/msm/msm_drv.h         | 17 +++++++++++++++--

>  3 files changed, 33 insertions(+), 10 deletions(-)

> 

> diff --git a/drivers/gpu/drm/msm/dsi/dsi.c 

> b/drivers/gpu/drm/msm/dsi/dsi.c

> index 75afc12a7b25..5201d7eb0490 100644

> --- a/drivers/gpu/drm/msm/dsi/dsi.c

> +++ b/drivers/gpu/drm/msm/dsi/dsi.c

> @@ -13,6 +13,13 @@ struct drm_encoder *msm_dsi_get_encoder(struct

> msm_dsi *msm_dsi)

>  	return msm_dsi->encoder;

>  }

> 

> +bool msm_dsi_is_cmd_mode(struct msm_dsi *msm_dsi)

> +{

> +	unsigned long host_flags = 

> msm_dsi_host_get_mode_flags(msm_dsi->host);

> +

> +	return !(host_flags & MIPI_DSI_MODE_VIDEO);

> +}

> +

>  static int dsi_get_phy(struct msm_dsi *msm_dsi)

>  {

>  	struct platform_device *pdev = msm_dsi->pdev;

> diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c

> b/drivers/gpu/drm/msm/dsi/dsi_manager.c

> index b20645ab279b..27d3b9ebf831 100644

> --- a/drivers/gpu/drm/msm/dsi/dsi_manager.c

> +++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c

> @@ -216,12 +216,6 @@ static int dsi_mgr_bridge_get_id(struct drm_bridge 

> *bridge)

>  	return dsi_bridge->id;

>  }

> 

> -static bool dsi_mgr_is_cmd_mode(struct msm_dsi *msm_dsi)

> -{

> -	unsigned long host_flags = 

> msm_dsi_host_get_mode_flags(msm_dsi->host);

> -	return !(host_flags & MIPI_DSI_MODE_VIDEO);

> -}

> -

>  void msm_dsi_manager_setup_encoder(int id)

>  {

>  	struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id);

> @@ -231,7 +225,7 @@ void msm_dsi_manager_setup_encoder(int id)

> 

>  	if (encoder && kms->funcs->set_encoder_mode)

>  		kms->funcs->set_encoder_mode(kms, encoder,

> -					     dsi_mgr_is_cmd_mode(msm_dsi));

> +					     msm_dsi_is_cmd_mode(msm_dsi));

>  }

> 

>  static int msm_dsi_manager_panel_init(struct drm_connector *conn, u8 

> id)

> @@ -276,7 +270,7 @@ static int msm_dsi_manager_panel_init(struct

> drm_connector *conn, u8 id)

>  	if (other_dsi && other_dsi->panel && kms->funcs->set_split_display) {

>  		kms->funcs->set_split_display(kms, master_dsi->encoder,

>  					      slave_dsi->encoder,

> -					      dsi_mgr_is_cmd_mode(msm_dsi));

> +					      msm_dsi_is_cmd_mode(msm_dsi));

>  	}

> 

>  out:

> @@ -839,3 +833,12 @@ void msm_dsi_manager_unregister(struct msm_dsi 

> *msm_dsi)

>  		msm_dsim->dsi[msm_dsi->id] = NULL;

>  }

> 

> +bool msm_dsi_is_bonded_dsi(struct msm_dsi *msm_dsi)

> +{

> +	return IS_BONDED_DSI();

> +}

> +

> +bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi)

> +{

> +	return IS_MASTER_DSI_LINK(msm_dsi->id);

> +}

> diff --git a/drivers/gpu/drm/msm/msm_drv.h 

> b/drivers/gpu/drm/msm/msm_drv.h

> index 1a48a709ffb3..3d331acbc94a 100644

> --- a/drivers/gpu/drm/msm/msm_drv.h

> +++ b/drivers/gpu/drm/msm/msm_drv.h

> @@ -350,7 +350,9 @@ void __exit msm_dsi_unregister(void);

>  int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device 

> *dev,

>  			 struct drm_encoder *encoder);

>  void msm_dsi_snapshot(struct msm_disp_state *disp_state, struct

> msm_dsi *msm_dsi);

> -

> +bool msm_dsi_is_cmd_mode(struct msm_dsi *msm_dsi);

> +bool msm_dsi_is_bonded_dsi(struct msm_dsi *msm_dsi);

> +bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi);

>  #else

>  static inline void __init msm_dsi_register(void)

>  {

> @@ -367,7 +369,18 @@ static inline int msm_dsi_modeset_init(struct

> msm_dsi *msm_dsi,

>  static inline void msm_dsi_snapshot(struct msm_disp_state

> *disp_state, struct msm_dsi *msm_dsi)

>  {

>  }

> -

> +static inline bool msm_dsi_is_cmd_mode(struct msm_dsi *msm_dsi)

> +{

> +	return false;

> +}

> +static bool msm_dsi_is_bonded_dsi(struct msm_dsi *msm_dsi)

> +{

> +	return false;

> +}

> +bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi)

> +{

> +	return false

> +}

>  #endif

> 

>  #ifdef CONFIG_DRM_MSM_DP
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/dsi/dsi.c b/drivers/gpu/drm/msm/dsi/dsi.c
index 75afc12a7b25..5201d7eb0490 100644
--- a/drivers/gpu/drm/msm/dsi/dsi.c
+++ b/drivers/gpu/drm/msm/dsi/dsi.c
@@ -13,6 +13,13 @@  struct drm_encoder *msm_dsi_get_encoder(struct msm_dsi *msm_dsi)
 	return msm_dsi->encoder;
 }
 
+bool msm_dsi_is_cmd_mode(struct msm_dsi *msm_dsi)
+{
+	unsigned long host_flags = msm_dsi_host_get_mode_flags(msm_dsi->host);
+
+	return !(host_flags & MIPI_DSI_MODE_VIDEO);
+}
+
 static int dsi_get_phy(struct msm_dsi *msm_dsi)
 {
 	struct platform_device *pdev = msm_dsi->pdev;
diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
index b20645ab279b..27d3b9ebf831 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
@@ -216,12 +216,6 @@  static int dsi_mgr_bridge_get_id(struct drm_bridge *bridge)
 	return dsi_bridge->id;
 }
 
-static bool dsi_mgr_is_cmd_mode(struct msm_dsi *msm_dsi)
-{
-	unsigned long host_flags = msm_dsi_host_get_mode_flags(msm_dsi->host);
-	return !(host_flags & MIPI_DSI_MODE_VIDEO);
-}
-
 void msm_dsi_manager_setup_encoder(int id)
 {
 	struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id);
@@ -231,7 +225,7 @@  void msm_dsi_manager_setup_encoder(int id)
 
 	if (encoder && kms->funcs->set_encoder_mode)
 		kms->funcs->set_encoder_mode(kms, encoder,
-					     dsi_mgr_is_cmd_mode(msm_dsi));
+					     msm_dsi_is_cmd_mode(msm_dsi));
 }
 
 static int msm_dsi_manager_panel_init(struct drm_connector *conn, u8 id)
@@ -276,7 +270,7 @@  static int msm_dsi_manager_panel_init(struct drm_connector *conn, u8 id)
 	if (other_dsi && other_dsi->panel && kms->funcs->set_split_display) {
 		kms->funcs->set_split_display(kms, master_dsi->encoder,
 					      slave_dsi->encoder,
-					      dsi_mgr_is_cmd_mode(msm_dsi));
+					      msm_dsi_is_cmd_mode(msm_dsi));
 	}
 
 out:
@@ -839,3 +833,12 @@  void msm_dsi_manager_unregister(struct msm_dsi *msm_dsi)
 		msm_dsim->dsi[msm_dsi->id] = NULL;
 }
 
+bool msm_dsi_is_bonded_dsi(struct msm_dsi *msm_dsi)
+{
+	return IS_BONDED_DSI();
+}
+
+bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi)
+{
+	return IS_MASTER_DSI_LINK(msm_dsi->id);
+}
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index 1a48a709ffb3..3d331acbc94a 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -350,7 +350,9 @@  void __exit msm_dsi_unregister(void);
 int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev,
 			 struct drm_encoder *encoder);
 void msm_dsi_snapshot(struct msm_disp_state *disp_state, struct msm_dsi *msm_dsi);
-
+bool msm_dsi_is_cmd_mode(struct msm_dsi *msm_dsi);
+bool msm_dsi_is_bonded_dsi(struct msm_dsi *msm_dsi);
+bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi);
 #else
 static inline void __init msm_dsi_register(void)
 {
@@ -367,7 +369,18 @@  static inline int msm_dsi_modeset_init(struct msm_dsi *msm_dsi,
 static inline void msm_dsi_snapshot(struct msm_disp_state *disp_state, struct msm_dsi *msm_dsi)
 {
 }
-
+static inline bool msm_dsi_is_cmd_mode(struct msm_dsi *msm_dsi)
+{
+	return false;
+}
+static bool msm_dsi_is_bonded_dsi(struct msm_dsi *msm_dsi)
+{
+	return false;
+}
+bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi)
+{
+	return false
+}
 #endif
 
 #ifdef CONFIG_DRM_MSM_DP