\hypertarget{mlx5__en__port__buffer_8c}{}\doxysection{dev/mlx5/mlx5\+\_\+en/mlx5\+\_\+en\+\_\+port\+\_\+buffer.c File Reference}
\label{mlx5__en__port__buffer_8c}\index{dev/mlx5/mlx5\_en/mlx5\_en\_port\_buffer.c@{dev/mlx5/mlx5\_en/mlx5\_en\_port\_buffer.c}}
{\ttfamily \#include \char`\"{}opt\+\_\+rss.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}opt\+\_\+ratelimit.\+h\char`\"{}}\newline
{\ttfamily \#include $<$dev/mlx5/mlx5\+\_\+en/port\+\_\+buffer.\+h$>$}\newline
Include dependency graph for mlx5\+\_\+en\+\_\+port\+\_\+buffer.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d4/d47/mlx5__en__port__buffer_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{mlx5__en__port__buffer_8c_a6e4b4bfdf46637a2349e89660bb11ebf}{MLX5\+E\+\_\+\+MAX\+\_\+\+PORT\+\_\+\+MTU}}~9216
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{mlx5__en__port__buffer_8c_a1281dfc1f0829aa9ca4f7fd6ca79fc5c}{mlx5e\+\_\+port\+\_\+query\+\_\+buffer}} (struct \mbox{\hyperlink{structmlx5e__priv}{mlx5e\+\_\+priv}} $\ast$\mbox{\hyperlink{en_8h_a5fb0e4bc38f8b60aad81d13acf50020f}{priv}}, struct \mbox{\hyperlink{structmlx5e__port__buffer}{mlx5e\+\_\+port\+\_\+buffer}} $\ast$port\+\_\+buffer)
\item 
static int \mbox{\hyperlink{mlx5__en__port__buffer_8c_a9a0bd9e33a1fc30d90689c6aebd19d85}{port\+\_\+set\+\_\+buffer}} (struct \mbox{\hyperlink{structmlx5e__priv}{mlx5e\+\_\+priv}} $\ast$\mbox{\hyperlink{en_8h_a5fb0e4bc38f8b60aad81d13acf50020f}{priv}}, struct \mbox{\hyperlink{structmlx5e__port__buffer}{mlx5e\+\_\+port\+\_\+buffer}} $\ast$port\+\_\+buffer)
\item 
static u32 \mbox{\hyperlink{mlx5__en__port__buffer_8c_a19ce167a5bc87b278c54900a3135f323}{calculate\+\_\+xoff}} (struct \mbox{\hyperlink{structmlx5e__priv}{mlx5e\+\_\+priv}} $\ast$\mbox{\hyperlink{en_8h_a5fb0e4bc38f8b60aad81d13acf50020f}{priv}}, unsigned int mtu)
\item 
static int \mbox{\hyperlink{mlx5__en__port__buffer_8c_a0a183f8c4e6363662778202e1a9d89ef}{update\+\_\+xoff\+\_\+threshold}} (struct \mbox{\hyperlink{structmlx5e__priv}{mlx5e\+\_\+priv}} $\ast$\mbox{\hyperlink{en_8h_a5fb0e4bc38f8b60aad81d13acf50020f}{priv}}, struct \mbox{\hyperlink{structmlx5e__port__buffer}{mlx5e\+\_\+port\+\_\+buffer}} $\ast$port\+\_\+buffer, u32 xoff)
\item 
static int \mbox{\hyperlink{mlx5__en__port__buffer_8c_a60bc723b10bd41651822157140a1413e}{update\+\_\+buffer\+\_\+lossy}} (struct \mbox{\hyperlink{structmlx5e__priv}{mlx5e\+\_\+priv}} $\ast$\mbox{\hyperlink{en_8h_a5fb0e4bc38f8b60aad81d13acf50020f}{priv}}, unsigned int mtu, u8 pfc\+\_\+en, u8 $\ast$buffer, u32 xoff, struct \mbox{\hyperlink{structmlx5e__port__buffer}{mlx5e\+\_\+port\+\_\+buffer}} $\ast$port\+\_\+buffer, bool $\ast$change)
\item 
int \mbox{\hyperlink{mlx5__en__port__buffer_8c_a75561486cd5e67b1a07ea559224ffd52}{mlx5e\+\_\+port\+\_\+manual\+\_\+buffer\+\_\+config}} (struct \mbox{\hyperlink{structmlx5e__priv}{mlx5e\+\_\+priv}} $\ast$\mbox{\hyperlink{en_8h_a5fb0e4bc38f8b60aad81d13acf50020f}{priv}}, u32 change, unsigned int mtu, struct \mbox{\hyperlink{structieee__pfc}{ieee\+\_\+pfc}} $\ast$pfc, u32 $\ast$buffer\+\_\+size, u8 $\ast$prio2buffer)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{mlx5__en__port__buffer_8c_a6e4b4bfdf46637a2349e89660bb11ebf}\label{mlx5__en__port__buffer_8c_a6e4b4bfdf46637a2349e89660bb11ebf}} 
\index{mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}!MLX5E\_MAX\_PORT\_MTU@{MLX5E\_MAX\_PORT\_MTU}}
\index{MLX5E\_MAX\_PORT\_MTU@{MLX5E\_MAX\_PORT\_MTU}!mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}}
\doxysubsubsection{\texorpdfstring{MLX5E\_MAX\_PORT\_MTU}{MLX5E\_MAX\_PORT\_MTU}}
{\footnotesize\ttfamily \#define MLX5\+E\+\_\+\+MAX\+\_\+\+PORT\+\_\+\+MTU~9216}



Definition at line \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00033}{33}} of file \mbox{\hyperlink{mlx5__en__port__buffer_8c_source}{mlx5\+\_\+en\+\_\+port\+\_\+buffer.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{mlx5__en__port__buffer_8c_a19ce167a5bc87b278c54900a3135f323}\label{mlx5__en__port__buffer_8c_a19ce167a5bc87b278c54900a3135f323}} 
\index{mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}!calculate\_xoff@{calculate\_xoff}}
\index{calculate\_xoff@{calculate\_xoff}!mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}}
\doxysubsubsection{\texorpdfstring{calculate\_xoff()}{calculate\_xoff()}}
{\footnotesize\ttfamily static u32 calculate\+\_\+xoff (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5e__priv}{mlx5e\+\_\+priv}} $\ast$}]{priv,  }\item[{unsigned int}]{mtu }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00127}{127}} of file \mbox{\hyperlink{mlx5__en__port__buffer_8c_source}{mlx5\+\_\+en\+\_\+port\+\_\+buffer.\+c}}.



