drm/msm/dsi: Update generated headers with DSI_DLN0_PHY_ERR bitfields
PATCH 1/2 drm/msm/dsi: Update generated headers with DSI_DLN0_PHY_ERR bitfields
Add bitfieds in DSI_DLN0_PHY_ERR which are used to report and clear errors.
Signed-off-by Archit Taneja <[email protected]>
--- drivers/gpu/drm/msm/dsi/dsi.xml.h | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-)
drivers/gpu/drm/msm/dsi/dsi.xml.h +7 -11
@@ -8,17 +8,8 @@ http://github.com/freedreno/envytools/ git clone https://github.com/freedreno/envytools.git The rules-ng-ng source files this header was generated from are: -- /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 676 bytes, from 2014-12-05 15:34:49) -- /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) -- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp4.xml ( 20915 bytes, from 2015-03-24 22:05:22) -- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml ( 2352 bytes, from 2015-04-12 15:02:42) -- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml ( 35083 bytes, from 2015-04-12 15:04:03) -- /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 22094 bytes, from 2015-05-12 12:45:23) -- /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) -- /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1686 bytes, from 2014-10-31 16:48:57) -- /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) -- /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 29012 bytes, from 2015-05-12 12:45:23) -- /home/robclark/src/freedreno/envytools/rnndb/edp/edp.xml ( 10416 bytes, from 2015-05-12 12:45:23) +- /local/mnt/workspace/source_trees/envytools/rnndb/../rnndb/dsi/dsi.xml ( 22421 bytes, from 2015-06-25 05:24:08) +- /local/mnt/workspace/source_trees/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2015-02-09 03:18:10) Copyright (C) 2013-2015 by the following authors: - Rob Clark <[email protected]> (robclark)
@@ -382,6 +373,11 @@ static inline uint32_t DSI_TRIG_CTRL_STREAM(uint32_t val)#define REG_DSI_TRIG_DMA 0x0000008c#define REG_DSI_DLN0_PHY_ERR 0x000000b0 +#define DSI_DLN0_PHY_ERR_DLN0_ERR_ESC 0x00000001 +#define DSI_DLN0_PHY_ERR_DLN0_ERR_SYNC_ESC 0x00000010 +#define DSI_DLN0_PHY_ERR_DLN0_ERR_CONTROL 0x00000100 +#define DSI_DLN0_PHY_ERR_DLN0_ERR_CONTENTION_LP0 0x00001000 +#define DSI_DLN0_PHY_ERR_DLN0_ERR_CONTENTION_LP1 0x00010000#define REG_DSI_TIMEOUT_STATUS 0x000000bc
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 2/2 drm/msm/dsi: Report PHY errors only when they really occur
DSI PHY errors are falsely reported whenever a dsi error occurs. This is because DSI_DLN0_PHY_ERR isn't only used as a status register, but also used to mask PHY errors. Currently, we end up reading the mask bits too and therefore always report errors.
Ignore the register mask bits and check for only the status/clear bits.
Signed-off-by Archit Taneja <[email protected]>
--- drivers/gpu/drm/msm/dsi/dsi_host.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/gpu/drm/msm/dsi/dsi_host.c +5 -1
@@ -1260,7 +1260,11 @@ static void dsi_dln0_phy_err(struct msm_dsi_host *msm_host) status =dsi_read (msm_host,REG_DSI_DLN0_PHY_ERR ); -if (status) { +if (status & (DSI_DLN0_PHY_ERR_DLN0_ERR_ESC | +DSI_DLN0_PHY_ERR_DLN0_ERR_SYNC_ESC | +DSI_DLN0_PHY_ERR_DLN0_ERR_CONTROL | +DSI_DLN0_PHY_ERR_DLN0_ERR_CONTENTION_LP0 | +DSI_DLN0_PHY_ERR_DLN0_ERR_CONTENTION_LP1 )) {dsi_write (msm_host,REG_DSI_DLN0_PHY_ERR , status); msm_host->err_work_state |=DSI_ERR_STATE_DLN0_PHY ; }
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation