\hypertarget{LCFG_8h}{
\section{LCFG.h File Reference}
\label{LCFG_8h}\index{LCFG.h@{LCFG.h}}
}
Public definitions for the LAT configuration system (LCFG). 

{\tt \#include \char`\"{}RIM/RIM.h\char`\"{}}\par


Include dependency graph for LCFG.h:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=104pt]{LCFG_8h__incl}
\end{center}
\end{figure}


This graph shows which files directly or indirectly include this file:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=106pt]{LCFG_8h__dep__incl}
\end{center}
\end{figure}
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct \hyperlink{struct__LCFG__hsk}{\_\-LCFG\_\-hsk}
\begin{CompactList}\small\item\em Structure to hold LCFG housekeeping information. \item\end{CompactList}\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
\hypertarget{LCFG_8h_a0}{
typedef enum \hyperlink{LCFG_8h_a32}{\_\-LCFG\_\-source} \hyperlink{LCFG_8h_a0}{LCFG\_\-source}}
\label{LCFG_8h_a0}

\begin{CompactList}\small\item\em Identifiers for callers of configure and verify. \item\end{CompactList}\item 
\hypertarget{LCFG_8h_a1}{
typedef RIM\_\-type \hyperlink{LCFG_8h_a1}{LCFG\_\-type}}
\label{LCFG_8h_a1}

\begin{CompactList}\small\item\em Type used to identify components (TEM, TFE etc). \item\end{CompactList}\item 
\hypertarget{LCFG_8h_a2}{
typedef RIM\_\-addr \hyperlink{LCFG_8h_a2}{LCFG\_\-addr}}
\label{LCFG_8h_a2}

\begin{CompactList}\small\item\em Type used to define an address. \item\end{CompactList}\item 
\hypertarget{LCFG_8h_a3}{
typedef \hyperlink{struct__LCFG__hsk}{\_\-LCFG\_\-hsk} \hyperlink{LCFG_8h_a3}{LCFG\_\-hsk}}
\label{LCFG_8h_a3}

\begin{CompactList}\small\item\em Structure to hold LCFG housekeeping information. \item\end{CompactList}\end{CompactItemize}
\subsection*{Enumerations}
\begin{CompactItemize}
\item 
enum \hyperlink{LCFG_8h_a32}{\_\-LCFG\_\-source} \{ \par
\hyperlink{LCFG_8h_a32a4}{LCFG\_\-SRC\_\-UNKNOWN} =  0, 
\par
\hyperlink{LCFG_8h_a32a5}{LCFG\_\-SRC\_\-LPA} =  1, 
\par
\hyperlink{LCFG_8h_a32a6}{LCFG\_\-SRC\_\-LCI} =  2, 
\par
\hyperlink{LCFG_8h_a32a7}{LCFG\_\-SRC\_\-COMMAND} =  3
 \}
\begin{CompactList}\small\item\em Identifiers for callers of configure and verify. \item\end{CompactList}\item 
enum \{ {\bf LCFG\_\-BAD\_\-TYPE} =  RIM\_\-BAD\_\-TYPE
 \}
\begin{CompactList}\small\item\em Value for an unrecognized type. \item\end{CompactList}\item 
enum \{ \par
{\bf LCFG\_\-BCAST\_\-ADDR} =  RIM\_\-BCAST\_\-ADDR, 
\par
{\bf N\_\-LCFG\_\-ADDR\_\-CPTS} =  N\_\-RIM\_\-ADDR\_\-CPTS
 \}