References \mbox{\hyperlink{en_8h_source_l01070}{mlx5e\+\_\+dcbx\+::cable\+\_\+len}}, \mbox{\hyperlink{en_8h_source_l01147}{mlx5e\+\_\+priv\+::dcbx}}, \mbox{\hyperlink{en_8h_source_l01075}{mlx5e\+\_\+priv\+::mdev}}, \mbox{\hyperlink{mlx5__core_8h_source_l00061}{mlx5\+\_\+core\+\_\+warn}}, \mbox{\hyperlink{en_8h_source_l01268}{mlx5e\+\_\+dbg}}, \mbox{\hyperlink{mlx5__port_8c_source_l01383}{mlx5e\+\_\+port\+\_\+linkspeed()}}, \mbox{\hyperlink{en_8h_source_l00007}{priv}}, and \mbox{\hyperlink{port_8h_source_l00155}{SPEED\+\_\+40000}}.



Referenced by \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00241}{mlx5e\+\_\+port\+\_\+manual\+\_\+buffer\+\_\+config()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/db9/mlx5__en__port__buffer_8c_a19ce167a5bc87b278c54900a3135f323_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/db9/mlx5__en__port__buffer_8c_a19ce167a5bc87b278c54900a3135f323_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__en__port__buffer_8c_a75561486cd5e67b1a07ea559224ffd52}\label{mlx5__en__port__buffer_8c_a75561486cd5e67b1a07ea559224ffd52}} 
\index{mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}!mlx5e\_port\_manual\_buffer\_config@{mlx5e\_port\_manual\_buffer\_config}}
\index{mlx5e\_port\_manual\_buffer\_config@{mlx5e\_port\_manual\_buffer\_config}!mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}}
\doxysubsubsection{\texorpdfstring{mlx5e\_port\_manual\_buffer\_config()}{mlx5e\_port\_manual\_buffer\_config()}}
{\footnotesize\ttfamily int mlx5e\+\_\+port\+\_\+manual\+\_\+buffer\+\_\+config (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5e__priv}{mlx5e\+\_\+priv}} $\ast$}]{priv,  }\item[{u32}]{change,  }\item[{unsigned int}]{mtu,  }\item[{struct \mbox{\hyperlink{structieee__pfc}{ieee\+\_\+pfc}} $\ast$}]{pfc,  }\item[{u32 $\ast$}]{buffer\+\_\+size,  }\item[{u8 $\ast$}]{prio2buffer }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00241}{241}} of file \mbox{\hyperlink{mlx5__en__port__buffer_8c_source}{mlx5\+\_\+en\+\_\+port\+\_\+buffer.\+c}}.



