File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -33,6 +33,20 @@ static void intel_shim_vs_init(struct sdw_intel *sdw)
33
33
usleep_range (10 , 15 );
34
34
}
35
35
36
+ static void intel_shim_vs_set_clock_source (struct sdw_intel * sdw , u32 source )
37
+ {
38
+ void __iomem * shim_vs = sdw -> link_res -> shim_vs ;
39
+ u32 val ;
40
+
41
+ val = intel_readl (shim_vs , SDW_SHIM2_INTEL_VS_LVSCTL );
42
+
43
+ u32p_replace_bits (& val , source , SDW_SHIM2_INTEL_VS_LVSCTL_MLCS );
44
+
45
+ intel_writel (shim_vs , SDW_SHIM2_INTEL_VS_LVSCTL , val );
46
+
47
+ dev_dbg (sdw -> cdns .dev , "clock source %d LVSCTL %#x\n" , source , val );
48
+ }
49
+
36
50
static int intel_shim_check_wake (struct sdw_intel * sdw )
37
51
{
38
52
void __iomem * shim_vs ;
@@ -100,6 +114,8 @@ static int intel_link_power_up(struct sdw_intel *sdw)
100
114
goto out ;
101
115
}
102
116
117
+ intel_shim_vs_set_clock_source (sdw , clock_source );
118
+
103
119
if (!* shim_mask ) {
104
120
/* we first need to program the SyncPRD/CPU registers */
105
121
dev_dbg (sdw -> cdns .dev , "first link up, programming SYNCPRD\n" );
You can’t perform that action at this time.
0 commit comments