"Abhishek Chauhan (ABC)" <quic_abchauha@xxxxxxxxxxx> writes: > Qualcomm had similar discussions with respect to enabling of TBS for a > particular queue. We had similar discussion on these terms yesterday > with Redhat. Adding Andrew from Redhat here > > What we discovered as part of the discussions is listed below. > > 1. Today upstream stmmac code is designed in such a way that TBS flag > is put as part of queue configurations(see below snippet) and as well > know that stmmac queue configuration comes from the dtsi file. > > //ndo_open => stmmac_open > int tbs_en = priv->plat->tx_queues_cfg[chan].tbs_en;(comes from tx_queues_cfg) > > /* Setup per-TXQ tbs flag before TX descriptor alloc */ > tx_q->tbs |= tbs_en ? STMMAC_TBS_AVAIL : 0; > > 2. There is a no way to do this dynamically from user space because we don't have any > API exposed which can do it from user space Not now. But why not extend ethtool API to allow enabling TBS for supported controllers? > and also TBS rely on special descriptors aka enhanced desc this cannot > be done run time and stmmac has to be aware of it before we do > DMA/MAC/MTL start. Isn't this somewhat similar to changing the RX/TX ring parameters, which I believe also is quite difficult to do at run time, and ethtool therefore requires the interface to be down in oroer to change them? > To do this dynamically would only mean stopping DMA/MAC/MTL realloc > resources for enhanced desc and the starting MAC/DMA/MTL. This means > we are disrupting other traffic(By stopping MAC block). Yes. But you would be disrupting traffic less than by requiring a complete reboot of the target which is needed if the devicetree must be changed. > 3. I dont think there is a way we can enable this dynamically today. I > would like upstream community to share your thoughts as well. Hereby done. Could we investigate the possibility of using ethtool to change TBS enable/disable "run-time"? > 4. I agree with Rohan's patch here and want upstream community to > accept it. This will allow use to configure the queues where TBS needs > to be enabled as hardcoding in the code unless upstream has better way > to this using userspace. > > Please let us know if you think otherwise. /Esben