References \mbox{\hyperlink{port__buffer_8h_source_l00060}{mlx5e\+\_\+port\+\_\+buffer\+::buffer}}, \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00127}{calculate\+\_\+xoff()}}, \mbox{\hyperlink{en_8h_source_l01147}{mlx5e\+\_\+priv\+::dcbx}}, \mbox{\hyperlink{port__buffer_8h_source_l00050}{mlx5e\+\_\+bufferx\+\_\+reg\+::lossy}}, \mbox{\hyperlink{en_8h_source_l01075}{mlx5e\+\_\+priv\+::mdev}}, \mbox{\hyperlink{mlx5__port_8c_source_l00428}{mlx5\+\_\+query\+\_\+port\+\_\+pfc()}}, \mbox{\hyperlink{en_8h_source_l01268}{mlx5e\+\_\+dbg}}, \mbox{\hyperlink{port__buffer_8h_source_l00034}{MLX5\+E\+\_\+\+MAX\+\_\+\+BUFFER}}, \mbox{\hyperlink{en_8h_source_l00078}{MLX5\+E\+\_\+\+MAX\+\_\+\+PRIORITY}}, \mbox{\hyperlink{port__buffer_8h_source_l00043}{MLX5\+E\+\_\+\+PORT\+\_\+\+BUFFER\+\_\+\+CABLE\+\_\+\+LEN}}, \mbox{\hyperlink{port__buffer_8h_source_l00044}{MLX5\+E\+\_\+\+PORT\+\_\+\+BUFFER\+\_\+\+PFC}}, \mbox{\hyperlink{port__buffer_8h_source_l00045}{MLX5\+E\+\_\+\+PORT\+\_\+\+BUFFER\+\_\+\+PRIO2\+BUFFER}}, \mbox{\hyperlink{port__buffer_8h_source_l00046}{MLX5\+E\+\_\+\+PORT\+\_\+\+BUFFER\+\_\+\+SIZE}}, \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00035}{mlx5e\+\_\+port\+\_\+query\+\_\+buffer()}}, \mbox{\hyperlink{mlx5__port_8c_source_l01437}{mlx5e\+\_\+port\+\_\+query\+\_\+priority2buffer()}}, \mbox{\hyperlink{mlx5__port_8c_source_l01469}{mlx5e\+\_\+port\+\_\+set\+\_\+priority2buffer()}}, \mbox{\hyperlink{port__buffer_8h_source_l00067}{ieee\+\_\+pfc\+::pfc\+\_\+en}}, \mbox{\hyperlink{port__buffer_8h_source_l00058}{mlx5e\+\_\+port\+\_\+buffer\+::port\+\_\+buffer\+\_\+size}}, \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00089}{port\+\_\+set\+\_\+buffer()}}, \mbox{\hyperlink{en_8h_source_l00007}{priv}}, \mbox{\hyperlink{port__buffer_8h_source_l00052}{mlx5e\+\_\+bufferx\+\_\+reg\+::size}}, \mbox{\hyperlink{en_8h_source_l01148}{mlx5e\+\_\+priv\+::sw\+\_\+is\+\_\+port\+\_\+buf\+\_\+owner}}, \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00194}{update\+\_\+buffer\+\_\+lossy()}}, \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00145}{update\+\_\+xoff\+\_\+threshold()}}, and \mbox{\hyperlink{en_8h_source_l01071}{mlx5e\+\_\+dcbx\+::xoff}}.



