mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 8c73af6e8d78c66cfef0f551b00d375ec0b67ff3 Mon Sep 17 00:00:00 2001
 | |
| From: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
 | |
| Date: Sat, 30 Jan 2021 10:50:09 +0530
 | |
| Subject: [PATCH] remoteproc: qcom: Update regmap offsets for halt register
 | |
| 
 | |
| Fixed issue in reading halt-regs parameter from device-tree.
 | |
| 
 | |
| Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
 | |
| Signed-off-by: Sricharan R <sricharan@codeaurora.org>
 | |
| ---
 | |
|  drivers/remoteproc/qcom_q6v5_wcss.c | 22 ++++++++++++++--------
 | |
|  1 file changed, 14 insertions(+), 8 deletions(-)
 | |
| 
 | |
| --- a/drivers/remoteproc/qcom_q6v5_wcss.c
 | |
| +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
 | |
| @@ -86,7 +86,7 @@
 | |
|  #define TCSR_WCSS_CLK_MASK	0x1F
 | |
|  #define TCSR_WCSS_CLK_ENABLE	0x14
 | |
|  
 | |
| -#define MAX_HALT_REG		3
 | |
| +#define MAX_HALT_REG		4
 | |
|  
 | |
|  #define WCNSS_PAS_ID		6
 | |
|  
 | |
| @@ -154,6 +154,7 @@ struct wcss_data {
 | |
|  	u32 version;
 | |
|  	bool aon_reset_required;
 | |
|  	bool wcss_q6_reset_required;
 | |
| +	bool bcr_reset_required;
 | |
|  	const char *ssr_name;
 | |
|  	const char *sysmon_name;
 | |
|  	int ssctl_id;
 | |
| @@ -875,10 +876,13 @@ static int q6v5_wcss_init_reset(struct q
 | |
|  		}
 | |
|  	}
 | |
|  
 | |
| -	wcss->wcss_q6_bcr_reset = devm_reset_control_get_exclusive(dev, "wcss_q6_bcr_reset");
 | |
| -	if (IS_ERR(wcss->wcss_q6_bcr_reset)) {
 | |
| -		dev_err(wcss->dev, "unable to acquire wcss_q6_bcr_reset\n");
 | |
| -		return PTR_ERR(wcss->wcss_q6_bcr_reset);
 | |
| +	if (desc->bcr_reset_required) {
 | |
| +		wcss->wcss_q6_bcr_reset = devm_reset_control_get_exclusive(dev,
 | |
| +									   "wcss_q6_bcr_reset");
 | |
| +		if (IS_ERR(wcss->wcss_q6_bcr_reset)) {
 | |
| +			dev_err(wcss->dev, "unable to acquire wcss_q6_bcr_reset\n");
 | |
| +			return PTR_ERR(wcss->wcss_q6_bcr_reset);
 | |
| +		}
 | |
|  	}
 | |
|  
 | |
|  	return 0;
 | |
| @@ -929,9 +933,9 @@ static int q6v5_wcss_init_mmio(struct q6
 | |
|  		return -EINVAL;
 | |
|  	}
 | |
|  
 | |
| -	wcss->halt_q6 = halt_reg[0];
 | |
| -	wcss->halt_wcss = halt_reg[1];
 | |
| -	wcss->halt_nc = halt_reg[2];
 | |
| +	wcss->halt_q6 = halt_reg[1];
 | |
| +	wcss->halt_wcss = halt_reg[2];
 | |
| +	wcss->halt_nc = halt_reg[3];
 | |
|  
 | |
|  	return 0;
 | |
|  }
 | |
| @@ -1178,6 +1182,7 @@ static const struct wcss_data wcss_ipq80
 | |
|  	.crash_reason_smem = WCSS_CRASH_REASON,
 | |
|  	.aon_reset_required = true,
 | |
|  	.wcss_q6_reset_required = true,
 | |
| +	.bcr_reset_required = false,
 | |
|  	.ssr_name = "q6wcss",
 | |
|  	.ops = &q6v5_wcss_ipq8074_ops,
 | |
|  	.requires_force_stop = true,
 | |
| @@ -1192,6 +1197,7 @@ static const struct wcss_data wcss_qcs40
 | |
|  	.version = WCSS_QCS404,
 | |
|  	.aon_reset_required = false,
 | |
|  	.wcss_q6_reset_required = false,
 | |
| +	.bcr_reset_required = true,
 | |
|  	.ssr_name = "mpss",
 | |
|  	.sysmon_name = "wcnss",
 | |
|  	.ssctl_id = 0x12,
 |