\begin{CompactList}\small\item\em Constants associated with addressing LAT component instances. \item\end{CompactList}\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
unsigned \hyperlink{LCFG_8h_a11}{LCFG\_\-cache} (unsigned fid)
\begin{CompactList}\small\item\em Read a LAT configuration. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a12}{LCFG\_\-capture} (void)
\begin{CompactList}\small\item\em Read the registers of the LAT. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a13}{LCFG\_\-configure} (\hyperlink{LCFG_8h_a0}{LCFG\_\-source} source, unsigned run\-Id)
\begin{CompactList}\small\item\em Configure the LAT using the currently cached configuration. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a14}{LCFG\_\-consign} (unsigned dst)
\begin{CompactList}\small\item\em Write out the captured data to the SSR. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a15}{LCFG\_\-disable\-Triggers} (int marker)
\begin{CompactList}\small\item\em Disable triggers. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a16}{LCFG\_\-enable\-Triggers} (int marker)
\begin{CompactList}\small\item\em Enable triggers. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a17}{LCFG\_\-get\-Cache\-Key} (void)
\begin{CompactList}\small\item\em Return the file key identifying the last cached configuration. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a18}{LCFG\_\-get\-Configure\-Key} (void)
\begin{CompactList}\small\item\em Return the file key identifying the last configuration loaded. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a19}{LCFG\_\-get\-Hsk\-Info} (\hyperlink{struct__LCFG__hsk}{LCFG\_\-hsk} $\ast$info)
\begin{CompactList}\small\item\em Get LAT configuration housekeeping information. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a20}{LCFG\_\-get\-Ignore\-Key} (void)
\begin{CompactList}\small\item\em Return the file key identifying the ignore map. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a21}{LCFG\_\-ignore} (unsigned fid)
\begin{CompactList}\small\item\em Read the ignore map from the file identified by {\em fid\/}. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a22}{LCFG\_\-initialise} (void)
\begin{CompactList}\small\item\em Allocate the resources required for LCFG. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a23}{LCFG\_\-load\-Afe\-Config} (unsigned int mask, unsigned int value0, unsigned int value1, unsigned int rc\-Mask, unsigned int fe\-Mask)
\begin{CompactList}\small\item\em Load the AFE configuration register. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a24}{LCFG\_\-load\-Cfe\-Config0} (unsigned int mask, unsigned int value)
\begin{CompactList}\small\item\em Load CFE configuration register 0. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a25}{LCFG\_\-load\-Cfe\-Config1} (unsigned int mask, unsigned int value0, unsigned int value1, unsigned int c\-Mask)
\begin{CompactList}\small\item\em Load CFE configuration register 1. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a26}{LCFG\_\-load\-Tfe\-Dac} (unsigned int mask, unsigned int value, int n\-Low, int n\-High)
\begin{CompactList}\small\item\em Load the TFE DAC register. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a27}{LCFG\_\-load\-Tkr\-Splits} (int n\-Low, int n\-High)
\begin{CompactList}\small\item\em Load TKR split values. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a28}{LCFG\_\-set\-Dirty} (void)
\begin{CompactList}\small\item\em Set the LCFG \char`\"{}dirty\char`\"{} flag. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a29}{LCFG\_\-sizeof\-Hsk\-Info} (void)
\begin{CompactList}\small\item\em Get the size of the LAT configuration housekeeping information. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a30}{LCFG\_\-teardown} (void)
\begin{CompactList}\small\item\em Release the resources acquired by LCFG\_\-initialise. \item\end{CompactList}\item 
unsigned \hyperlink{LCFG_8h_a31}{LCFG\_\-verify} (\hyperlink{LCFG_8h_a0}{LCFG\_\-source} source, unsigned run\-Id)
\begin{CompactList}\small\item\em Verify that the captured configuration of the LAT matches the in-memory cache. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Public definitions for the LAT configuration system (LCFG). 

\begin{Desc}
\item[Author:]James Swain \& Owen Saxton\end{Desc}
\begin{Desc}
\item[Id]\hyperlink{LCFG_8h}{LCFG.h},v 1.3 2007/11/12 22:19:08 saxton Exp \end{Desc}


\subsection{Enumeration Type Documentation}
\hypertarget{LCFG_8h_a32}{
\index{LCFG.h@{LCFG.h}!_LCFG_source@{\_\-LCFG\_\-source}}
\index{_LCFG_source@{\_\-LCFG\_\-source}!LCFG.h@{LCFG.h}}
\subsubsection[\_\-LCFG\_\-source]{\setlength{\rightskip}{0pt plus 5cm}enum \hyperlink{LCFG_8h_a32}{\_\-LCFG\_\-source}}}
\label{LCFG_8h_a32}


Identifiers for callers of configure and verify. 

