ps3: Update kernel to linux-2.6.30
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> SVN-Revision: 17411
This commit is contained in:
parent
34be279659
commit
a3cdb2ee9b
3 changed files with 449 additions and 1 deletions
|
@ -13,7 +13,7 @@ MAINTAINER:=Geoff Levand <geoffrey.levand@am.sony.com>
|
|||
SUBTARGETS=petitboot
|
||||
FEATURES+=powerpc64
|
||||
|
||||
LINUX_VERSION:=2.6.28.10
|
||||
LINUX_VERSION:=2.6.30.5
|
||||
|
||||
KERNEL_CC:=
|
||||
|
||||
|
|
359
target/linux/ps3/config-2.6.30
Normal file
359
target/linux/ps3/config-2.6.30
Normal file
|
@ -0,0 +1,359 @@
|
|||
CONFIG_64BIT=y
|
||||
CONFIG_ALTIVEC=y
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
|
||||
CONFIG_ARCH_HAS_ILOG2_U32=y
|
||||
CONFIG_ARCH_HAS_ILOG2_U64=y
|
||||
CONFIG_ARCH_HAS_WALK_MEMORY=y
|
||||
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
|
||||
CONFIG_ARCH_MEMORY_PROBE=y
|
||||
CONFIG_ARCH_NO_VIRT_TO_BUS=y
|
||||
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
|
||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_AUDIT_ARCH=y
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_BINARY_PRINTF is not set
|
||||
CONFIG_BITREVERSE=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=65535
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
# CONFIG_BLK_DEV_SR_VENDOR is not set
|
||||
CONFIG_BLOCK_COMPAT=y
|
||||
# CONFIG_BOOTX_TEXT is not set
|
||||
CONFIG_BOUNCE=y
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_CGROUP_SCHED is not set
|
||||
CONFIG_CMDLINE=""
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_COMPAT_BINFMT_ELF=y
|
||||
CONFIG_COMPAT_BRK=y
|
||||
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
# CONFIG_CPU_FREQ is not set
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
CONFIG_CRC16=y
|
||||
# CONFIG_CRYPTO is not set
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_DEFAULT_UIMAGE is not set
|
||||
CONFIG_DEVKMEM=y
|
||||
CONFIG_DNOTIFY=y
|
||||
CONFIG_DTC=y
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_EDAC is not set
|
||||
CONFIG_ELF_CORE=y
|
||||
# CONFIG_ENABLE_WARN_DEPRECATED is not set
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT4DEV_COMPAT is not set
|
||||
CONFIG_EXT4_FS=y
|
||||
# CONFIG_EXT4_FS_XATTR is not set
|
||||
CONFIG_FAIR_GROUP_SCHED=y
|
||||
CONFIG_FAT_FS=y
|
||||
CONFIG_FB=y
|
||||
# CONFIG_FB_BACKLIGHT is not set
|
||||
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
|
||||
# CONFIG_FB_BROADSHEET is not set
|
||||
# CONFIG_FB_CFB_COPYAREA is not set
|
||||
# CONFIG_FB_CFB_FILLRECT is not set
|
||||
# CONFIG_FB_CFB_IMAGEBLIT is not set
|
||||
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
|
||||
# CONFIG_FB_DDC is not set
|
||||
# CONFIG_FB_FOREIGN_ENDIAN is not set
|
||||
# CONFIG_FB_MACMODES is not set
|
||||
# CONFIG_FB_MB862XX is not set
|
||||
# CONFIG_FB_METRONOME is not set
|
||||
# CONFIG_FB_MODE_HELPERS is not set
|
||||
# CONFIG_FB_OF is not set
|
||||
CONFIG_FB_PS3=y
|
||||
CONFIG_FB_PS3_DEFAULT_SIZE_M=9
|
||||
# CONFIG_FB_S1D13XXX is not set
|
||||
# CONFIG_FB_SVGALIB is not set
|
||||
CONFIG_FB_SYS_COPYAREA=y
|
||||
CONFIG_FB_SYS_FILLRECT=y
|
||||
CONFIG_FB_SYS_FOPS=y
|
||||
CONFIG_FB_SYS_IMAGEBLIT=y
|
||||
# CONFIG_FB_TILEBLITTING is not set
|
||||
# CONFIG_FB_VGA16 is not set
|
||||
# CONFIG_FB_VIRTUAL is not set
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
# CONFIG_FLATMEM_MANUAL is not set
|
||||
# CONFIG_FONTS is not set
|
||||
CONFIG_FONT_8x16=y
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=13
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
|
||||
CONFIG_FRAME_WARN=2048
|
||||
# CONFIG_FSL_ULI1575 is not set
|
||||
CONFIG_GELIC_NET=y
|
||||
# CONFIG_GELIC_WIRELESS is not set
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
|
||||
CONFIG_GENERIC_CMOS_UPDATE=y
|
||||
CONFIG_GENERIC_FIND_LAST_BIT=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
# CONFIG_GENERIC_IOMAP is not set
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_GENERIC_TBSYNC is not set
|
||||
CONFIG_GENERIC_TIME_VSYSCALL=y
|
||||
# CONFIG_GEN_RTC is not set
|
||||
CONFIG_GROUP_SCHED=y
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_HANGCHECK_TIMER is not set
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
# CONFIG_HAS_RAPIDIO is not set
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||
CONFIG_HAVE_DMA_ATTRS=y
|
||||
CONFIG_HAVE_DYNAMIC_FTRACE=y
|
||||
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
|
||||
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
|
||||
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
|
||||
CONFIG_HAVE_FUNCTION_TRACER=y
|
||||
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
|
||||
CONFIG_HAVE_IDE=y
|
||||
CONFIG_HAVE_IOREMAP_PROT=y
|
||||
CONFIG_HAVE_KPROBES=y
|
||||
CONFIG_HAVE_KRETPROBES=y
|
||||
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
|
||||
CONFIG_HAVE_LMB=y
|
||||
CONFIG_HAVE_MEMORY_PRESENT=y
|
||||
CONFIG_HAVE_MLOCK=y
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
|
||||
CONFIG_HAVE_SYSCALL_WRAPPERS=y
|
||||
CONFIG_HID=y
|
||||
CONFIG_HID_APPLE=y
|
||||
CONFIG_HID_BELKIN=y
|
||||
CONFIG_HID_CHERRY=y
|
||||
CONFIG_HID_EZKEY=y
|
||||
CONFIG_HID_LOGITECH=y
|
||||
CONFIG_HID_MICROSOFT=y
|
||||
CONFIG_HID_SONY=y
|
||||
CONFIG_HID_SUNPLUS=y
|
||||
CONFIG_HID_SUPPORT=y
|
||||
# CONFIG_HIGH_RES_TIMERS is not set
|
||||
# CONFIG_HUGETLBFS is not set
|
||||
CONFIG_HW_CONSOLE=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_HZ=250
|
||||
# CONFIG_HZ_100 is not set
|
||||
CONFIG_HZ_250=y
|
||||
# CONFIG_I2C is not set
|
||||
CONFIG_INITRAMFS_ROOT_GID=500
|
||||
CONFIG_INITRAMFS_ROOT_UID=500
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
CONFIG_INPUT=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_JOYSTICK=y
|
||||
CONFIG_INPUT_MOUSEDEV=y
|
||||
CONFIG_INPUT_MOUSEDEV_PSAUX=y
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
||||
# CONFIG_INPUT_YEALINK is not set
|
||||
CONFIG_IOMMU_HELPER=y
|
||||
# CONFIG_IOMMU_VMERGE is not set
|
||||
# CONFIG_IPIC is not set
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
# CONFIG_IRQSTACKS is not set
|
||||
# CONFIG_IRQ_ALL_CPUS is not set
|
||||
CONFIG_IRQ_PER_CPU=y
|
||||
CONFIG_ISA_DMA_API=y
|
||||
# CONFIG_ISDN is not set
|
||||
CONFIG_ISO9660_FS=y
|
||||
CONFIG_JBD=y
|
||||
CONFIG_JBD2=y
|
||||
# CONFIG_JOYSTICK_A3D is not set
|
||||
# CONFIG_JOYSTICK_ADI is not set
|
||||
# CONFIG_JOYSTICK_ANALOG is not set
|
||||
# CONFIG_JOYSTICK_COBRA is not set
|
||||
# CONFIG_JOYSTICK_GF2K is not set
|
||||
# CONFIG_JOYSTICK_GRIP is not set
|
||||
# CONFIG_JOYSTICK_GRIP_MP is not set
|
||||
# CONFIG_JOYSTICK_GUILLEMOT is not set
|
||||
# CONFIG_JOYSTICK_IFORCE is not set
|
||||
# CONFIG_JOYSTICK_INTERACT is not set
|
||||
# CONFIG_JOYSTICK_JOYDUMP is not set
|
||||
# CONFIG_JOYSTICK_MAGELLAN is not set
|
||||
# CONFIG_JOYSTICK_SIDEWINDER is not set
|
||||
# CONFIG_JOYSTICK_SPACEBALL is not set
|
||||
# CONFIG_JOYSTICK_SPACEORB is not set
|
||||
# CONFIG_JOYSTICK_STINGER is not set
|
||||
# CONFIG_JOYSTICK_TMDC is not set
|
||||
# CONFIG_JOYSTICK_TWIDJOY is not set
|
||||
# CONFIG_JOYSTICK_WARRIOR is not set
|
||||
# CONFIG_JOYSTICK_XPAD is not set
|
||||
# CONFIG_JOYSTICK_ZHENHUA is not set
|
||||
CONFIG_KERNEL_START=0xc000000000000000
|
||||
CONFIG_KEXEC=y
|
||||
# CONFIG_LEDS_TRIGGERS is not set
|
||||
CONFIG_LOCK_KERNEL=y
|
||||
# CONFIG_LOGO is not set
|
||||
CONFIG_LOG_BUF_SHIFT=15
|
||||
# CONFIG_MACINTOSH_DRIVERS is not set
|
||||
CONFIG_MEMORY_HOTPLUG=y
|
||||
CONFIG_MEMORY_HOTPLUG_SPARSE=y
|
||||
# CONFIG_MEMORY_HOTREMOVE is not set
|
||||
CONFIG_MIGRATION=y
|
||||
# CONFIG_MINI_FO is not set
|
||||
# CONFIG_MISC_DEVICES is not set
|
||||
# CONFIG_MMIO_NVRAM is not set
|
||||
# CONFIG_MPIC is not set
|
||||
# CONFIG_MPIC_WEIRD is not set
|
||||
CONFIG_MSDOS_FS=y
|
||||
# CONFIG_MTD is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
# CONFIG_NETWORK_FILESYSTEMS is not set
|
||||
# CONFIG_NET_ETHERNET is not set
|
||||
CONFIG_NLS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_NR_CPUS=2
|
||||
# CONFIG_NUMA is not set
|
||||
CONFIG_OF=y
|
||||
CONFIG_OF_DEVICE=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_PAGEFLAGS_EXTENDED=y
|
||||
CONFIG_PAGE_OFFSET=0xc000000000000000
|
||||
# CONFIG_PARTITION_ADVANCED is not set
|
||||
# CONFIG_PCI_DOMAINS is not set
|
||||
# CONFIG_PCI_SYSCALL is not set
|
||||
CONFIG_PHYSICAL_START=0x00000000
|
||||
CONFIG_PHYS_ADDR_T_64BIT=y
|
||||
CONFIG_POWER3=y
|
||||
CONFIG_POWER4=y
|
||||
# CONFIG_POWER4_ONLY is not set
|
||||
CONFIG_PPC=y
|
||||
CONFIG_PPC64=y
|
||||
# CONFIG_PPC_970_NAP is not set
|
||||
CONFIG_PPC_BOOK3S=y
|
||||
CONFIG_PPC_CELL=y
|
||||
# CONFIG_PPC_CELLEB is not set
|
||||
# CONFIG_PPC_CELL_NATIVE is not set
|
||||
# CONFIG_PPC_CELL_QPACE is not set
|
||||
# CONFIG_PPC_CLOCK is not set
|
||||
# CONFIG_PPC_DCR_MMIO is not set
|
||||
# CONFIG_PPC_DCR_NATIVE is not set
|
||||
# CONFIG_PPC_EARLY_DEBUG is not set
|
||||
CONFIG_PPC_FPU=y
|
||||
# CONFIG_PPC_HAS_HASH_64K is not set
|
||||
# CONFIG_PPC_I8259 is not set
|
||||
# CONFIG_PPC_IBM_CELL_BLADE is not set
|
||||
# CONFIG_PPC_INDIRECT_IO is not set
|
||||
# CONFIG_PPC_ISERIES is not set
|
||||
# CONFIG_PPC_MAPLE is not set
|
||||
# CONFIG_PPC_MM_SLICES is not set
|
||||
# CONFIG_PPC_MPC106 is not set
|
||||
CONFIG_PPC_OF=y
|
||||
# CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set
|
||||
# CONFIG_PPC_PASEMI is not set
|
||||
CONFIG_PPC_PCI_CHOICE=y
|
||||
# CONFIG_PPC_PMAC is not set
|
||||
CONFIG_PPC_PS3=y
|
||||
# CONFIG_PPC_PSERIES is not set
|
||||
# CONFIG_PPC_RTAS is not set
|
||||
CONFIG_PPC_STD_MMU=y
|
||||
CONFIG_PPC_STD_MMU_64=y
|
||||
# CONFIG_PPC_UDBG_16550 is not set
|
||||
# CONFIG_PQ2ADS is not set
|
||||
CONFIG_PRINT_STACK_DEPTH=64
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_PROC_PAGE_MONITOR=y
|
||||
CONFIG_PS3_ADVANCED=y
|
||||
CONFIG_PS3_DISK=y
|
||||
# CONFIG_PS3_DYNAMIC_DMA is not set
|
||||
CONFIG_PS3_FLASH=y
|
||||
CONFIG_PS3_HTAB_SIZE=20
|
||||
# CONFIG_PS3_LPM is not set
|
||||
CONFIG_PS3_PS3AV=y
|
||||
CONFIG_PS3_ROM=y
|
||||
CONFIG_PS3_STORAGE=y
|
||||
CONFIG_PS3_SYS_MANAGER=y
|
||||
# CONFIG_PS3_VRAM is not set
|
||||
CONFIG_PS3_VUART=y
|
||||
# CONFIG_RD_LZMA is not set
|
||||
# CONFIG_RELOCATABLE is not set
|
||||
# CONFIG_RT_GROUP_SCHED is not set
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
# CONFIG_SCHED_HRTICK is not set
|
||||
CONFIG_SCHED_OMIT_FRAME_POINTER=y
|
||||
# CONFIG_SCHED_SMT is not set
|
||||
CONFIG_SCSI=y
|
||||
# CONFIG_SCSI_LOWLEVEL is not set
|
||||
# CONFIG_SCSI_PROC_FS is not set
|
||||
# CONFIG_SERIAL_8250 is not set
|
||||
# CONFIG_SLOW_WORK is not set
|
||||
CONFIG_SMP=y
|
||||
CONFIG_SPARSEMEM=y
|
||||
CONFIG_SPARSEMEM_EXTREME=y
|
||||
CONFIG_SPARSEMEM_MANUAL=y
|
||||
# CONFIG_SPARSEMEM_VMEMMAP is not set
|
||||
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
|
||||
# CONFIG_SPU_BASE is not set
|
||||
# CONFIG_SPU_FS is not set
|
||||
# CONFIG_SQUASHFS is not set
|
||||
CONFIG_STOP_MACHINE=y
|
||||
# CONFIG_SWAP is not set
|
||||
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
|
||||
CONFIG_SYSVIPC_COMPAT=y
|
||||
# CONFIG_TEXTSEARCH is not set
|
||||
CONFIG_TRACING_SUPPORT=y
|
||||
CONFIG_TUNE_CELL=y
|
||||
# CONFIG_U3_DART is not set
|
||||
CONFIG_USB=y
|
||||
# CONFIG_USB_DEVICEFS is not set
|
||||
CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_HCD_PPC_OF=y
|
||||
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
|
||||
CONFIG_USB_HID=y
|
||||
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
|
||||
CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
# CONFIG_USB_OHCI_HCD_PPC_OF is not set
|
||||
CONFIG_USB_STORAGE=y
|
||||
# CONFIG_USB_STORAGE_ALAUDA is not set
|
||||
# CONFIG_USB_STORAGE_DATAFAB is not set
|
||||
# CONFIG_USB_STORAGE_FREECOM is not set
|
||||
# CONFIG_USB_STORAGE_JUMPSHOT is not set
|
||||
# CONFIG_USB_STORAGE_KARMA is not set
|
||||
# CONFIG_USB_STORAGE_SDDR09 is not set
|
||||
# CONFIG_USB_STORAGE_SDDR55 is not set
|
||||
# CONFIG_USB_STORAGE_USBAT is not set
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USER_SCHED=y
|
||||
CONFIG_USE_GENERIC_SMP_HELPERS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_VIDEO_OUTPUT_CONTROL=y
|
||||
CONFIG_VIRT_CPU_ACCOUNTING=y
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_VSX is not set
|
||||
CONFIG_VT=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_WIRELESS is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
CONFIG_WORD_SIZE=64
|
||||
# CONFIG_ZISOFS is not set
|
|
@ -0,0 +1,89 @@
|
|||
Subject: net/ps3_gelic: Fix RX DMA restart
|
||||
|
||||
Fix the condition where PS3 network RX hangs when no network
|
||||
TX is occuring by calling gelic_card_enable_rxdmac() during
|
||||
RX_DMA_CHAIN_END event processing.
|
||||
|
||||
The gelic hardware automatically clears its RX_DMA_EN flag when
|
||||
it detects an RX_DMA_CHAIN_END event. In its processing of
|
||||
RX_DMA_CHAIN_END the gelic driver is required to set RX_DMA_EN
|
||||
(with a call to gelic_card_enable_rxdmac()) to restart RX DMA
|
||||
transfers. The existing gelic driver code does not set
|
||||
RX_DMA_EN directly in its processing of the RX_DMA_CHAIN_END
|
||||
event, but uses a flag variable card->rx_dma_restart_required
|
||||
to schedule the setting of RX_DMA_EN until next inside the
|
||||
interrupt handler.
|
||||
|
||||
It seems this delayed setting of RX_DMA_EN causes the hang since
|
||||
the next RX interrupt after the RX_DMA_CHAIN_END event where
|
||||
RX_DMA_EN is scheduled to be set will not occur since RX_DMA_EN
|
||||
was not set. In the case were network TX is occuring, RX_DMA_EN
|
||||
is set in the next TX interrupt and RX processing continues.
|
||||
|
||||
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
|
||||
---
|
||||
drivers/net/ps3_gelic_net.c | 21 ++++++++-------------
|
||||
drivers/net/ps3_gelic_net.h | 1 -
|
||||
2 files changed, 8 insertions(+), 14 deletions(-)
|
||||
|
||||
--- a/drivers/net/ps3_gelic_net.c
|
||||
+++ b/drivers/net/ps3_gelic_net.c
|
||||
@@ -970,10 +970,6 @@ static int gelic_card_decode_one_descr(s
|
||||
int dmac_chain_ended;
|
||||
|
||||
status = gelic_descr_get_status(descr);
|
||||
- /* is this descriptor terminated with next_descr == NULL? */
|
||||
- dmac_chain_ended =
|
||||
- be32_to_cpu(descr->dmac_cmd_status) &
|
||||
- GELIC_DESCR_RX_DMA_CHAIN_END;
|
||||
|
||||
if (status == GELIC_DESCR_DMA_CARDOWNED)
|
||||
return 0;
|
||||
@@ -1036,6 +1032,11 @@ static int gelic_card_decode_one_descr(s
|
||||
/* ok, we've got a packet in descr */
|
||||
gelic_net_pass_skb_up(descr, card, netdev);
|
||||
refill:
|
||||
+
|
||||
+ /* is the current descriptor terminated with next_descr == NULL? */
|
||||
+ dmac_chain_ended =
|
||||
+ be32_to_cpu(descr->dmac_cmd_status) &
|
||||
+ GELIC_DESCR_RX_DMA_CHAIN_END;
|
||||
/*
|
||||
* So that always DMAC can see the end
|
||||
* of the descriptor chain to avoid
|
||||
@@ -1064,10 +1065,9 @@ refill:
|
||||
* If dmac chain was met, DMAC stopped.
|
||||
* thus re-enable it
|
||||
*/
|
||||
- if (dmac_chain_ended) {
|
||||
- card->rx_dma_restart_required = 1;
|
||||
- dev_dbg(ctodev(card), "reenable rx dma scheduled\n");
|
||||
- }
|
||||
+
|
||||
+ if (dmac_chain_ended)
|
||||
+ gelic_card_enable_rxdmac(card);
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -1133,11 +1133,6 @@ static irqreturn_t gelic_card_interrupt(
|
||||
|
||||
status &= card->irq_mask;
|
||||
|
||||
- if (card->rx_dma_restart_required) {
|
||||
- card->rx_dma_restart_required = 0;
|
||||
- gelic_card_enable_rxdmac(card);
|
||||
- }
|
||||
-
|
||||
if (status & GELIC_CARD_RXINT) {
|
||||
gelic_card_rx_irq_off(card);
|
||||
napi_schedule(&card->napi);
|
||||
--- a/drivers/net/ps3_gelic_net.h
|
||||
+++ b/drivers/net/ps3_gelic_net.h
|
||||
@@ -284,7 +284,6 @@ struct gelic_card {
|
||||
|
||||
struct gelic_descr_chain tx_chain;
|
||||
struct gelic_descr_chain rx_chain;
|
||||
- int rx_dma_restart_required;
|
||||
int rx_csum;
|
||||
/*
|
||||
* tx_lock guards tx descriptor list and
|
Loading…
Reference in a new issue