sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftargetH/translations/zh_CN/networking/device_drivers/ethernet/altera/altera_tsemodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetH/translations/zh_TW/networking/device_drivers/ethernet/altera/altera_tsemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetH/translations/it_IT/networking/device_drivers/ethernet/altera/altera_tsemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetH/translations/ja_JP/networking/device_drivers/ethernet/altera/altera_tsemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetH/translations/ko_KR/networking/device_drivers/ethernet/altera/altera_tsemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetH/translations/sp_SP/networking/device_drivers/ethernet/altera/altera_tsemodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhb/var/lib/git/docbuild/linux/Documentation/networking/device_drivers/ethernet/altera/altera_tse.rsthKubh)}(h4This data file has been placed in the public domain.h]h4This data file has been placed in the public domain.}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhho/srv/docbuild/lib/venvs/build-kernel-docs/lib64/python3.9/site-packages/docutils/parsers/rst/include/isonum.txthKubh)}(hDerived from the Unicode character mappings available from . Processed by unicode2rstsubs.py, part of Docutils: .h]hDerived from the Unicode character mappings available from . Processed by unicode2rstsubs.py, part of Docutils: .}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhhhhKubhsubstitution_definition)}(h*.. |amp| unicode:: U+00026 .. AMPERSANDh]h&}hhsbah}(h]h ]h"]ampah$]h&]uh1hhhhKhhhhubh)}(h+.. |apos| unicode:: U+00027 .. APOSTROPHEh]h'}hhsbah}(h]h ]h"]aposah$]h&]uh1hhhhKhhhhubh)}(h).. |ast| unicode:: U+0002A .. ASTERISKh]h*}hhsbah}(h]h ]h"]astah$]h&]uh1hhhhK hhhhubh)}(h+.. |brvbar| unicode:: U+000A6 .. BROKEN BARh]h¦}hjsbah}(h]h ]h"]brvbarah$]h&]uh1hhhhK hhhhubh)}(h0.. |bsol| unicode:: U+0005C .. REVERSE SOLIDUSh]h\}hjsbah}(h]h ]h"]bsolah$]h&]uh1hhhhK hhhhubh)}(h*.. |cent| unicode:: U+000A2 .. CENT SIGNh]h¢}hjsbah}(h]h ]h"]centah$]h&]uh1hhhhK hhhhubh)}(h&.. |colon| unicode:: U+0003A .. COLONh]h:}hj-sbah}(h]h ]h"]colonah$]h&]uh1hhhhK hhhhubh)}(h&.. |comma| unicode:: U+0002C .. COMMAh]h,}hj<sbah}(h]h ]h"]commaah$]h&]uh1hhhhKhhhhubh)}(h... |commat| unicode:: U+00040 .. COMMERCIAL ATh]h@}hjKsbah}(h]h ]h"]commatah$]h&]uh1hhhhKhhhhubh)}(h/.. |copy| unicode:: U+000A9 .. COPYRIGHT SIGNh]h©}hjZsbah}(h]h ]h"]copyah$]h&]uh1hhhhKhhhhubh)}(h... |curren| unicode:: U+000A4 .. CURRENCY SIGNh]h¤}hjisbah}(h]h ]h"]currenah$]h&]uh1hhhhKhhhhubh)}(h0.. |darr| unicode:: U+02193 .. DOWNWARDS ARROWh]h↓}hjxsbah}(h]h ]h"]darrah$]h&]uh1hhhhKhhhhubh)}(h,.. |deg| unicode:: U+000B0 .. DEGREE SIGNh]h°}hjsbah}(h]h ]h"]degah$]h&]uh1hhhhKhhhhubh)}(h... |divide| unicode:: U+000F7 .. DIVISION SIGNh]h÷}hjsbah}(h]h ]h"]divideah$]h&]uh1hhhhKhhhhubh)}(h,.. |dollar| unicode:: U+00024 .. DOLLAR SIGNh]h$}hjsbah}(h]h ]h"]dollarah$]h&]uh1hhhhKhhhhubh)}(h,.. |equals| unicode:: U+0003D .. EQUALS SIGNh]h=}hjsbah}(h]h ]h"]equalsah$]h&]uh1hhhhKhhhhubh)}(h1.. |excl| unicode:: U+00021 .. EXCLAMATION MARKh]h!}hjsbah}(h]h ]h"]exclah$]h&]uh1hhhhKhhhhubh)}(h9.. |frac12| unicode:: U+000BD .. VULGAR FRACTION ONE HALFh]h½}hjsbah}(h]h ]h"]frac12ah$]h&]uh1hhhhKhhhhubh)}(h<.. |frac14| unicode:: U+000BC .. VULGAR FRACTION ONE QUARTERh]h¼}hjsbah}(h]h ]h"]frac14ah$]h&]uh1hhhhKhhhhubh)}(h;.. |frac18| unicode:: U+0215B .. VULGAR FRACTION ONE EIGHTHh]h⅛}hjsbah}(h]h ]h"]frac18ah$]h&]uh1hhhhKhhhhubh)}(h?.. |frac34| unicode:: U+000BE .. VULGAR FRACTION THREE QUARTERSh]h¾}hjsbah}(h]h ]h"]frac34ah$]h&]uh1hhhhKhhhhubh)}(h>.. |frac38| unicode:: U+0215C .. VULGAR FRACTION THREE EIGHTHSh]h⅜}hjsbah}(h]h ]h"]frac38ah$]h&]uh1hhhhKhhhhubh)}(h=.. |frac58| unicode:: U+0215D .. VULGAR FRACTION FIVE EIGHTHSh]h⅝}hjsbah}(h]h ]h"]frac58ah$]h&]uh1hhhhKhhhhubh)}(h>.. |frac78| unicode:: U+0215E .. VULGAR FRACTION SEVEN EIGHTHSh]h⅞}hj,sbah}(h]h ]h"]frac78ah$]h&]uh1hhhhKhhhhubh)}(h2.. |gt| unicode:: U+0003E .. GREATER-THAN SIGNh]h>}hj;sbah}(h]h ]h"]gtah$]h&]uh1hhhhKhhhhubh)}(h9.. |half| unicode:: U+000BD .. VULGAR FRACTION ONE HALFh]h½}hjJsbah}(h]h ]h"]halfah$]h&]uh1hhhhK hhhhubh)}(h/.. |horbar| unicode:: U+02015 .. HORIZONTAL BARh]h―}hjYsbah}(h]h ]h"]horbarah$]h&]uh1hhhhK!hhhhubh)}(h'.. |hyphen| unicode:: U+02010 .. HYPHENh]h‐}hjhsbah}(h]h ]h"]hyphenah$]h&]uh1hhhhK"hhhhubh)}(h:.. |iexcl| unicode:: U+000A1 .. INVERTED EXCLAMATION MARKh]h¡}hjwsbah}(h]h ]h"]iexclah$]h&]uh1hhhhK#hhhhubh)}(h7.. |iquest| unicode:: U+000BF .. INVERTED QUESTION MARKh]h¿}hjsbah}(h]h ]h"]iquestah$]h&]uh1hhhhK$hhhhubh)}(hJ.. |laquo| unicode:: U+000AB .. LEFT-POINTING DOUBLE ANGLE QUOTATION MARKh]h«}hjsbah}(h]h ]h"]laquoah$]h&]uh1hhhhK%hhhhubh)}(h0.. |larr| unicode:: U+02190 .. LEFTWARDS ARROWh]h←}hjsbah}(h]h ]h"]larrah$]h&]uh1hhhhK&hhhhubh)}(h3.. |lcub| unicode:: U+0007B .. LEFT CURLY BRACKETh]h{}hjsbah}(h]h ]h"]lcubah$]h&]uh1hhhhK'hhhhubh)}(h;.. |ldquo| unicode:: U+0201C .. LEFT DOUBLE QUOTATION MARKh]h“}hjsbah}(h]h ]h"]ldquoah$]h&]uh1hhhhK(hhhhubh)}(h).. |lowbar| unicode:: U+0005F .. LOW LINEh]h_}hjsbah}(h]h ]h"]lowbarah$]h&]uh1hhhhK)hhhhubh)}(h1.. |lpar| unicode:: U+00028 .. LEFT PARENTHESISh]h(}hjsbah}(h]h ]h"]lparah$]h&]uh1hhhhK*hhhhubh)}(h4.. |lsqb| unicode:: U+0005B .. LEFT SQUARE BRACKETh]h[}hjsbah}(h]h ]h"]lsqbah$]h&]uh1hhhhK+hhhhubh)}(h;.. |lsquo| unicode:: U+02018 .. LEFT SINGLE QUOTATION MARKh]h‘}hjsbah}(h]h ]h"]lsquoah$]h&]uh1hhhhK,hhhhubh)}(h/.. |lt| unicode:: U+0003C .. LESS-THAN SIGNh]h<}hj sbah}(h]h ]h"]ltah$]h&]uh1hhhhK-hhhhubh)}(h+.. |micro| unicode:: U+000B5 .. MICRO SIGNh]hµ}hjsbah}(h]h ]h"]microah$]h&]uh1hhhhK.hhhhubh)}(h+.. |middot| unicode:: U+000B7 .. MIDDLE DOTh]h·}hj+sbah}(h]h ]h"]middotah$]h&]uh1hhhhK/hhhhubh)}(h/.. |nbsp| unicode:: U+000A0 .. NO-BREAK SPACEh]h }hj:sbah}(h]h ]h"]nbspah$]h&]uh1hhhhK0hhhhubh)}(h).. |not| unicode:: U+000AC .. NOT SIGNh]h¬}hjIsbah}(h]h ]h"]notah$]h&]uh1hhhhK1hhhhubh)}(h,.. |num| unicode:: U+00023 .. NUMBER SIGNh]h#}hjXsbah}(h]h ]h"]numah$]h&]uh1hhhhK2hhhhubh)}(h).. |ohm| unicode:: U+02126 .. OHM SIGNh]hΩ}hjgsbah}(h]h ]h"]ohmah$]h&]uh1hhhhK3hhhhubh)}(h;.. |ordf| unicode:: U+000AA .. FEMININE ORDINAL INDICATORh]hª}hjvsbah}(h]h ]h"]ordfah$]h&]uh1hhhhK4hhhhubh)}(h<.. |ordm| unicode:: U+000BA .. MASCULINE ORDINAL INDICATORh]hº}hjsbah}(h]h ]h"]ordmah$]h&]uh1hhhhK5hhhhubh)}(h-.. |para| unicode:: U+000B6 .. PILCROW SIGNh]h¶}hjsbah}(h]h ]h"]paraah$]h&]uh1hhhhK6hhhhubh)}(h-.. |percnt| unicode:: U+00025 .. PERCENT SIGNh]h%}hjsbah}(h]h ]h"]percntah$]h&]uh1hhhhK7hhhhubh)}(h*.. |period| unicode:: U+0002E .. FULL STOPh]h.}hjsbah}(h]h ]h"]periodah$]h&]uh1hhhhK8hhhhubh)}(h*.. |plus| unicode:: U+0002B .. PLUS SIGNh]h+}hjsbah}(h]h ]h"]plusah$]h&]uh1hhhhK9hhhhubh)}(h0.. |plusmn| unicode:: U+000B1 .. PLUS-MINUS SIGNh]h±}hjsbah}(h]h ]h"]plusmnah$]h&]uh1hhhhK:hhhhubh)}(h+.. |pound| unicode:: U+000A3 .. POUND SIGNh]h£}hjsbah}(h]h ]h"]poundah$]h&]uh1hhhhK;hhhhubh)}(h... |quest| unicode:: U+0003F .. QUESTION MARKh]h?}hjsbah}(h]h ]h"]questah$]h&]uh1hhhhKhhhhubh)}(h1.. |rarr| unicode:: U+02192 .. RIGHTWARDS ARROWh]h→}hjsbah}(h]h ]h"]rarrah$]h&]uh1hhhhK?hhhhubh)}(h4.. |rcub| unicode:: U+0007D .. RIGHT CURLY BRACKETh]h}}hj*sbah}(h]h ]h"]rcubah$]h&]uh1hhhhK@hhhhubh)}(h<.. |rdquo| unicode:: U+0201D .. RIGHT DOUBLE QUOTATION MARKh]h”}hj9sbah}(h]h ]h"]rdquoah$]h&]uh1hhhhKAhhhhubh)}(h0.. |reg| unicode:: U+000AE .. REGISTERED SIGNh]h®}hjHsbah}(h]h ]h"]regah$]h&]uh1hhhhKBhhhhubh)}(h2.. |rpar| unicode:: U+00029 .. RIGHT PARENTHESISh]h)}hjWsbah}(h]h ]h"]rparah$]h&]uh1hhhhKChhhhubh)}(h5.. |rsqb| unicode:: U+0005D .. RIGHT SQUARE BRACKETh]h]}hjfsbah}(h]h ]h"]rsqbah$]h&]uh1hhhhKDhhhhubh)}(h<.. |rsquo| unicode:: U+02019 .. RIGHT SINGLE QUOTATION MARKh]h’}hjusbah}(h]h ]h"]rsquoah$]h&]uh1hhhhKEhhhhubh)}(h-.. |sect| unicode:: U+000A7 .. SECTION SIGNh]h§}hjsbah}(h]h ]h"]sectah$]h&]uh1hhhhKFhhhhubh)}(h*.. |semi| unicode:: U+0003B .. SEMICOLONh]h;}hjsbah}(h]h ]h"]semiah$]h&]uh1hhhhKGhhhhubh)}(h,.. |shy| unicode:: U+000AD .. SOFT HYPHENh]h­}hjsbah}(h]h ]h"]shyah$]h&]uh1hhhhKHhhhhubh)}(h(.. |sol| unicode:: U+0002F .. SOLIDUSh]h/}hjsbah}(h]h ]h"]solah$]h&]uh1hhhhKIhhhhubh)}(h,.. |sung| unicode:: U+0266A .. EIGHTH NOTEh]h♪}hjsbah}(h]h ]h"]sungah$]h&]uh1hhhhKJhhhhubh)}(h0.. |sup1| unicode:: U+000B9 .. SUPERSCRIPT ONEh]h¹}hjsbah}(h]h ]h"]sup1ah$]h&]uh1hhhhKKhhhhubh)}(h0.. |sup2| unicode:: U+000B2 .. SUPERSCRIPT TWOh]h²}hjsbah}(h]h ]h"]sup2ah$]h&]uh1hhhhKLhhhhubh)}(h2.. |sup3| unicode:: U+000B3 .. SUPERSCRIPT THREEh]h³}hjsbah}(h]h ]h"]sup3ah$]h&]uh1hhhhKMhhhhubh)}(h4.. |times| unicode:: U+000D7 .. MULTIPLICATION SIGNh]h×}hjsbah}(h]h ]h"]timesah$]h&]uh1hhhhKNhhhhubh)}(h0.. |trade| unicode:: U+02122 .. TRADE MARK SIGNh]h™}hj sbah}(h]h ]h"]tradeah$]h&]uh1hhhhKOhhhhubh)}(h... |uarr| unicode:: U+02191 .. UPWARDS ARROWh]h↑}hjsbah}(h]h ]h"]uarrah$]h&]uh1hhhhKPhhhhubh)}(h... |verbar| unicode:: U+0007C .. VERTICAL LINEh]h|}hj)sbah}(h]h ]h"]verbarah$]h&]uh1hhhhKQhhhhubh)}(h*.. |yen| unicode:: U+000A5 .. YEN SIGN h]h¥}hj8sbah}(h]h ]h"]yenah$]h&]uh1hhhhKRhhhhubhsection)}(hhh](htitle)}(h'Altera Triple-Speed Ethernet MAC driverh]h'Altera Triple-Speed Ethernet MAC driver}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjIhhhhhKubh paragraph)}(h-Copyright |copy| 2008-2014 Altera Corporationh](h Copyright }(hj^hhhNhNubh©}(hj^hhhNhNubh 2008-2014 Altera Corporation}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1j\hhhK hjIhhubj])}(hXThis is the driver for the Altera Triple-Speed Ethernet (TSE) controllers using the SGDMA and MSGDMA soft DMA IP components. The driver uses the platform bus to obtain component resources. The designs used to test this driver were built for a Cyclone(R) V SOC FPGA board, a Cyclone(R) V FPGA board, and tested with ARM and NIOS processor hosts separately. The anticipated use cases are simple communications between an embedded system and an external peer for status and simple configuration of the embedded system.h]hXThis is the driver for the Altera Triple-Speed Ethernet (TSE) controllers using the SGDMA and MSGDMA soft DMA IP components. The driver uses the platform bus to obtain component resources. The designs used to test this driver were built for a Cyclone(R) V SOC FPGA board, a Cyclone(R) V FPGA board, and tested with ARM and NIOS processor hosts separately. The anticipated use cases are simple communications between an embedded system and an external peer for status and simple configuration of the embedded system.}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhK hjIhhubj])}(hXFor more information visit www.altera.com and www.rocketboards.org. Support forums for the driver may be found on www.rocketboards.org, and a design used to test this driver may be found there as well. Support is also available from the maintainer of this driver, found in MAINTAINERS.h]hXFor more information visit www.altera.com and www.rocketboards.org. Support forums for the driver may be found on www.rocketboards.org, and a design used to test this driver may be found there as well. Support is also available from the maintainer of this driver, found in MAINTAINERS.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKhjIhhubj])}(hXfThe Triple-Speed Ethernet, SGDMA, and MSGDMA components are all soft IP components that can be assembled and built into an FPGA using the Altera Quartus toolchain. Quartus 13.1 and 14.0 were used to build the design that this driver was tested against. The sopc2dts tool is used to create the device tree for the driver, and may be found at rocketboards.org.h]hXfThe Triple-Speed Ethernet, SGDMA, and MSGDMA components are all soft IP components that can be assembled and built into an FPGA using the Altera Quartus toolchain. Quartus 13.1 and 14.0 were used to build the design that this driver was tested against. The sopc2dts tool is used to create the device tree for the driver, and may be found at rocketboards.org.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKhjIhhubj])}(hXBThe driver probe function examines the device tree and determines if the Triple-Speed Ethernet instance is using an SGDMA or MSGDMA component. The probe function then installs the appropriate set of DMA routines to initialize, setup transmits, receives, and interrupt handling primitives for the respective configurations.h]hXBThe driver probe function examines the device tree and determines if the Triple-Speed Ethernet instance is using an SGDMA or MSGDMA component. The probe function then installs the appropriate set of DMA routines to initialize, setup transmits, receives, and interrupt handling primitives for the respective configurations.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKhjIhhubj])}(hXQThe SGDMA component is to be deprecated in the near future (over the next 1-2 years as of this writing in early 2014) in favor of the MSGDMA component. SGDMA support is included for existing designs and reference in case a developer wishes to support their own soft DMA logic and driver support. Any new designs should not use the SGDMA.h]hXQThe SGDMA component is to be deprecated in the near future (over the next 1-2 years as of this writing in early 2014) in favor of the MSGDMA component. SGDMA support is included for existing designs and reference in case a developer wishes to support their own soft DMA logic and driver support. Any new designs should not use the SGDMA.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhK$hjIhhubj])}(hThe SGDMA supports only a single transmit or receive operation at a time, and therefore will not perform as well compared to the MSGDMA soft IP. Please visit www.altera.com for known, documented SGDMA errata.h]hThe SGDMA supports only a single transmit or receive operation at a time, and therefore will not perform as well compared to the MSGDMA soft IP. Please visit www.altera.com for known, documented SGDMA errata.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhK*hjIhhubj])}(hScatter-gather DMA is not supported by the SGDMA or MSGDMA at this time. Scatter-gather DMA will be added to a future maintenance update to this driver.h]hScatter-gather DMA is not supported by the SGDMA or MSGDMA at this time. Scatter-gather DMA will be added to a future maintenance update to this driver.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhK.hjIhhubj])}(h,Jumbo frames are not supported at this time.h]h,Jumbo frames are not supported at this time.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhK2hjIhhubj])}(hThe driver limits PHY operations to 10/100Mbps, and has not yet been fully tested for 1Gbps. This support will be added in a future maintenance update.h]hThe driver limits PHY operations to 10/100Mbps, and has not yet been fully tested for 1Gbps. This support will be added in a future maintenance update.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhK4hjIhhubjH)}(hhh](jM)}(h1. Kernel Configurationh]h1. Kernel Configuration}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjhhhhhK8ubj])}(h.The kernel configuration option is ALTERA_TSE:h]h.The kernel configuration option is ALTERA_TSE:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhK:hjhhubh block_quote)}(hDevice Drivers ---> Network device support ---> Ethernet driver support ---> Altera Triple-Speed Ethernet MAC support (ALTERA_TSE) h]j])}(hDevice Drivers ---> Network device support ---> Ethernet driver support ---> Altera Triple-Speed Ethernet MAC support (ALTERA_TSE)h]hDevice Drivers ---> Network device support ---> Ethernet driver support ---> Altera Triple-Speed Ethernet MAC support (ALTERA_TSE)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKDriver parameters can be also passed in command line by using:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKIhjhhubh literal_block)}(h(altera_tse=dma_rx_num:128,dma_tx_num:512h]h(altera_tse=dma_rx_num:128,dma_tx_num:512}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKKhjhhubeh}(h]command-line-optionsah ]h"]3. command line optionsah$]h&]uh1jGhjIhhhhhKGubjH)}(hhh](jM)}(h4. Driver information and notesh]h4. Driver information and notes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjhhhhhKNubjH)}(hhh](jM)}(h4.1. Transmit processh]h4.1. Transmit process}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjhhhhhKQubj])}(hXWhen the driver's transmit routine is called by the kernel, it sets up a transmit descriptor by calling the underlying DMA transmit routine (SGDMA or MSGDMA), and initiates a transmit operation. Once the transmit is complete, an interrupt is driven by the transmit DMA logic. The driver handles the transmit completion in the context of the interrupt handling chain by recycling resource required to send and track the requested transmit operation.h]hXWhen the driver’s transmit routine is called by the kernel, it sets up a transmit descriptor by calling the underlying DMA transmit routine (SGDMA or MSGDMA), and initiates a transmit operation. Once the transmit is complete, an interrupt is driven by the transmit DMA logic. The driver handles the transmit completion in the context of the interrupt handling chain by recycling resource required to send and track the requested transmit operation.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKRhjhhubeh}(h]transmit-processah ]h"]4.1. transmit processah$]h&]uh1jGhjhhhhhKQubjH)}(hhh](jM)}(h4.2. Receive processh]h4.2. Receive process}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjhhhhhKZubj])}(hXThe driver will post receive buffers to the receive DMA logic during driver initialization. Receive buffers may or may not be queued depending upon the underlying DMA logic (MSGDMA is able queue receive buffers, SGDMA is not able to queue receive buffers to the SGDMA receive logic). When a packet is received, the DMA logic generates an interrupt. The driver handles a receive interrupt by obtaining the DMA receive logic status, reaping receive completions until no more receive completions are available.h]hXThe driver will post receive buffers to the receive DMA logic during driver initialization. Receive buffers may or may not be queued depending upon the underlying DMA logic (MSGDMA is able queue receive buffers, SGDMA is not able to queue receive buffers to the SGDMA receive logic). When a packet is received, the DMA logic generates an interrupt. The driver handles a receive interrupt by obtaining the DMA receive logic status, reaping receive completions until no more receive completions are available.}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhK[hjhhubeh}(h]receive-processah ]h"]4.2. receive processah$]h&]uh1jGhjhhhhhKZubjH)}(hhh](jM)}(h4.3. Interrupt Mitigationh]h4.3. Interrupt Mitigation}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjAhhhhhKdubj])}(hThe driver is able to mitigate the number of its DMA interrupts using NAPI for receive operations. Interrupt mitigation is not yet supported for transmit operations, but will be added in a future maintenance release.h]hThe driver is able to mitigate the number of its DMA interrupts using NAPI for receive operations. Interrupt mitigation is not yet supported for transmit operations, but will be added in a future maintenance release.}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKehjAhhubeh}(h]interrupt-mitigationah ]h"]4.3. interrupt mitigationah$]h&]uh1jGhjhhhhhKdubjH)}(hhh](jM)}(h4.4) Ethtool supporth]h4.4) Ethtool support}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjhhhhhhKjubj])}(hEthtool is supported. Driver statistics and internal errors can be taken using: ethtool -S ethX command. It is possible to dump registers etc.h]hEthtool is supported. Driver statistics and internal errors can be taken using: ethtool -S ethX command. It is possible to dump registers etc.}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKkhjhhhubeh}(h]ethtool-supportah ]h"]4.4) ethtool supportah$]h&]uh1jGhjhhhhhKjubjH)}(hhh](jM)}(h4.5) PHY Supporth]h4.5) PHY Support}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjhhhhhKoubj])}(hDThe driver is compatible with PAL to work with PHY and GPHY devices.h]hDThe driver is compatible with PAL to work with PHY and GPHY devices.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKphjhhubeh}(h] phy-supportah ]h"]4.5) phy supportah$]h&]uh1jGhjhhhhhKoubjH)}(hhh](jM)}(h4.7) List of source files:h]h4.7) List of source files:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjhhhhhKsubj)}(hXV- Kconfig - Makefile - altera_tse_main.c: main network device driver - altera_tse_ethtool.c: ethtool support - altera_tse.h: private driver structure and common definitions - altera_msgdma.h: MSGDMA implementation function definitions - altera_sgdma.h: SGDMA implementation function definitions - altera_msgdma.c: MSGDMA implementation - altera_sgdma.c: SGDMA implementation - altera_sgdmahw.h: SGDMA register and descriptor definitions - altera_msgdmahw.h: MSGDMA register and descriptor definitions - altera_utils.c: Driver utility functions - altera_utils.h: Driver utility function definitions h]jI)}(hhh](jN)}(hKconfigh]j])}(hjh]hKconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKthjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hMakefileh]j])}(hjh]hMakefile}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKuhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(h-altera_tse_main.c: main network device driverh]j])}(hjh]h-altera_tse_main.c: main network device driver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKvhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(h%altera_tse_ethtool.c: ethtool supporth]j])}(hjh]h%altera_tse_ethtool.c: ethtool support}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKwhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(h=altera_tse.h: private driver structure and common definitionsh]j])}(hj,h]h=altera_tse.h: private driver structure and common definitions}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKxhj*ubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(h;altera_msgdma.h: MSGDMA implementation function definitionsh]j])}(hjCh]h;altera_msgdma.h: MSGDMA implementation function definitions}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKyhjAubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(h9altera_sgdma.h: SGDMA implementation function definitionsh]j])}(hjZh]h9altera_sgdma.h: SGDMA implementation function definitions}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKzhjXubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(h&altera_msgdma.c: MSGDMA implementationh]j])}(hjqh]h&altera_msgdma.c: MSGDMA implementation}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhK{hjoubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(h$altera_sgdma.c: SGDMA implementationh]j])}(hjh]h$altera_sgdma.c: SGDMA implementation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhK|hjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(h;altera_sgdmahw.h: SGDMA register and descriptor definitionsh]j])}(hjh]h;altera_sgdmahw.h: SGDMA register and descriptor definitions}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhK}hjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(h=altera_msgdmahw.h: MSGDMA register and descriptor definitionsh]j])}(hjh]h=altera_msgdmahw.h: MSGDMA register and descriptor definitions}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhK~hjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(h(altera_utils.c: Driver utility functionsh]j])}(hjh]h(altera_utils.c: Driver utility functions}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(h4altera_utils.h: Driver utility function definitions h]j])}(h3altera_utils.h: Driver utility function definitionsh]h3altera_utils.h: Driver utility function definitions}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]jjuh1jHhhhKthjubah}(h]h ]h"]h$]h&]uh1jhhhKthjhhubeh}(h]list-of-source-filesah ]h"]4.7) list of source files:ah$]h&]uh1jGhjhhhhhKsubeh}(h]driver-information-and-notesah ]h"]4. driver information and notesah$]h&]uh1jGhjIhhhhhKNubjH)}(hhh](jM)}(h5. Debug Informationh]h5. Debug Information}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jLhj hhhhhKubj])}(hoThe driver exports debug information such as internal statistics, debug information, MAC and DMA registers etc.h]hoThe driver exports debug information such as internal statistics, debug information, MAC and DMA registers etc.}(hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKhj hhubj])}(hA user may use the ethtool support to get statistics: e.g. using: ethtool -S ethX (that shows the statistics counters) or sees the MAC registers: e.g. using: ethtool -d ethXh]hA user may use the ethtool support to get statistics: e.g. using: ethtool -S ethX (that shows the statistics counters) or sees the MAC registers: e.g. using: ethtool -d ethX}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKhj hhubj])}(hYThe developer can also use the "debug" module parameter to get further debug information.h]h]The developer can also use the “debug” module parameter to get further debug information.}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKhj hhubeh}(h]debug-informationah ]h"]5. debug informationah$]h&]uh1jGhjIhhhhhKubjH)}(hhh](jM)}(h6. Statistics Supporth]h6. Statistics Support}(hj\ hhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjY hhhhhKubj])}(hThe controller and driver support a mix of IEEE standard defined statistics, RFC defined statistics, and driver or Altera defined statistics. The four specifications containing the standard definitions for these statistics are as follows:h]hThe controller and driver support a mix of IEEE standard defined statistics, RFC defined statistics, and driver or Altera defined statistics. The four specifications containing the standard definitions for these statistics are as follows:}(hjj hhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKhjY hhubj)}(h- IEEE 802.3-2012 - IEEE Standard for Ethernet. - RFC 2863 found at http://www.rfc-editor.org/rfc/rfc2863.txt. - RFC 2819 found at http://www.rfc-editor.org/rfc/rfc2819.txt. - Altera Triple Speed Ethernet User Guide, found at http://www.altera.com h]jI)}(hhh](jN)}(h-IEEE 802.3-2012 - IEEE Standard for Ethernet.h]j])}(hj h]h-IEEE 802.3-2012 - IEEE Standard for Ethernet.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j\hhhKhj ubah}(h]h ]h"]h$]h&]uh1jMhj| ubjN)}(hj;jejbjjjjj j jV jS j j u nametypes}(j j0jjj jj>jejjj jV j uh}(j jIj-jjj3jjj jjjj;jjbjAjjhjjj jjS j j jY u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log]FDocumentation/networking/device_drivers/ethernet/altera/altera_tse.rst(NNNNta decorationNhhub.