History log of /src/sys/arch/arm/ti/if_cpsw.c |
Revision | | Date | Author | Comments |
1.17 |
| 27-Feb-2023 |
sekiya | Uncomment and protect sanity checks that would drop into the debugger with a CPSW_DEBUG_DMA define.
This handles a condition where checking for DMA_RXEOQ in the received packet results in the console being spammed with "rxeoq" messages, which soon results in a kernel panic. The corresponding Debugger() call for this check was commented out.
The TI documentation ("AM335x and AMIC110 Sitaraâ„¢ Processors Technical Reference Manual") documents the EOQ bit thus:
(14.3.2.4.1.2.4) This bit is set by the EMAC when the EMAC identifies that a descriptor is the last for a given packet received (also sets the EOP flag), and there are no more descriptors in the receive list (next descriptor pointer is NULL). The software application can use this bit to detect when the EMAC receiver for the corresponding channel has halted. This is useful when the application appends additional free buffer descriptors to an active receive queue. Note that this flag is valid on EOP descriptors only.
Moving this check (and the offending printf() ) into a debug #ifdef results in the BeagleBone Green surviving the nightly checks; it would always drop into the debugger before this change.
|
1.16 |
| 18-Sep-2022 |
thorpej | branches: 1.16.4; Eliminate use of IFF_OACTIVE.
|
1.15 |
| 07-Nov-2021 |
jmcneill | ti: cpsw: adapt to dts-5.15 bindings
|
1.14 |
| 27-Jan-2021 |
thorpej | Rename of_match_compat_data() to of_compatible_match(). Similarly, rename of_search_compatible() to of_compatible_lookup().
Standardize on of_compatible_match() for driver matching, and adapt all call sites.
|
1.13 |
| 15-Jan-2021 |
jmcneill | use fdtbus_intr_establish_xname
|
1.12 |
| 04-Feb-2020 |
thorpej | branches: 1.12.6; Use ifmedia_fini().
|
1.11 |
| 29-Jan-2020 |
thorpej | Adopt <net/if_stats.h>.
|
1.10 |
| 06-Jan-2020 |
msaitoh | branches: 1.10.2; Add ETHER_LOCK() and ETHER_UNLOCK() to protect ec_multiaddrs.
XXX These drivers don't check whether enm_addrlo and enm_addrhi are the same or not, so it won't work correctly if an multicast address entry has a range.
|
1.9 |
| 24-Nov-2019 |
skrll | Fix KERNHIST build (and simplify)
|
1.8 |
| 03-Nov-2019 |
jmcneill | Cleanup and remove dependency on arch/arm/omap
|
1.7 |
| 27-Oct-2019 |
jmcneill | Get mac address from DT
|
1.6 |
| 29-May-2019 |
msaitoh | branches: 1.6.2; No functional change: - Simplify MII structure initialization and reference. - KNF
|
1.5 |
| 29-May-2019 |
msaitoh | KNF. No functional change.
|
1.4 |
| 05-Mar-2019 |
msaitoh | Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes if_upgt.c's ETHER_ALIGN from 0 to 2.
|
1.3 |
| 22-Jan-2019 |
msaitoh | Change MII PHY read/write API from:
int (*mii_readreg_t)(device_t, int, int); void (*mii_writereg_t)(device_t, int, int, int); to:
int (*mii_readreg_t)(device_t, int, int, uint16_t *); int (*mii_writereg_t)(device_t, int, int, uint16_t);
Now we can test if a read/write operation failed or not by the return value.
In 802.3 spec says that the PHY shall not respond to read/write transaction to the unimplemented register(22.2.4.3). Detecting timeout can be used to check whether a register is implemented or not (if the register conforms to the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR.
Note that I noticed that the following code do infinite loop in the read/wirte function. If it accesses unimplemented PHY register, it will hang. It should be fixed:
arm/at91/at91emac.c arm/ep93xx/epe.c arm/omap/omapl1x_emac.c mips/ralink/ralink_eth.c arch/powerpc/booke/dev/pq3etsec.c(read) dev/cadence/if_cemac.c <- hkenken dev/ic/lan9118.c
Tested with the following device:
axe+ukphy axe+rgephy axen+rgephy (tested by Andrius V) wm+atphy wm+ukphy wm+igphy wm+ihphy wm+makphy sk+makphy sk+brgphy sk+gentbi msk+makphy sip+icsphy sip+ukphy re+rgephy bge+brgphy bnx+brgphy gsip+gphyter rtk+rlphy fxp+inphy (tested by Andrius V) tlp+acphy ex+exphy epic+qsphy vge+ciphy (tested by Andrius V) vr+ukphy (tested by Andrius V) vte+ukphy (tested by Andrius V)
Not tested (MAC): arm:at91emac arm:cemac arm:epe arm:geminigmac arm:enet arm:cpsw arm:emac(omac) arm:emac(sunxi) arm:npe evbppc:temac macppc:bm macppc:gm mips:aumac mips:ae mips:cnmac mips:reth mips:sbmac playstation2:smap powerpc:tsec powerpc:emac(ibm4xx) sgimips:mec sparc:be sf ne(ax88190, dl10019) awge ep gem hme smsh mtd sm age alc ale bce cas et jme lii nfe pcn ste stge tl xi aue mue smsc udav url
Not tested (PHY): amhphy bmtphy dmphy etphy glxtphy ikphy iophy lxtphy nsphyter pnaphy rdcphy sqphy tlphy tqphy urlphy
|
1.2 |
| 26-Jun-2018 |
msaitoh | branches: 1.2.2; Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same as FreeBSD.
This change also fixes a bug that the direction is misunderstand on some environment by passing the direction to bpf_mtap*() instead of checking m->m_pkthdr.rcvif.
|
1.1 |
| 26-Oct-2017 |
jakllsch | branches: 1.1.2; 1.1.4; Initial FDT support for TI's ARM SoCs.
Currently supports only limited functionality on AM335x.
|
1.1.4.2 |
| 26-Jan-2019 |
pgoyette | Sync with HEAD
|
1.1.4.1 |
| 28-Jul-2018 |
pgoyette | Sync with HEAD
|
1.1.2.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.2.1 |
| 26-Oct-2017 |
jdolecek | file if_cpsw.c was added on branch tls-maxphys on 2017-12-03 11:35:56 +0000
|
1.2.2.3 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.2.2.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.2.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.6.2.4 |
| 03-Mar-2023 |
martin | Pull up following revision(s) (requested by sekiya in ticket #1609):
sys/arch/arm/ti/if_cpsw.c: revision 1.17
Uncomment and protect sanity checks that would drop into the debugger with a CPSW_DEBUG_DMA define.
This handles a condition where checking for DMA_RXEOQ in the received packet results in the console being spammed with "rxeoq" messages, which soon results in a kernel panic. The corresponding Debugger() call for this check was commented out.
The TI documentation ("AM335x and AMIC110 Sitara(TM) Processors Technical Reference Manual") documents the EOQ bit thus:
(14.3.2.4.1.2.4) This bit is set by the EMAC when the EMAC identifies that a descriptor is the last for a given packet received (also sets the EOP flag), and there are no more descriptors in the receive list (next descriptor pointer is NULL). The software application can use this bit to detect when the EMAC receiver for the corresponding channel has halted. This is useful when the application appends additional free buffer descriptors to an active receive queue. Note that this flag is valid on EOP descriptors only.
Moving this check (and the offending printf() ) into a debug #ifdef results in the BeagleBone Green surviving the nightly checks; it would always drop into the debugger before this change.
|
1.6.2.3 |
| 20-Feb-2020 |
martin | Pull up following revision(s) (requested by skrll in ticket #711):
sys/arch/arm/ti/if_cpsw.c: revision 1.9
Fix KERNHIST build (and simplify)
|
1.6.2.2 |
| 28-Jan-2020 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #662):
sys/dev/pcmcia/if_xi.c: revision 1.93 sys/arch/x86/pci/if_vmx.c: revision 1.54 sys/dev/pci/if_de.c: revision 1.165 sys/arch/arm/ti/if_cpsw.c: revision 1.10 sys/arch/arm/omap/if_cpsw.c: revision 1.26 sys/dev/isa/if_iy.c: revision 1.112 sys/dev/pcmcia/if_ray.c: revision 1.96
Add ETHER_LOCK() and ETHER_UNLOCK() to protect ec_multiaddrs.
XXX These drivers don't check whether enm_addrlo and enm_addrhi are the same or not, so it won't work correctly if an multicast address entry has a range.
Protect ec_multicnt.
|
1.6.2.1 |
| 27-Nov-2019 |
martin | Pull up following revision(s) (requested by jmcneill in ticket #491):
sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2 sys/arch/arm/ti/ti_sysc.c: revision 1.1 sys/arch/arm/ti/ti_rng.c: revision 1.1 sys/arch/arm/ti/ti_rng.c: revision 1.2 sys/dev/i2c/tps65950.c: file removal sys/arch/evbarm/conf/std.ti: file removal sys/dev/i2c/files.i2c: revision 1.101 sys/dev/i2c/files.i2c: revision 1.102 sys/dev/i2c/at24cxx.c: revision 1.32 sys/dev/i2c/files.i2c: revision 1.103 sys/dev/i2c/twl4030.c: revision 1.1 sys/dev/i2c/files.i2c: revision 1.104 sys/dev/i2c/twl4030.c: revision 1.2 sys/dev/i2c/twl4030.c: revision 1.3 sys/arch/arm/ti/ti_com.c: revision 1.6 sys/arch/arm/ti/ti_com.c: revision 1.7 sys/arch/arm/ti/ti_com.c: revision 1.8 sys/dev/fdt/cpufreq_dt.c: revision 1.11 sys/arch/arm/ti/ti_iic.c: revision 1.1 sys/dev/fdt/cpufreq_dt.c: revision 1.12 sys/arch/arm/ti/ti_usb.c: revision 1.1 sys/arch/arm/ti/ti_iic.c: revision 1.2 sys/dev/fdt/cpufreq_dt.c: revision 1.13 sys/arch/arm/ti/ti_iic.c: revision 1.3 sys/arch/arm/ti/ti_iic.c: revision 1.4 sys/arch/evbarm/conf/files.ti: file removal sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal sys/arch/arm/dts/omap3-n900.dts: revision 1.1 sys/arch/arm/ti/ti_edma.h: revision 1.1 sys/arch/evbarm/conf/OVERO_INSTALL: file removal sys/arch/arm/ti/ti_usbtll.c: revision 1.1 sys/arch/arm/ti/files.ti: revision 1.5 etc/etc.evbarm/Makefile.inc: revision 1.108 sys/arch/arm/ti/files.ti: revision 1.6 sys/dev/i2c/tps65217pmic.c: revision 1.13 etc/etc.evbarm/Makefile.inc: revision 1.109 sys/arch/arm/ti/files.ti: revision 1.7 sys/dev/i2c/tps65217pmic.c: revision 1.14 sys/arch/arm/ti/files.ti: revision 1.8 sys/arch/arm/ti/files.ti: revision 1.9 sys/dev/fdt/usbnopphy.c: revision 1.1 sys/arch/evbarm/conf/GENERIC: revision 1.55 sys/arch/evbarm/conf/GENERIC: revision 1.56 sys/arch/evbarm/conf/GENERIC: revision 1.57 sys/arch/evbarm/conf/GENERIC: revision 1.58 sys/arch/evbarm/conf/GENERIC: revision 1.59 sys/arch/evbarm/conf/BEAGLEBONE: file removal sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1 sys/arch/arm/ti/ti_otgreg.h: revision 1.1 sys/arch/arm/ti/ti_tptc.c: revision 1.1 sys/arch/evbarm/conf/IGEPV2: file removal sys/arch/arm/ti/am3_prcm.c: revision 1.10 sys/dev/i2c/tda19988.c: revision 1.1 sys/arch/evbarm/conf/OVERO: file removal sys/dev/i2c/tda19988.c: revision 1.2 sys/dev/i2c/tda19988.c: revision 1.3 sys/arch/arm/ti/omap3_dss.c: revision 1.1 sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal sys/arch/arm/ti/ti_omapintc.c: revision 1.2 etc/etc.evbarm/Makefile.inc: revision 1.112 etc/etc.evbarm/Makefile.inc: revision 1.113 sys/arch/arm/ti/ti_div_clock.c: revision 1.1 etc/etc.evbarm/Makefile.inc: revision 1.114 sys/arch/evbarm/conf/N900: revision 1.32 sys/arch/evbarm/conf/N900: revision 1.33 distrib/utils/embedded/conf/armv7.conf: revision 1.36 sys/arch/evbarm/conf/GENERIC: revision 1.60 distrib/utils/embedded/conf/armv7.conf: revision 1.37 sys/arch/arm/ti/omap2_nand.c: revision 1.1 sys/arch/evbarm/conf/GENERIC: revision 1.61 sys/arch/arm/ti/omap2_nand.c: revision 1.2 sys/arch/evbarm/conf/GENERIC: revision 1.62 distrib/utils/embedded/conf/armv7.conf: revision 1.39 sys/arch/evbarm/conf/GENERIC: revision 1.63 sys/arch/arm/ti/ti_fb.c: revision 1.1 sys/arch/evbarm/conf/GENERIC: revision 1.64 sys/arch/evbarm/conf/GENERIC: revision 1.65 sys/arch/evbarm/conf/GENERIC: revision 1.66 sys/arch/evbarm/conf/GENERIC: revision 1.67 sys/arch/arm/ti/ti_platform.c: revision 1.7 sys/arch/arm/ti/ti_platform.c: revision 1.8 sys/arch/arm/ti/am3_prcm.c: revision 1.2 sys/arch/arm/ti/ti_platform.c: revision 1.9 sys/arch/arm/ti/am3_prcm.c: revision 1.3 sys/arch/arm/ti/am3_prcm.c: revision 1.4 sys/arch/arm/ti/am3_prcm.c: revision 1.5 sys/arch/arm/ti/am3_prcm.c: revision 1.6 sys/arch/arm/ti/am3_prcm.c: revision 1.7 sys/arch/evbarm/conf/DEVKIT8000: file removal sys/arch/arm/ti/am3_prcm.c: revision 1.8 sys/arch/arm/ti/am3_prcm.c: revision 1.9 sys/dev/fdt/syscon.c: revision 1.4 sys/arch/arm/ti/files.ti: revision 1.10 sys/arch/arm/ti/ti_mux_clock.c: revision 1.1 sys/arch/arm/ti/ti_sdhc.c: revision 1.1 sys/arch/arm/ti/files.ti: revision 1.11 sys/arch/arm/ti/if_cpswreg.h: revision 1.1 sys/arch/arm/ti/ti_sdhc.c: revision 1.2 sys/arch/arm/ti/files.ti: revision 1.12 sys/arch/arm/ti/ti_sdhc.c: revision 1.3 sys/arch/arm/ti/files.ti: revision 1.13 sys/arch/arm/ti/files.ti: revision 1.14 sys/arch/arm/ti/files.ti: revision 1.15 sys/arch/arm/ti/files.ti: revision 1.16 sys/arch/arm/ti/omap3_cm.c: revision 1.1 sys/arch/arm/ti/files.ti: revision 1.17 sys/arch/arm/ti/omap3_cm.c: revision 1.2 sys/arch/arm/ti/files.ti: revision 1.18 sys/arch/arm/ti/omap3_cm.c: revision 1.3 sys/arch/arm/ti/files.ti: revision 1.19 sys/arch/arm/ti/omap3_cm.c: revision 1.4 sys/arch/arm/ti/ti_motg.c: revision 1.1 sys/arch/arm/ti/ti_rngreg.h: revision 1.1 sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1 sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1 sys/arch/arm/ti/am3_platform.c: revision 1.1 sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2 sys/arch/arm/ti/ti_lcdc.h: revision 1.1 sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal sys/arch/evbarm/conf/README.evbarm: revision 1.22 sys/arch/evbarm/conf/README.evbarm: revision 1.23 sys/arch/arm/ti/ti_platform.c: file removal sys/arch/evbarm/conf/README.evbarm: revision 1.24 sys/arch/arm/ti/ti_omaptimer.c: revision 1.2 sys/arch/arm/ti/ti_prcm.c: revision 1.2 sys/arch/evbarm/conf/README.evbarm: revision 1.25 sys/arch/arm/ti/ti_omaptimer.c: revision 1.3 sys/arch/arm/ti/ti_prcm.c: revision 1.3 sys/arch/evbarm/conf/README.evbarm: revision 1.26 sys/arch/arm/ti/ti_omaptimer.c: revision 1.4 sys/arch/evbarm/conf/README.evbarm: revision 1.27 sys/arch/arm/ti/ti_ehci.c: revision 1.1 sys/arch/arm/ti/files.ti: revision 1.20 sys/arch/arm/ti/ti_cpufreq.c: revision 1.1 sys/arch/arm/ti/ti_cpufreq.c: revision 1.2 sys/arch/arm/fdt/smsh_fdt.c: revision 1.2 sys/arch/arm/ti/omap3_dssreg.h: revision 1.1 sys/arch/evbarm/conf/OVERO: revision 1.56 sys/arch/evbarm/conf/TI: file removal sys/arch/arm/dts/omap3-beagle.dts: revision 1.1 sys/dev/fdt/fdtvar.h: revision 1.55 sys/dev/fdt/fdtvar.h: revision 1.56 distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2 sys/dev/fdt/fdt_phy.c: revision 1.6 sys/arch/arm/ti/ti_iicreg.h: revision 1.1 sys/arch/arm/ti/ti_lcdc.c: revision 1.1 sys/arch/arm/ti/ti_gpio.c: revision 1.1 sys/arch/arm/ti/ti_iicreg.h: revision 1.2 sys/arch/arm/ti/ti_lcdc.c: revision 1.2 sys/dev/fdt/files.fdt: revision 1.46 sys/arch/arm/ti/ti_gpio.c: revision 1.2 sys/arch/arm/ti/ti_iicreg.h: revision 1.3 sys/arch/arm/ti/ti_lcdc.c: revision 1.3 sys/dev/fdt/files.fdt: revision 1.47 sys/arch/arm/ti/ti_gpio.c: revision 1.3 sys/dev/fdt/pinctrl_single.c: revision 1.1 sys/arch/evbarm/conf/files.generic: revision 1.9 sys/arch/arm/ti/ti_gpmc.c: revision 1.1 sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1 sys/arch/evbarm/conf/BEAGLEBOARD: file removal sys/arch/arm/ti/omap3_prm.c: revision 1.1 sys/arch/arm/ti/ti_platform.h: file removal sys/arch/arm/ti/omap3_platform.c: revision 1.1 sys/arch/arm/ti/ti_prcm.h: revision 1.2 sys/arch/arm/ti/omap3_platform.c: revision 1.2 sys/arch/arm/ti/ti_prcm.h: revision 1.3 sys/arch/arm/ti/ti_prcm.h: revision 1.4 sys/dev/fdt/fdt_clock.c: revision 1.9 sys/arch/arm/ti/ti_edma.c: revision 1.1 sys/arch/arm/ti/ti_otg.c: revision 1.1 distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15 sys/arch/arm/ti/if_cpsw.c: revision 1.7 sys/arch/evbarm/conf/std.igepv2: file removal sys/arch/arm/ti/if_cpsw.c: revision 1.8 sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1
Adapt ti fdt glue to support GENERIC kernel.
Do not search 64-bit directories for dts files
Fix am33xx_platform_early_putchar for pre-MMU output
Add bus driver for TI sysc interconncet.
Make com work again
Add EDMA TPCC and TPTC drivers.
Add driver for one-register-per-pin type pinctrl devices.
Add MMCHS support.
Add USB support.
Disable autoidle
Place devmap above KERNEL_IO_VBASE
Use Timer2 for timecounter, and enable hw module.
Add support for TI AM335x
Add atmel,24c256 compat data
Add I2C support.
Add tiiic, tps65217pmic
Add FDT support
Fix early putchar, add reset func
No support for tegra210 in armv7 kernel
Switch to GENERIC kernels only.
Get mac address from DT
Skip nodes with an "opp-suspend" property and fix tables that have disabled nodes in the middle.
enumerate devices under child "clocks" node
Add support for platform specific opp table filters.
Add fdtbus_clock_count to count the number of clock references on a given node
enumerate devices under child "clocks" node
Add AM335x DVFS support.
Enable TI AM335x DVFS support
Add support for GPIO controller.
Add tigpio
Unhook BEAGLEBONE kernel from the build Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).
Add support for hardware RNG.
Add tirng
Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty
Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to am3_platform.c
Set stdout-path on TI OMAP3 BeagleBoard
Add support for TI OMAP3.
Add OMAP3 support.
Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition. Mkimage (eroneously) creates a FAT16 partition (despite the configuration asking for FAT32), and that has a root directory size limit. Idea from Jared.
Skip xref if it is 0
Add generic USB PHY driver
Add driver for TI TWL4030 Power Management IC
Use the hwmod clk to get the timer rate and explicitly enable the timecounter timer.
Add OMAP3 USB support.
Add twl, usbnopphy, tiusb, tiusbtll
Move omap3 dtb files to /boot/dtb
Remove BEAGLEBOARD kernel from list of kernels to build Remove BEAGLEBOARD kernel (supported by GENERIC now)
Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.
Remove DEVKIT8000 kernel (GENERIC should work now) Remove DPLL5 init ported from old omap code, it is not required
Set the stdout-path on xM like Ti OMAP3 BeagleBoard
Remove BEAGLEBOARDXM from the build Remove BEAGLEBOARDXM kernel (supported by GENERIC now)
Handle different register layout on OMAP3
Add omapfb to FDT-ized TI port.
Use dss as console on Nokia N900.
Enable IRQ status bits for omap3 type and set speed properly
Add RTC support
Remove tps65950pm (hardware now supported by twl4030.c)
Add NAND flash support.
Add tigpmc, omapnand
Attach tiusb before the default pass since it adds a bus to reduce kernel output Replace tps65950pm with twl (the former has been removed)
Fix non-FDT build
Cleanup and remove dependency on arch/arm/omap
Add support for GPIO interrupts and fix reading the state of output pins. Match smsc,lan9115 and honour local-mac-address/mac-address properties
Only one instance of twl(4) is needed Remove OVERO from build, and commented out N900 kernel config OMAP3 SoC and all peripherals in the OVERO kernel are now supported by GENERIC.
Remove commented out IGEPV2 entry
OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by GENERIC.
No longer used.
Also match ti,omap2-onenand
Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context
Add driver for NXP TDA19988 HDMI encoder
Add support for AM335x display controller (LCDC).
Add tdahdmi, tilcdc, tifb
Test DRM_MODE_* flags, not VID_*
Comment out mode fixup (not needed it seems)
Use 297MHz for display clock
Select closest rate to desired pixel clock
Speed up mode setting a bit and turn off the display while changing modes
|
1.10.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.12.6.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.16.4.1 |
| 03-Mar-2023 |
martin | Pull up following revision(s) (requested by sekiya in ticket #109):
sys/arch/arm/ti/if_cpsw.c: revision 1.17
Uncomment and protect sanity checks that would drop into the debugger with a CPSW_DEBUG_DMA define.
This handles a condition where checking for DMA_RXEOQ in the received packet results in the console being spammed with "rxeoq" messages, which soon results in a kernel panic. The corresponding Debugger() call for this check was commented out.
The TI documentation ("AM335x and AMIC110 Sitara(TM) Processors Technical Reference Manual") documents the EOQ bit thus:
(14.3.2.4.1.2.4) This bit is set by the EMAC when the EMAC identifies that a descriptor is the last for a given packet received (also sets the EOP flag), and there are no more descriptors in the receive list (next descriptor pointer is NULL). The software application can use this bit to detect when the EMAC receiver for the corresponding channel has halted. This is useful when the application appends additional free buffer descriptors to an active receive queue. Note that this flag is valid on EOP descriptors only.
Moving this check (and the offending printf() ) into a debug #ifdef results in the BeagleBone Green surviving the nightly checks; it would always drop into the debugger before this change.
|