drm/bridge/synopsys: dsi: allows LP commands in video mode
diff mbox series

Message ID 20200701151316.18524-1-yannick.fertre@st.com
State New
Headers show
Series
  • drm/bridge/synopsys: dsi: allows LP commands in video mode
Related show

Commit Message

Yannick Fertre July 1, 2020, 3:13 p.m. UTC
From: Antonio Borneo <antonio.borneo@st.com>

Current code only sends LP commands in command mode.

Allows sending LP commands also in video mode by setting the
proper flag in DSI_VID_MODE_CFG.

Signed-off-by: Antonio Borneo <antonio.borneo@st.com>
Change-Id: Ib78fa37bcc7559ce63017acd6ee0bbf00c61a397
Reviewed-on: https://gerrit.st.com/c/mpu/oe/st/linux-stm32/+/153242
Reviewed-by: CITOOLS <smet-aci-reviews@lists.codex.cro.st.com>
Reviewed-by: CIBUILD <smet-aci-builds@lists.codex.cro.st.com>
Reviewed-by: Yannick FERTRE <yannick.fertre@st.com>
Reviewed-by: Philippe CORNU <philippe.cornu@st.com>
Tested-by: Yannick FERTRE <yannick.fertre@st.com>
---
 drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

kernel test robot July 1, 2020, 10:37 p.m. UTC | #1
Hi Yannick,

Thank you for the patch! Yet something to improve:

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

url:    https://github.com/0day-ci/linux/commits/Yannick-Fertre/drm-bridge-synopsys-dsi-allows-LP-commands-in-video-mode/20200701-231547
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 7c30b859a947535f2213277e827d7ac7dcff9c84
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
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
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64 

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

All errors (new ones prefixed by >>):

   drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c: In function 'dw_mipi_message_config':
>> drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c:374:10: error: 'ENABLE_LOW_POWER_CMD' undeclared (first use in this function); did you mean 'ENABLE_LOW_POWER_MASK'?
     374 |   val |= ENABLE_LOW_POWER_CMD;
         |          ^~~~~~~~~~~~~~~~~~~~
         |          ENABLE_LOW_POWER_MASK
   drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c:374:10: note: each undeclared identifier is reported only once for each function it appears in

vim +374 drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c

   357	
   358	static void dw_mipi_message_config(struct dw_mipi_dsi *dsi,
   359					   const struct mipi_dsi_msg *msg)
   360	{
   361		bool lpm = msg->flags & MIPI_DSI_MSG_USE_LPM;
   362		u32 val = 0;
   363	
   364		if (msg->flags & MIPI_DSI_MSG_REQ_ACK)
   365			val |= ACK_RQST_EN;
   366		if (lpm)
   367			val |= CMD_MODE_ALL_LP;
   368	
   369		dsi_write(dsi, DSI_LPCLK_CTRL, lpm ? 0 : PHY_TXREQUESTCLKHS);
   370		dsi_write(dsi, DSI_CMD_MODE_CFG, val);
   371	
   372		val = dsi_read(dsi, DSI_VID_MODE_CFG);
   373		if (lpm)
 > 374			val |= ENABLE_LOW_POWER_CMD;
   375		else
   376			val &= ~ENABLE_LOW_POWER_CMD;
   377		dsi_write(dsi, DSI_VID_MODE_CFG, val);
   378	}
   379	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Patch
diff mbox series

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
index d580b2aa4ce9..0cd43e7a69bb 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
@@ -367,6 +367,13 @@  static void dw_mipi_message_config(struct dw_mipi_dsi *dsi,
 
 	dsi_write(dsi, DSI_LPCLK_CTRL, lpm ? 0 : PHY_TXREQUESTCLKHS);
 	dsi_write(dsi, DSI_CMD_MODE_CFG, val);
+
+	val = dsi_read(dsi, DSI_VID_MODE_CFG);
+	if (lpm)
+		val |= ENABLE_LOW_POWER_CMD;
+	else
+		val &= ~ENABLE_LOW_POWER_CMD;
+	dsi_write(dsi, DSI_VID_MODE_CFG, val);
 }
 
 static int dw_mipi_dsi_gen_pkt_hdr_write(struct dw_mipi_dsi *dsi, u32 hdr_val)