Referenced by \mbox{\hyperlink{mlx5__en__ethtool_8c_source_l00775}{mlx5e\+\_\+buf\+\_\+prio\+\_\+handler()}}, \mbox{\hyperlink{mlx5__en__ethtool_8c_source_l00747}{mlx5e\+\_\+buf\+\_\+size\+\_\+handler()}}, \mbox{\hyperlink{mlx5__en__ethtool_8c_source_l00805}{mlx5e\+\_\+cable\+\_\+length\+\_\+handler()}}, and \mbox{\hyperlink{mlx5__en__ethtool_8c_source_l00735}{mlx5e\+\_\+update\+\_\+buf\+\_\+lossy()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/db9/mlx5__en__port__buffer_8c_a75561486cd5e67b1a07ea559224ffd52_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/db9/mlx5__en__port__buffer_8c_a75561486cd5e67b1a07ea559224ffd52_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__en__port__buffer_8c_a1281dfc1f0829aa9ca4f7fd6ca79fc5c}\label{mlx5__en__port__buffer_8c_a1281dfc1f0829aa9ca4f7fd6ca79fc5c}} 
\index{mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}!mlx5e\_port\_query\_buffer@{mlx5e\_port\_query\_buffer}}
\index{mlx5e\_port\_query\_buffer@{mlx5e\_port\_query\_buffer}!mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}}
\doxysubsubsection{\texorpdfstring{mlx5e\_port\_query\_buffer()}{mlx5e\_port\_query\_buffer()}}
{\footnotesize\ttfamily int mlx5e\+\_\+port\+\_\+query\+\_\+buffer (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5e__priv}{mlx5e\+\_\+priv}} $\ast$}]{priv,  }\item[{struct \mbox{\hyperlink{structmlx5e__port__buffer}{mlx5e\+\_\+port\+\_\+buffer}} $\ast$}]{port\+\_\+buffer }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00035}{35}} of file \mbox{\hyperlink{mlx5__en__port__buffer_8c_source}{mlx5\+\_\+en\+\_\+port\+\_\+buffer.\+c}}.