\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{LCFG_SRC_UNKNOWN@{LCFG\_\-SRC\_\-UNKNOWN}!LCFG.h@{LCFG.h}}\index{LCFG.h@{LCFG.h}!LCFG_SRC_UNKNOWN@{LCFG\_\-SRC\_\-UNKNOWN}}\item[{\em 
\hypertarget{LCFG_8h_a32a4}{
LCFG\_\-SRC\_\-UNKNOWN}
\label{LCFG_8h_a32a4}
}]Unknown. \index{LCFG_SRC_LPA@{LCFG\_\-SRC\_\-LPA}!LCFG.h@{LCFG.h}}\index{LCFG.h@{LCFG.h}!LCFG_SRC_LPA@{LCFG\_\-SRC\_\-LPA}}\item[{\em 
\hypertarget{LCFG_8h_a32a5}{
LCFG\_\-SRC\_\-LPA}
\label{LCFG_8h_a32a5}
}]LPA. \index{LCFG_SRC_LCI@{LCFG\_\-SRC\_\-LCI}!LCFG.h@{LCFG.h}}\index{LCFG.h@{LCFG.h}!LCFG_SRC_LCI@{LCFG\_\-SRC\_\-LCI}}\item[{\em 
\hypertarget{LCFG_8h_a32a6}{
LCFG\_\-SRC\_\-LCI}
\label{LCFG_8h_a32a6}
}]LCI. \index{LCFG_SRC_COMMAND@{LCFG\_\-SRC\_\-COMMAND}!LCFG.h@{LCFG.h}}\index{LCFG.h@{LCFG.h}!LCFG_SRC_COMMAND@{LCFG\_\-SRC\_\-COMMAND}}\item[{\em 
\hypertarget{LCFG_8h_a32a7}{
LCFG\_\-SRC\_\-COMMAND}
\label{LCFG_8h_a32a7}
}]Command. \end{description}
\end{Desc}



\subsection{Function Documentation}
\hypertarget{LCFG_8h_a11}{
\index{LCFG.h@{LCFG.h}!LCFG_cache@{LCFG\_\-cache}}
\index{LCFG_cache@{LCFG\_\-cache}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-cache]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-cache (unsigned {\em fid})}}
\label{LCFG_8h_a11}


Read a LAT configuration. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em fid}]The file ID of the master file containing the file IDs of the LAT configuration files to be read\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]if all goes well \item[{\em LCFG\_\-BADFOPEN}]if the fid, or any of the names the configuration master file contains, does not match a valid file. \item[{\em LCFG\_\-BADTYPE}]if the file contains a bad type identifier \item[{\em LCFG\_\-BADREAD}]if an error occurs while the file is being read\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a12}{
\index{LCFG.h@{LCFG.h}!LCFG_capture@{LCFG\_\-capture}}
\index{LCFG_capture@{LCFG\_\-capture}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-capture]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-capture (void)}}
\label{LCFG_8h_a12}


Read the registers of the LAT. 

\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]if all goes well \item[{\em LEM\_\-$\ast$}]if there was an error arising from one of the read commands\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a13}{
\index{LCFG.h@{LCFG.h}!LCFG_configure@{LCFG\_\-configure}}
\index{LCFG_configure@{LCFG\_\-configure}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-configure]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-configure (\hyperlink{LCFG_8h_a0}{LCFG\_\-source} {\em source}, unsigned {\em run\-Id})}}
\label{LCFG_8h_a13}


Configure the LAT using the currently cached configuration. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em source}]The identity of the caller (LPA, LCI, command)\item[{\em run\-Id}]The ID of the run associated with an LPA or LCI source\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]if all goes well \item[{\em LEM\_\-$\ast$}]if there are errors arising from the register load commands\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a14}{
\index{LCFG.h@{LCFG.h}!LCFG_consign@{LCFG\_\-consign}}
\index{LCFG_consign@{LCFG\_\-consign}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-consign]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-consign (unsigned {\em dst})}}
\label{LCFG_8h_a14}


