@@ -918,7 +918,6 @@ struct timespec64 stmmac_calc_tas_basetime(ktime_t old_base_time,
918918static void tc_taprio_map_maxsdu_txq (struct stmmac_priv * priv ,
919919 struct tc_taprio_qopt_offload * qopt )
920920{
921- struct plat_stmmacenet_data * plat = priv -> plat ;
922921 u32 num_tc = qopt -> mqprio .qopt .num_tc ;
923922 u32 offset , count , i , j ;
924923
@@ -933,15 +932,14 @@ static void tc_taprio_map_maxsdu_txq(struct stmmac_priv *priv,
933932 count = qopt -> mqprio .qopt .count [i ];
934933
935934 for (j = offset ; j < offset + count ; j ++ )
936- plat -> est -> max_sdu [j ] = qopt -> max_sdu [i ] + ETH_HLEN - ETH_TLEN ;
935+ priv -> est -> max_sdu [j ] = qopt -> max_sdu [i ] + ETH_HLEN - ETH_TLEN ;
937936 }
938937}
939938
940939static int tc_taprio_configure (struct stmmac_priv * priv ,
941940 struct tc_taprio_qopt_offload * qopt )
942941{
943942 u32 size , wid = priv -> dma_cap .estwid , dep = priv -> dma_cap .estdep ;
944- struct plat_stmmacenet_data * plat = priv -> plat ;
945943 struct timespec64 time , current_time , qopt_time ;
946944 ktime_t current_time_ns ;
947945 bool fpe = false;
@@ -998,23 +996,25 @@ static int tc_taprio_configure(struct stmmac_priv *priv,
998996 if (qopt -> cycle_time_extension >= BIT (wid + 7 ))
999997 return - ERANGE ;
1000998
1001- if (!plat -> est ) {
1002- plat -> est = devm_kzalloc (priv -> device , sizeof (* plat -> est ),
999+ if (!priv -> est ) {
1000+ priv -> est = devm_kzalloc (priv -> device , sizeof (* priv -> est ),
10031001 GFP_KERNEL );
1004- if (!plat -> est )
1002+ if (!priv -> est )
10051003 return - ENOMEM ;
10061004
1007- mutex_init (& priv -> plat -> est -> lock );
1005+ mutex_init (& priv -> est_lock );
10081006 } else {
1009- memset (plat -> est , 0 , sizeof (* plat -> est ));
1007+ mutex_lock (& priv -> est_lock );
1008+ memset (priv -> est , 0 , sizeof (* priv -> est ));
1009+ mutex_unlock (& priv -> est_lock );
10101010 }
10111011
10121012 size = qopt -> num_entries ;
10131013
1014- mutex_lock (& priv -> plat -> est -> lock );
1015- priv -> plat -> est -> gcl_size = size ;
1016- priv -> plat -> est -> enable = qopt -> cmd == TAPRIO_CMD_REPLACE ;
1017- mutex_unlock (& priv -> plat -> est -> lock );
1014+ mutex_lock (& priv -> est_lock );
1015+ priv -> est -> gcl_size = size ;
1016+ priv -> est -> enable = qopt -> cmd == TAPRIO_CMD_REPLACE ;
1017+ mutex_unlock (& priv -> est_lock );
10181018
10191019 for (i = 0 ; i < size ; i ++ ) {
10201020 s64 delta_ns = qopt -> entries [i ].interval ;
@@ -1042,33 +1042,33 @@ static int tc_taprio_configure(struct stmmac_priv *priv,
10421042 return - EOPNOTSUPP ;
10431043 }
10441044
1045- priv -> plat -> est -> gcl [i ] = delta_ns | (gates << wid );
1045+ priv -> est -> gcl [i ] = delta_ns | (gates << wid );
10461046 }
10471047
1048- mutex_lock (& priv -> plat -> est -> lock );
1048+ mutex_lock (& priv -> est_lock );
10491049 /* Adjust for real system time */
10501050 priv -> ptp_clock_ops .gettime64 (& priv -> ptp_clock_ops , & current_time );
10511051 current_time_ns = timespec64_to_ktime (current_time );
10521052 time = stmmac_calc_tas_basetime (qopt -> base_time , current_time_ns ,
10531053 qopt -> cycle_time );
10541054
1055- priv -> plat -> est -> btr [0 ] = (u32 )time .tv_nsec ;
1056- priv -> plat -> est -> btr [1 ] = (u32 )time .tv_sec ;
1055+ priv -> est -> btr [0 ] = (u32 )time .tv_nsec ;
1056+ priv -> est -> btr [1 ] = (u32 )time .tv_sec ;
10571057
10581058 qopt_time = ktime_to_timespec64 (qopt -> base_time );
1059- priv -> plat -> est -> btr_reserve [0 ] = (u32 )qopt_time .tv_nsec ;
1060- priv -> plat -> est -> btr_reserve [1 ] = (u32 )qopt_time .tv_sec ;
1059+ priv -> est -> btr_reserve [0 ] = (u32 )qopt_time .tv_nsec ;
1060+ priv -> est -> btr_reserve [1 ] = (u32 )qopt_time .tv_sec ;
10611061
10621062 ctr = qopt -> cycle_time ;
1063- priv -> plat -> est -> ctr [0 ] = do_div (ctr , NSEC_PER_SEC );
1064- priv -> plat -> est -> ctr [1 ] = (u32 )ctr ;
1063+ priv -> est -> ctr [0 ] = do_div (ctr , NSEC_PER_SEC );
1064+ priv -> est -> ctr [1 ] = (u32 )ctr ;
10651065
1066- priv -> plat -> est -> ter = qopt -> cycle_time_extension ;
1066+ priv -> est -> ter = qopt -> cycle_time_extension ;
10671067
10681068 tc_taprio_map_maxsdu_txq (priv , qopt );
10691069
10701070 if (fpe && !priv -> dma_cap .fpesel ) {
1071- mutex_unlock (& priv -> plat -> est -> lock );
1071+ mutex_unlock (& priv -> est_lock );
10721072 return - EOPNOTSUPP ;
10731073 }
10741074
@@ -1077,9 +1077,9 @@ static int tc_taprio_configure(struct stmmac_priv *priv,
10771077 */
10781078 priv -> plat -> fpe_cfg -> enable = fpe ;
10791079
1080- ret = stmmac_est_configure (priv , priv , priv -> plat -> est ,
1080+ ret = stmmac_est_configure (priv , priv , priv -> est ,
10811081 priv -> plat -> clk_ptp_rate );
1082- mutex_unlock (& priv -> plat -> est -> lock );
1082+ mutex_unlock (& priv -> est_lock );
10831083 if (ret ) {
10841084 netdev_err (priv -> dev , "failed to configure EST\n" );
10851085 goto disable ;
@@ -1095,17 +1095,17 @@ static int tc_taprio_configure(struct stmmac_priv *priv,
10951095 return 0 ;
10961096
10971097disable :
1098- if (priv -> plat -> est ) {
1099- mutex_lock (& priv -> plat -> est -> lock );
1100- priv -> plat -> est -> enable = false;
1101- stmmac_est_configure (priv , priv , priv -> plat -> est ,
1098+ if (priv -> est ) {
1099+ mutex_lock (& priv -> est_lock );
1100+ priv -> est -> enable = false;
1101+ stmmac_est_configure (priv , priv , priv -> est ,
11021102 priv -> plat -> clk_ptp_rate );
11031103 /* Reset taprio status */
11041104 for (i = 0 ; i < priv -> plat -> tx_queues_to_use ; i ++ ) {
11051105 priv -> xstats .max_sdu_txq_drop [i ] = 0 ;
11061106 priv -> xstats .mtl_est_txq_hlbf [i ] = 0 ;
11071107 }
1108- mutex_unlock (& priv -> plat -> est -> lock );
1108+ mutex_unlock (& priv -> est_lock );
11091109 }
11101110
11111111 priv -> plat -> fpe_cfg -> enable = false;
0 commit comments