References \mbox{\hyperlink{port__buffer_8h_source_l00060}{mlx5e\+\_\+port\+\_\+buffer\+::buffer}}, \mbox{\hyperlink{port__buffer_8h_source_l00051}{mlx5e\+\_\+bufferx\+\_\+reg\+::epsb}}, \mbox{\hyperlink{port__buffer_8h_source_l00050}{mlx5e\+\_\+bufferx\+\_\+reg\+::lossy}}, \mbox{\hyperlink{en_8h_source_l01075}{mlx5e\+\_\+priv\+::mdev}}, \mbox{\hyperlink{device_8h_source_l00070}{MLX5\+\_\+\+ADDR\+\_\+\+OF}}, \mbox{\hyperlink{device_8h_source_l00091}{MLX5\+\_\+\+GET}}, \mbox{\hyperlink{device_8h_source_l00064}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+BYTES}}, \mbox{\hyperlink{port__buffer_8h_source_l00035}{MLX5\+E\+\_\+\+BUFFER\+\_\+\+CELL\+\_\+\+SHIFT}}, \mbox{\hyperlink{en_8h_source_l01268}{mlx5e\+\_\+dbg}}, \mbox{\hyperlink{port__buffer_8h_source_l00034}{MLX5\+E\+\_\+\+MAX\+\_\+\+BUFFER}}, \mbox{\hyperlink{mlx5__port_8c_source_l01402}{mlx5e\+\_\+port\+\_\+query\+\_\+pbmc()}}, \mbox{\hyperlink{port__buffer_8h_source_l00058}{mlx5e\+\_\+port\+\_\+buffer\+::port\+\_\+buffer\+\_\+size}}, \mbox{\hyperlink{en_8h_source_l00007}{priv}}, \mbox{\hyperlink{port__buffer_8h_source_l00052}{mlx5e\+\_\+bufferx\+\_\+reg\+::size}}, \mbox{\hyperlink{port__buffer_8h_source_l00059}{mlx5e\+\_\+port\+\_\+buffer\+::spare\+\_\+buffer\+\_\+size}}, \mbox{\hyperlink{port__buffer_8h_source_l00053}{mlx5e\+\_\+bufferx\+\_\+reg\+::xoff}}, and \mbox{\hyperlink{port__buffer_8h_source_l00054}{mlx5e\+\_\+bufferx\+\_\+reg\+::xon}}.



Referenced by \mbox{\hyperlink{mlx5__en__ethtool_8c_source_l00747}{mlx5e\+\_\+buf\+\_\+size\+\_\+handler()}}, \mbox{\hyperlink{mlx5__en__ethtool_8c_source_l01429}{mlx5e\+\_\+create\+\_\+ethtool()}}, and \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00241}{mlx5e\+\_\+port\+\_\+manual\+\_\+buffer\+\_\+config()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/db9/mlx5__en__port__buffer_8c_a1281dfc1f0829aa9ca4f7fd6ca79fc5c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/db9/mlx5__en__port__buffer_8c_a1281dfc1f0829aa9ca4f7fd6ca79fc5c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__en__port__buffer_8c_a9a0bd9e33a1fc30d90689c6aebd19d85}\label{mlx5__en__port__buffer_8c_a9a0bd9e33a1fc30d90689c6aebd19d85}} 
\index{mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}!port\_set\_buffer@{port\_set\_buffer}}
\index{port\_set\_buffer@{port\_set\_buffer}!mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}}
\doxysubsubsection{\texorpdfstring{port\_set\_buffer()}{port\_set\_buffer()}}
{\footnotesize\ttfamily static int port\+\_\+set\+\_\+buffer (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5e__priv}{mlx5e\+\_\+priv}} $\ast$}]{priv,  }\item[{struct \mbox{\hyperlink{structmlx5e__port__buffer}{mlx5e\+\_\+port\+\_\+buffer}} $\ast$}]{port\+\_\+buffer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00089}{89}} of file \mbox{\hyperlink{mlx5__en__port__buffer_8c_source}{mlx5\+\_\+en\+\_\+port\+\_\+buffer.\+c}}.



