\hypertarget{cn23xx__pf__device_8h_source}{}\doxysection{cn23xx\+\_\+pf\+\_\+device.\+h}
\label{cn23xx__pf__device_8h_source}\index{dev/liquidio/base/cn23xx\_pf\_device.h@{dev/liquidio/base/cn23xx\_pf\_device.h}}
\mbox{\hyperlink{cn23xx__pf__device_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00001}00001 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00002}00002 \textcolor{comment}{ *   BSD LICENSE}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00004}00004 \textcolor{comment}{ *   Copyright(c) 2017 Cavium, Inc.. All rights reserved.}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00005}00005 \textcolor{comment}{ *   All rights reserved.}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00006}00006 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00007}00007 \textcolor{comment}{ *   Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00008}00008 \textcolor{comment}{ *   modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00009}00009 \textcolor{comment}{ *   are met:}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00010}00010 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00011}00011 \textcolor{comment}{ *     * Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00012}00012 \textcolor{comment}{ *       notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00013}00013 \textcolor{comment}{ *     * Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00014}00014 \textcolor{comment}{ *       notice, this list of conditions and the following disclaimer in}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00015}00015 \textcolor{comment}{ *       the documentation and/or other materials provided with the}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00016}00016 \textcolor{comment}{ *       distribution.}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00017}00017 \textcolor{comment}{ *     * Neither the name of Cavium, Inc. nor the names of its}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00018}00018 \textcolor{comment}{ *       contributors may be used to endorse or promote products derived}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00019}00019 \textcolor{comment}{ *       from this software without specific prior written permission.}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00020}00020 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00021}00021 \textcolor{comment}{ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00022}00022 \textcolor{comment}{ *   "{}AS IS"{} AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00023}00023 \textcolor{comment}{ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00024}00024 \textcolor{comment}{ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00025}00025 \textcolor{comment}{ *   OWNER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00026}00026 \textcolor{comment}{ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00027}00027 \textcolor{comment}{ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00028}00028 \textcolor{comment}{ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00029}00029 \textcolor{comment}{ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00030}00030 \textcolor{comment}{ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00031}00031 \textcolor{comment}{ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00032}00032 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00033}00033 \textcolor{comment}{/*\$FreeBSD\$*/}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00034}00034 }
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00035}00035 \textcolor{comment}{/* \(\backslash\)file  cn23xx\_device.h}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00036}00036 \textcolor{comment}{ * \(\backslash\)brief Host Driver: Routines that perform CN23XX specific operations.}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00037}00037 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00038}00038 }
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00039}00039 \textcolor{preprocessor}{\#ifndef \_\_CN23XX\_PF\_DEVICE\_H\_\_}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00040}00040 \textcolor{preprocessor}{\#define \_\_CN23XX\_PF\_DEVICE\_H\_\_}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00041}00041 }
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00042}00042 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{cn23xx__pf__regs_8h}{cn23xx\_pf\_regs.h}}"{}}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00043}00043 }
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00044}00044 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00045}00045 \textcolor{comment}{ * Register address and configuration for a CN23XX devices.}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00046}00046 \textcolor{comment}{ * If device specific changes need to be made then add a struct to include}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00047}00047 \textcolor{comment}{ * device specific fields as shown in the commented section}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00048}00048 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00049}\mbox{\hyperlink{structlio__cn23xx__pf}{00049}} \textcolor{keyword}{struct }\mbox{\hyperlink{structlio__cn23xx__pf}{lio\_cn23xx\_pf}} \{}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00050}00050         \textcolor{comment}{/* PCI interrupt summary register */}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00051}\mbox{\hyperlink{structlio__cn23xx__pf_a8d8ac3fd7f1df24b5505d48e6e8d238e}{00051}}         uint32\_t        \mbox{\hyperlink{structlio__cn23xx__pf_a8d8ac3fd7f1df24b5505d48e6e8d238e}{intr\_sum\_reg64}};}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00052}00052 }
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00053}00053         \textcolor{comment}{/* PCI interrupt enable register */}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00054}\mbox{\hyperlink{structlio__cn23xx__pf_a9c342a94d562f2093743226573d8103b}{00054}}         uint32\_t        \mbox{\hyperlink{structlio__cn23xx__pf_a9c342a94d562f2093743226573d8103b}{intr\_enb\_reg64}};}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00055}00055 }
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00056}00056         \textcolor{comment}{/* The PCI interrupt mask used by interrupt handler */}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00057}\mbox{\hyperlink{structlio__cn23xx__pf_aed7187eee61df6008af0425b5cc2d27c}{00057}}         uint64\_t        \mbox{\hyperlink{structlio__cn23xx__pf_aed7187eee61df6008af0425b5cc2d27c}{intr\_mask64}};}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00058}00058 }
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00059}\mbox{\hyperlink{structlio__cn23xx__pf_a59979386f4ea4ee242bf167eaa4d62f8}{00059}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structlio__config}{lio\_config}} *\mbox{\hyperlink{structlio__cn23xx__pf_a59979386f4ea4ee242bf167eaa4d62f8}{conf}};}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00060}00060 \};}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00061}00061 }
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00062}\mbox{\hyperlink{cn23xx__pf__device_8h_aa249b8fb747d68923971c3392d93b8f4}{00062}} \textcolor{preprocessor}{\#define BUSY\_READING\_REG\_PF\_LOOP\_COUNT  10000}}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00063}00063 }
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00064}00064 \textcolor{keywordtype}{int}     \mbox{\hyperlink{cn23xx__pf__device_8h_a61ecac78842e1fa0630098251995a11f}{lio\_cn23xx\_pf\_setup\_device}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structocteon__device}{octeon\_device}} *oct);}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00065}00065 }
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00066}00066 uint32\_t        \mbox{\hyperlink{cn23xx__pf__device_8h_addbda33c1d74908c89b71bc1192b1e7c}{lio\_cn23xx\_pf\_get\_oq\_ticks}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structocteon__device}{octeon\_device}} *oct,}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00067}00067                                            uint32\_t time\_intr\_in\_us);}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00068}00068 }
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00069}00069 \textcolor{keywordtype}{int}     \mbox{\hyperlink{cn23xx__pf__device_8h_a795534ec6736ae4b7c6f32ac5e7f3da5}{lio\_cn23xx\_pf\_fw\_loaded}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structocteon__device}{octeon\_device}} *oct);}
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00070}00070 }
\DoxyCodeLine{\Hypertarget{cn23xx__pf__device_8h_source_l00071}00071 \textcolor{preprocessor}{\#endif  }\textcolor{comment}{/* \_\_CN23XX\_PF\_DEVICE\_H\_\_ */}\textcolor{preprocessor}{}}

\end{DoxyCode}