Write out the captured data to the SSR. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em dst}]Ignored\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]if all goes well. \item[{\em LCFG\_\-BADFOPEN}]if the file cannot be created \item[{\em LCFG\_\-BADWRITE}]if the final write of the buffer failed \item[{\em LCFG\_\-BADCLOSE}]if the file close failed \item[{\em LCFG\_\-BADWRITE}]if either the map or the configuration data write has an error\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a15}{
\index{LCFG.h@{LCFG.h}!LCFG_disableTriggers@{LCFG\_\-disableTriggers}}
\index{LCFG_disableTriggers@{LCFG\_\-disableTriggers}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-disableTriggers]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-disable\-Triggers (int {\em marker})}}
\label{LCFG_8h_a15}


Disable triggers. 

The window open mask is cleared. If the marker parameter is non-zero, the LAT is first configured to broadcast a trigger message to CPUs upon receipt of a solicited trigger, a solicited trigger is fired, and the configuration restored from the LCFG cache.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em marker}]If non-zero, causes a solicited trigger with this value in the event data.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]if all goes well \item[{\em LEM\_\-$\ast$}]if there is an error arising from one of the register load commands\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a16}{
\index{LCFG.h@{LCFG.h}!LCFG_enableTriggers@{LCFG\_\-enableTriggers}}
\index{LCFG_enableTriggers@{LCFG\_\-enableTriggers}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-enableTriggers]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-enable\-Triggers (int {\em marker})}}
\label{LCFG_8h_a16}


Enable triggers. 

The window open mask is loaded with the value held in the cache. If the marker parameter is non-zero, the LAT is first configured to broadcast a trigger message to CPUs upon receipt of a solicited trigger, a solicited trigger is fired, and the configuration restored from the LCFG cache.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em marker}]If non-zero, causes a solicited trigger with this value in the event data.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]if all goes well \item[{\em LEM\_\-$\ast$}]if there is an error arising from one of the register load commands\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a17}{
\index{LCFG.h@{LCFG.h}!LCFG_getCacheKey@{LCFG\_\-getCacheKey}}
\index{LCFG_getCacheKey@{LCFG\_\-getCacheKey}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-getCacheKey]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-get\-Cache\-Key (void)}}
\label{LCFG_8h_a17}


Return the file key identifying the last cached configuration. 

\begin{Desc}
\item[Returns:]The file key for the LCFG master file of the last cached configuration\end{Desc}
\hypertarget{LCFG_8h_a18}{
\index{LCFG.h@{LCFG.h}!LCFG_getConfigureKey@{LCFG\_\-getConfigureKey}}
\index{LCFG_getConfigureKey@{LCFG\_\-getConfigureKey}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-getConfigureKey]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-get\-Configure\-Key (void)}}
\label{LCFG_8h_a18}


Return the file key identifying the last configuration loaded. 

\begin{Desc}
\item[Returns:]The file key for the LCFG master file of the last configuration loaded\end{Desc}
\hypertarget{LCFG_8h_a19}{
\index{LCFG.h@{LCFG.h}!LCFG_getHskInfo@{LCFG\_\-getHskInfo}}
\index{LCFG_getHskInfo@{LCFG\_\-getHskInfo}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-getHskInfo]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-get\-Hsk\-Info (\hyperlink{struct__LCFG__hsk}{LCFG\_\-hsk} $\ast$ {\em info})}}
\label{LCFG_8h_a19}


Get LAT configuration housekeeping information. 

LAT configuration housekeeping information is copied to the supplied area.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em info}]The address of the area to receive the housekeeping information.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]Always success\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a20}{
\index{LCFG.h@{LCFG.h}!LCFG_getIgnoreKey@{LCFG\_\-getIgnoreKey}}
\index{LCFG_getIgnoreKey@{LCFG\_\-getIgnoreKey}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-getIgnoreKey]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-get\-Ignore\-Key (void)}}
\label{LCFG_8h_a20}


Return the file key identifying the ignore map. 

\begin{Desc}
\item[Returns:]The file key for the ignore file\end{Desc}
\hypertarget{LCFG_8h_a21}{
\index{LCFG.h@{LCFG.h}!LCFG_ignore@{LCFG\_\-ignore}}
\index{LCFG_ignore@{LCFG\_\-ignore}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-ignore]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-ignore (unsigned {\em fid})}}
\label{LCFG_8h_a21}