References \mbox{\hyperlink{port__buffer_8h_source_l00060}{mlx5e\+\_\+port\+\_\+buffer\+::buffer}}, \mbox{\hyperlink{port__buffer_8h_source_l00050}{mlx5e\+\_\+bufferx\+\_\+reg\+::lossy}}, \mbox{\hyperlink{en_8h_source_l01075}{mlx5e\+\_\+priv\+::mdev}}, \mbox{\hyperlink{device_8h_source_l00070}{MLX5\+\_\+\+ADDR\+\_\+\+OF}}, \mbox{\hyperlink{device_8h_source_l00073}{MLX5\+\_\+\+SET}}, \mbox{\hyperlink{device_8h_source_l00064}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+BYTES}}, \mbox{\hyperlink{port__buffer_8h_source_l00035}{MLX5\+E\+\_\+\+BUFFER\+\_\+\+CELL\+\_\+\+SHIFT}}, \mbox{\hyperlink{port__buffer_8h_source_l00034}{MLX5\+E\+\_\+\+MAX\+\_\+\+BUFFER}}, \mbox{\hyperlink{mlx5__port_8c_source_l01402}{mlx5e\+\_\+port\+\_\+query\+\_\+pbmc()}}, \mbox{\hyperlink{mlx5__port_8c_source_l01419}{mlx5e\+\_\+port\+\_\+set\+\_\+pbmc()}}, \mbox{\hyperlink{en_8h_source_l00007}{priv}}, \mbox{\hyperlink{port__buffer_8h_source_l00052}{mlx5e\+\_\+bufferx\+\_\+reg\+::size}}, \mbox{\hyperlink{port__buffer_8h_source_l00053}{mlx5e\+\_\+bufferx\+\_\+reg\+::xoff}}, and \mbox{\hyperlink{port__buffer_8h_source_l00054}{mlx5e\+\_\+bufferx\+\_\+reg\+::xon}}.



Referenced by \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00241}{mlx5e\+\_\+port\+\_\+manual\+\_\+buffer\+\_\+config()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/db9/mlx5__en__port__buffer_8c_a9a0bd9e33a1fc30d90689c6aebd19d85_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/db9/mlx5__en__port__buffer_8c_a9a0bd9e33a1fc30d90689c6aebd19d85_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__en__port__buffer_8c_a60bc723b10bd41651822157140a1413e}\label{mlx5__en__port__buffer_8c_a60bc723b10bd41651822157140a1413e}} 
\index{mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}!update\_buffer\_lossy@{update\_buffer\_lossy}}
\index{update\_buffer\_lossy@{update\_buffer\_lossy}!mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}}
\doxysubsubsection{\texorpdfstring{update\_buffer\_lossy()}{update\_buffer\_lossy()}}
{\footnotesize\ttfamily static int update\+\_\+buffer\+\_\+lossy (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5e__priv}{mlx5e\+\_\+priv}} $\ast$}]{priv,  }\item[{unsigned int}]{mtu,  }\item[{u8}]{pfc\+\_\+en,  }\item[{u8 $\ast$}]{buffer,  }\item[{u32}]{xoff,  }\item[{struct \mbox{\hyperlink{structmlx5e__port__buffer}{mlx5e\+\_\+port\+\_\+buffer}} $\ast$}]{port\+\_\+buffer,  }\item[{bool $\ast$}]{change }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\hyperlink{mlx5__en__port__buffer_8c_a60bc723b10bd41651822157140a1413e}{update\+\_\+buffer\+\_\+lossy()}} mtu\+: device\textquotesingle{}s MTU pfc\+\_\+en\+: $<$input$>$ current pfc configuration buffer\+: $<$input$>$ current prio to buffer mapping xoff\+: $<$input$>$ xoff value port\+\_\+buffer\+: $<$output$>$ port receive buffer configuration change\+: $<$output$>$

Update buffer configuration based on pfc configuration and priority to buffer mapping. Buffer\textquotesingle{}s lossy bit is changed to\+: lossless if there is at least one PFC enabled priority mapped to this buffer lossy if all priorities mapped to this buffer are PFC disabled

Return\+: Return 0 if no error. Set change to true if buffer configuration is modified. 

Definition at line \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00194}{194}} of file \mbox{\hyperlink{mlx5__en__port__buffer_8c_source}{mlx5\+\_\+en\+\_\+port\+\_\+buffer.\+c}}.