Read the ignore map from the file identified by {\em fid\/}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em fid}]ID of the file containing the map data to use as the ignore map\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]if all goes well\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a22}{
\index{LCFG.h@{LCFG.h}!LCFG_initialise@{LCFG\_\-initialise}}
\index{LCFG_initialise@{LCFG\_\-initialise}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-initialise]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-initialise (void)}}
\label{LCFG_8h_a22}


Allocate the resources required for LCFG. 

\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]If the control structure was allocated and initialised successfully \item[{\em LCFG\_\-BADALLOC}]If there was an error allocating memory \item[{\em LCFG\_\-FPAINIT}]If fixed packet initialization failed\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a23}{
\index{LCFG.h@{LCFG.h}!LCFG_loadAfeConfig@{LCFG\_\-loadAfeConfig}}
\index{LCFG_loadAfeConfig@{LCFG\_\-loadAfeConfig}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-loadAfeConfig]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-load\-Afe\-Config (unsigned int {\em mask}, unsigned int {\em value0}, unsigned int {\em value1}, unsigned int {\em rc\-Mask}, unsigned int {\em fe\-Mask})}}
\label{LCFG_8h_a23}


Load the AFE configuration register. 

The AFE configuration register is loaded with a modified version of the value from the LAT configuration, with the specified bits replaced.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em mask}]Mask of bits to be changed from the configuration.\item[{\em value0}]The value to be masked and merged with the configuration value for front-ends not selected by the RC and FE masks.\item[{\em value1}]The value to be masked and merged with the configuration value for front-ends selected by the RC and FE masks.\item[{\em rc\-Mask}]Mask of bits, one per RC, specifying which RCs are selected.\item[{\em fe\-Mask}]Mask of bits, one per FE, specifying which FEs within selected RCs are selected.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]if all goes well \item[{\em LEM\_\-$\ast$}]if there is an error arising from one of the register load commands\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a24}{
\index{LCFG.h@{LCFG.h}!LCFG_loadCfeConfig0@{LCFG\_\-loadCfeConfig0}}
\index{LCFG_loadCfeConfig0@{LCFG\_\-loadCfeConfig0}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-loadCfeConfig0]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-load\-Cfe\-Config0 (unsigned int {\em mask}, unsigned int {\em value})}}
\label{LCFG_8h_a24}


Load CFE configuration register 0. 

CFE configuration register 0 is loaded with a modified version of the value from the LAT configuration, with the specified bits replaced.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em mask}]Mask of bits to be changed from the configuration.\item[{\em value}]The value to be masked and merged with the configuration value.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]if all goes well \item[{\em LEM\_\-$\ast$}]if there is an error arising from one of the register load commands\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a25}{
\index{LCFG.h@{LCFG.h}!LCFG_loadCfeConfig1@{LCFG\_\-loadCfeConfig1}}
\index{LCFG_loadCfeConfig1@{LCFG\_\-loadCfeConfig1}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-loadCfeConfig1]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-load\-Cfe\-Config1 (unsigned int {\em mask}, unsigned int {\em value0}, unsigned int {\em value1}, unsigned int {\em c\-Mask})}}
\label{LCFG_8h_a25}


Load CFE configuration register 1. 

CFE configuration register 1 is loaded with a modified version of the value from the LAT configuration, with the specified bits replaced.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em mask}]Mask of bits to be changed from the configuration.\item[{\em value0}]The value to be masked and merged with the configuration value for front-ends whose bit is clear in the column mask.\item[{\em value1}]The value to be masked and merged with the configuration value for front-ends whose bit is set in the column mask.\item[{\em c\-Mask}]Mask of bits, one per column, specifying which value is to be used for loading the config register.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]if all goes well \item[{\em LEM\_\-$\ast$}]if there is an error arising from one of the register load commands\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a26}{
\index{LCFG.h@{LCFG.h}!LCFG_loadTfeDac@{LCFG\_\-loadTfeDac}}
\index{LCFG_loadTfeDac@{LCFG\_\-loadTfeDac}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-loadTfeDac]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-load\-Tfe\-Dac (unsigned int {\em mask}, unsigned int {\em value}, int {\em n\-Low}, int {\em n\-High})}}
\label{LCFG_8h_a26}