References \mbox{\hyperlink{port__buffer_8h_source_l00060}{mlx5e\+\_\+port\+\_\+buffer\+::buffer}}, \mbox{\hyperlink{port__buffer_8h_source_l00050}{mlx5e\+\_\+bufferx\+\_\+reg\+::lossy}}, \mbox{\hyperlink{port__buffer_8h_source_l00034}{MLX5\+E\+\_\+\+MAX\+\_\+\+BUFFER}}, \mbox{\hyperlink{en_8h_source_l00078}{MLX5\+E\+\_\+\+MAX\+\_\+\+PRIORITY}}, \mbox{\hyperlink{en_8h_source_l00007}{priv}}, and \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00145}{update\+\_\+xoff\+\_\+threshold()}}.



Referenced by \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00241}{mlx5e\+\_\+port\+\_\+manual\+\_\+buffer\+\_\+config()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/db9/mlx5__en__port__buffer_8c_a60bc723b10bd41651822157140a1413e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/db9/mlx5__en__port__buffer_8c_a60bc723b10bd41651822157140a1413e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__en__port__buffer_8c_a0a183f8c4e6363662778202e1a9d89ef}\label{mlx5__en__port__buffer_8c_a0a183f8c4e6363662778202e1a9d89ef}} 
\index{mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}!update\_xoff\_threshold@{update\_xoff\_threshold}}
\index{update\_xoff\_threshold@{update\_xoff\_threshold}!mlx5\_en\_port\_buffer.c@{mlx5\_en\_port\_buffer.c}}
\doxysubsubsection{\texorpdfstring{update\_xoff\_threshold()}{update\_xoff\_threshold()}}
{\footnotesize\ttfamily static int update\+\_\+xoff\+\_\+threshold (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5e__priv}{mlx5e\+\_\+priv}} $\ast$}]{priv,  }\item[{struct \mbox{\hyperlink{structmlx5e__port__buffer}{mlx5e\+\_\+port\+\_\+buffer}} $\ast$}]{port\+\_\+buffer,  }\item[{u32}]{xoff }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00145}{145}} of file \mbox{\hyperlink{mlx5__en__port__buffer_8c_source}{mlx5\+\_\+en\+\_\+port\+\_\+buffer.\+c}}.



References \mbox{\hyperlink{port__buffer_8h_source_l00060}{mlx5e\+\_\+port\+\_\+buffer\+::buffer}}, \mbox{\hyperlink{en_8h_source_l01116}{mlx5e\+\_\+priv\+::ifp}}, \mbox{\hyperlink{port__buffer_8h_source_l00050}{mlx5e\+\_\+bufferx\+\_\+reg\+::lossy}}, \mbox{\hyperlink{en_8h_source_l00163}{mlx5\+\_\+en\+\_\+info}}, \mbox{\hyperlink{port__buffer_8h_source_l00035}{MLX5\+E\+\_\+\+BUFFER\+\_\+\+CELL\+\_\+\+SHIFT}}, \mbox{\hyperlink{port__buffer_8h_source_l00034}{MLX5\+E\+\_\+\+MAX\+\_\+\+BUFFER}}, \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00033}{MLX5\+E\+\_\+\+MAX\+\_\+\+PORT\+\_\+\+MTU}}, \mbox{\hyperlink{en_8h_source_l00007}{priv}}, \mbox{\hyperlink{port__buffer_8h_source_l00052}{mlx5e\+\_\+bufferx\+\_\+reg\+::size}}, \mbox{\hyperlink{port__buffer_8h_source_l00053}{mlx5e\+\_\+bufferx\+\_\+reg\+::xoff}}, and \mbox{\hyperlink{port__buffer_8h_source_l00054}{mlx5e\+\_\+bufferx\+\_\+reg\+::xon}}.



Referenced by \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00241}{mlx5e\+\_\+port\+\_\+manual\+\_\+buffer\+\_\+config()}}, and \mbox{\hyperlink{mlx5__en__port__buffer_8c_source_l00194}{update\+\_\+buffer\+\_\+lossy()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/db9/mlx5__en__port__buffer_8c_a0a183f8c4e6363662778202e1a9d89ef_icgraph}
\end{center}
\end{figure}