Load the TFE DAC register. 

The TFE DAC register is loaded with a modified version of the value from the LAT configuration, with the specified bits replaced.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em mask}]Mask of bits to be changed from the configuration.\item[{\em value}]The value to be masked and merged with the configuration value.\item[{\em n\-Low}]Number of TFEs talking on the low side, or -1 if the configured values are being used.\item[{\em n\-High}]Number of TFEs talking on the high side, or -1 if the configured values are being used.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]if all goes well \item[{\em LEM\_\-$\ast$}]if there is an error arising from one of the register load commands\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a27}{
\index{LCFG.h@{LCFG.h}!LCFG_loadTkrSplits@{LCFG\_\-loadTkrSplits}}
\index{LCFG_loadTkrSplits@{LCFG\_\-loadTkrSplits}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-loadTkrSplits]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-load\-Tkr\-Splits (int {\em n\-Low}, int {\em n\-High})}}
\label{LCFG_8h_a27}


Load TKR split values. 

The tracker RC and FE registers are loaded to reflect the given split values.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em n\-Low}]Number of TFEs to talk on the low side, or -1 if the configured values are to be used.\item[{\em n\-High}]Number of TFEs to talk on the high side, or -1 if the configured values are to be used.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]if all goes well \item[{\em LEM\_\-$\ast$}]if there is an error arising from one of the register load commands\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a28}{
\index{LCFG.h@{LCFG.h}!LCFG_setDirty@{LCFG\_\-setDirty}}
\index{LCFG_setDirty@{LCFG\_\-setDirty}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-setDirty]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-set\-Dirty (void)}}
\label{LCFG_8h_a28}


Set the LCFG \char`\"{}dirty\char`\"{} flag. 

This routine is used to indicate that a register whose value is normally managed by LCFG has had its value changed externally, e.g. by LRA.

\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]Always success.\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a29}{
\index{LCFG.h@{LCFG.h}!LCFG_sizeofHskInfo@{LCFG\_\-sizeofHskInfo}}
\index{LCFG_sizeofHskInfo@{LCFG\_\-sizeofHskInfo}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-sizeofHskInfo]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-sizeof\-Hsk\-Info (void)}}
\label{LCFG_8h_a29}


Get the size of the LAT configuration housekeeping information. 

The size of the LAT configuration housekeeping information block is returned.

\begin{Desc}
\item[Returns:]The size (in bytes) of the housekeeping information.\end{Desc}
\hypertarget{LCFG_8h_a30}{
\index{LCFG.h@{LCFG.h}!LCFG_teardown@{LCFG\_\-teardown}}
\index{LCFG_teardown@{LCFG\_\-teardown}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-teardown]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-teardown (void)}}
\label{LCFG_8h_a30}


Release the resources acquired by LCFG\_\-initialise. 

\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]This function cannot fail - the return code is for future expansion\end{description}
\end{Desc}
\hypertarget{LCFG_8h_a31}{
\index{LCFG.h@{LCFG.h}!LCFG_verify@{LCFG\_\-verify}}
\index{LCFG_verify@{LCFG\_\-verify}!LCFG.h@{LCFG.h}}
\subsubsection[LCFG\_\-verify]{\setlength{\rightskip}{0pt plus 5cm}unsigned LCFG\_\-verify (\hyperlink{LCFG_8h_a0}{LCFG\_\-source} {\em source}, unsigned {\em run\-Id})}}
\label{LCFG_8h_a31}


Verify that the captured configuration of the LAT matches the in-memory cache. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em source}]The identity of the caller (LPA, LCI, command)\item[{\em run\-Id}]The ID of the run associated with an LPA or LCI source\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em LCFG\_\-SUCCESS}]If the current LAT state matches the cached LAT state \item[{\em LCFG\_\-DIFFER}]If the current LAT state differs from the cached LAT state\end{description}
\end{Desc}
