rpms/kernel/FC-4 jwltest-via-rhine-update.patch, NONE, 1.1.2.1 jwltest-acpi-dsdt-initrd.patch, 1.1.32.1, 1.1.32.2 kernel-2.6.spec, 1.1492.2.1, 1.1492.2.2 jwltest-libata-atapi.patch, 1.1.16.1, NONE jwltest-pci-d3hot-d0.patch, 1.1.22.1, NONE
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Mon Nov 7 20:54:40 UTC 2005
Author: linville
Update of /cvs/dist/rpms/kernel/FC-4
In directory cvs.devel.redhat.com:/tmp/cvs-serv17338
Modified Files:
Tag: private-linville-jwltest-fc4-22-branch
jwltest-acpi-dsdt-initrd.patch kernel-2.6.spec
Added Files:
Tag: private-linville-jwltest-fc4-22-branch
jwltest-via-rhine-update.patch
Removed Files:
Tag: private-linville-jwltest-fc4-22-branch
jwltest-libata-atapi.patch jwltest-pci-d3hot-d0.patch
Log Message:
jwltest-via-rhine-update.patch:
via-rhine.c | 38 ++++++++++++++++++++++++++++++++++----
1 files changed, 34 insertions(+), 4 deletions(-)
--- NEW FILE jwltest-via-rhine-update.patch ---
--- linux-2.6.14/drivers/net/via-rhine.c.orig 2005-11-07 15:52:47.000000000 -0500
+++ linux-2.6.14/drivers/net/via-rhine.c 2005-11-07 15:52:53.000000000 -0500
@@ -490,6 +490,8 @@ struct rhine_private {
u8 tx_thresh, rx_thresh;
struct mii_if_info mii_if;
+ struct work_struct tx_timeout_task;
+ struct work_struct check_media_task;
void __iomem *base;
};
@@ -497,6 +499,8 @@ static int mdio_read(struct net_device
static void mdio_write(struct net_device *dev, int phy_id, int location, int value);
static int rhine_open(struct net_device *dev);
static void rhine_tx_timeout(struct net_device *dev);
+static void rhine_tx_timeout_task(struct net_device *dev);
+static void rhine_check_media_task(struct net_device *dev);
static int rhine_start_tx(struct sk_buff *skb, struct net_device *dev);
static irqreturn_t rhine_interrupt(int irq, void *dev_instance, struct pt_regs *regs);
static void rhine_tx(struct net_device *dev);
@@ -814,8 +818,9 @@ static int __devinit rhine_init_one(stru
for (i = 0; i < 6; i++)
dev->dev_addr[i] = ioread8(ioaddr + StationAddr + i);
+ memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
- if (!is_valid_ether_addr(dev->dev_addr)) {
+ if (!is_valid_ether_addr(dev->perm_addr)) {
rc = -EIO;
printk(KERN_ERR "Invalid MAC address\n");
goto err_out_unmap;
@@ -850,6 +855,12 @@ static int __devinit rhine_init_one(stru
if (rp->quirks & rqRhineI)
dev->features |= NETIF_F_SG|NETIF_F_HW_CSUM;
+ INIT_WORK(&rp->tx_timeout_task,
+ (void (*)(void *))rhine_tx_timeout_task, dev);
+
+ INIT_WORK(&rp->check_media_task,
+ (void (*)(void *))rhine_check_media_task, dev);
+
/* dev->name not defined before register_netdev()! */
rc = register_netdev(dev);
if (rc)
@@ -1076,6 +1087,11 @@ static void rhine_check_media(struct net
ioaddr + ChipCmd1);
}
+static void rhine_check_media_task(struct net_device *dev)
+{
+ rhine_check_media(dev, 0);
+}
+
static void init_registers(struct net_device *dev)
{
struct rhine_private *rp = netdev_priv(dev);
@@ -1129,8 +1145,8 @@ static void rhine_disable_linkmon(void _
if (quirks & rqRhineI) {
iowrite8(0x01, ioaddr + MIIRegAddr); // MII_BMSR
- /* Can be called from ISR. Evil. */
- mdelay(1);
+ /* Do not call from ISR! */
+ msleep(1);
/* 0x80 must be set immediately before turning it off */
iowrite8(0x80, ioaddr + MIICmd);
@@ -1220,6 +1236,16 @@ static int rhine_open(struct net_device
static void rhine_tx_timeout(struct net_device *dev)
{
struct rhine_private *rp = netdev_priv(dev);
+
+ /*
+ * Move bulk of work outside of interrupt context
+ */
+ schedule_work(&rp->tx_timeout_task);
+}
+
+static void rhine_tx_timeout_task(struct net_device *dev)
+{
+ struct rhine_private *rp = netdev_priv(dev);
void __iomem *ioaddr = rp->base;
printk(KERN_WARNING "%s: Transmit timed out, status %4.4x, PHY status "
@@ -1625,7 +1651,7 @@ static void rhine_error(struct net_devic
spin_lock(&rp->lock);
if (intr_status & IntrLinkChange)
- rhine_check_media(dev, 0);
+ schedule_work(&rp->check_media_task);
if (intr_status & IntrStatsMax) {
rp->stats.rx_crc_errors += ioread16(ioaddr + RxCRCErrs);
rp->stats.rx_missed_errors += ioread16(ioaddr + RxMissed);
@@ -1829,6 +1855,7 @@ static struct ethtool_ops netdev_ethtool
.set_wol = rhine_set_wol,
.get_sg = ethtool_op_get_sg,
.get_tx_csum = ethtool_op_get_tx_csum,
+ .get_perm_addr = ethtool_op_get_perm_addr,
};
static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
@@ -1872,6 +1899,9 @@ static int rhine_close(struct net_device
spin_unlock_irq(&rp->lock);
free_irq(rp->pdev->irq, dev);
+
+ flush_scheduled_work();
+
free_rbufs(dev);
free_tbufs(dev);
free_ring(dev);
jwltest-acpi-dsdt-initrd.patch:
drivers/acpi/Kconfig | 13 +++++
drivers/acpi/osl.c | 104 +++++++++++++++++++++++++++++++++++++++-----
drivers/acpi/tables/tbget.c | 5 ++
init/main.c | 16 +++---
4 files changed, 120 insertions(+), 18 deletions(-)
Index: jwltest-acpi-dsdt-initrd.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/FC-4/Attic/jwltest-acpi-dsdt-initrd.patch,v
retrieving revision 1.1.32.1
retrieving revision 1.1.32.2
diff -u -r1.1.32.1 -r1.1.32.2
--- jwltest-acpi-dsdt-initrd.patch 7 Nov 2005 19:45:08 -0000 1.1.32.1
+++ jwltest-acpi-dsdt-initrd.patch 7 Nov 2005 20:54:37 -0000 1.1.32.2
@@ -1,6 +1,6 @@
---- linux-2.6.12/drivers/acpi/Kconfig.orig 2005-06-17 15:48:29.000000000 -0400
-+++ linux-2.6.12/drivers/acpi/Kconfig 2005-06-22 12:23:14.467811177 -0400
-@@ -352,4 +352,17 @@ config ACPI_HOTPLUG_MEMORY
+--- linux-2.6.14/drivers/acpi/Kconfig.orig 2005-11-07 15:45:19.000000000 -0500
++++ linux-2.6.14/drivers/acpi/Kconfig 2005-11-07 15:45:27.000000000 -0500
+@@ -341,4 +341,17 @@ config ACPI_HOTPLUG_MEMORY
$>modprobe acpi_memhotplug
endif # ACPI
@@ -11,37 +11,30 @@
+ help
+ The DSDT (Differentiated System Description Table) often needs to be
+ overridden because of broken BIOS implementations. If you want to use
-+ a customized DSDT, please use the mkinitrd tool (mkinitrd package) to
++ a customized DSDT, please use the mkinitrd tool (mkinitrd package) to
+ attach the DSDT to the initrd or initramfs
+ (see http://gaugusch.at/kernel.shtml for details)
+ If there is no DSDT found in the initrd, the DSDT from the BIOS is
+ used. It is save to say yes here.
+
endmenu
---- linux-2.6.12/drivers/acpi/osl.c.orig 2005-06-17 15:48:29.000000000 -0400
-+++ linux-2.6.12/drivers/acpi/osl.c 2005-06-22 12:23:14.469810910 -0400
-@@ -44,7 +44,10 @@
+--- linux-2.6.14/drivers/acpi/osl.c.orig 2005-11-07 15:45:19.000000000 -0500
++++ linux-2.6.14/drivers/acpi/osl.c 2005-11-07 15:45:27.000000000 -0500
+@@ -44,6 +44,10 @@
#include <asm/uaccess.h>
#include <linux/efi.h>
--
+#ifdef CONFIG_ACPI_INITRD
+#include<linux/syscalls.h>
+#include <linux/initrd.h>
+#endif
#define _COMPONENT ACPI_OS_SERVICES
- ACPI_MODULE_NAME ("osl")
-@@ -246,25 +249,105 @@ acpi_os_predefined_override (const struc
+ ACPI_MODULE_NAME("osl")
+@@ -244,24 +248,104 @@ acpi_os_predefined_override(const struct
return AE_OK;
}
--acpi_status
--acpi_os_table_override (struct acpi_table_header *existing_table,
-- struct acpi_table_header **new_table)
--{
-- if (!existing_table || !new_table)
-- return AE_BAD_PARAMETER;
+#ifdef CONFIG_ACPI_INITRD
+static char *
+acpi_find_dsdt_initrd(void)
@@ -71,16 +64,12 @@
+ }
+ data++;
+ }
-
--#ifdef CONFIG_ACPI_CUSTOM_DSDT
-- if (strncmp(existing_table->signature, "DSDT", 4) == 0)
-- *new_table = (struct acpi_table_header*)AmlCode;
-- else
++
+ if (dsdt_start){
+ printk(PREFIX " found at offset %zu",
+ dsdt_start - (char *)initrd_start);
+ len = (char*) initrd_end - dsdt_start;
-+ printk(", size: %lu bytes\n", len);
++ printk(", size: %zu bytes\n", len);
+ dsdt_buffer = ACPI_MEM_ALLOCATE(len + 1);
+ memcpy(dsdt_buffer, dsdt_start, len);
+ *(dsdt_buffer + len + 1)= '\0';
@@ -124,67 +113,56 @@
+}
+#endif
+
-+acpi_status
-+ acpi_os_table_override (struct acpi_table_header *existing_table,
-+ struct acpi_table_header **new_table)
-+ {
-+ if (!existing_table || !new_table)
-+ return AE_BAD_PARAMETER;
-+
- *new_table = NULL;
+ acpi_status
+-acpi_os_table_override(struct acpi_table_header * existing_table,
+- struct acpi_table_header ** new_table)
++acpi_os_table_override (struct acpi_table_header *existing_table,
++ struct acpi_table_header **new_table)
+ {
+ if (!existing_table || !new_table)
+ return AE_BAD_PARAMETER;
+-
+-#ifdef CONFIG_ACPI_CUSTOM_DSDT
+- if (strncmp(existing_table->signature, "DSDT", 4) == 0)
+- *new_table = (struct acpi_table_header *)AmlCode;
+- else
+- *new_table = NULL;
-#else
-- *new_table = NULL;
-+ if (strncmp(existing_table->signature, "DSDT", 4) == 0) {
++
+ *new_table = NULL;
++ if (strncmp(existing_table->signature, "DSDT", 4) == 0) {
+#ifdef CONFIG_ACPI_CUSTOM_DSDT
-+ *new_table = (struct acpi_table_header*)AmlCode;
++ *new_table = (struct acpi_table_header*)AmlCode;
+#elif defined(CONFIG_ACPI_INITRD)
-+ *new_table = (struct acpi_table_header*)acpi_find_dsdt_initrd();
++ *new_table = (struct acpi_table_header*)acpi_find_dsdt_initrd();
#endif
-+ if (*new_table)
-+ printk(KERN_INFO PREFIX "Using customized DSDT\n");
-+ }
++ if (*new_table)
++ printk(KERN_INFO PREFIX "Using customized DSDT\n");
++ }
return AE_OK;
--}
+ }
-
--static irqreturn_t
-+ }
+
-+ static irqreturn_t
- acpi_irq(int irq, void *dev_id, struct pt_regs *regs)
+ static irqreturn_t acpi_irq(int irq, void *dev_id, struct pt_regs *regs)
{
- return (*acpi_irq_handler)(acpi_irq_context) ? IRQ_HANDLED : IRQ_NONE;
---- linux-2.6.12/drivers/acpi/tables/tbget.c.orig 2005-06-17 15:48:29.000000000 -0400
-+++ linux-2.6.12/drivers/acpi/tables/tbget.c 2005-06-22 12:23:14.471810644 -0400
-@@ -45,7 +45,6 @@
- #include <acpi/acpi.h>
- #include <acpi/actables.h>
-
--
- #define _COMPONENT ACPI_TABLES
- ACPI_MODULE_NAME ("tbget")
-
-@@ -287,12 +286,17 @@ acpi_tb_table_override (
- acpi_format_exception (status)));
- return_ACPI_STATUS (status);
- }
--
-+
- /* Copy the table info */
-
- ACPI_REPORT_INFO (("Table [%4.4s] replaced by host OS\n",
- table_info->pointer->signature));
+ return (*acpi_irq_handler) (acpi_irq_context) ? IRQ_HANDLED : IRQ_NONE;
+--- linux-2.6.14/drivers/acpi/tables/tbget.c.orig 2005-11-07 15:46:15.000000000 -0500
++++ linux-2.6.14/drivers/acpi/tables/tbget.c 2005-11-07 15:46:08.000000000 -0500
+@@ -283,6 +283,11 @@ acpi_tb_table_override(struct acpi_table
+ ACPI_REPORT_INFO(("Table [%4.4s] replaced by host OS\n",
+ table_info->pointer->signature));
+#ifdef CONFIG_ACPI_INITRD
+ if (new_table)
+ ACPI_MEM_FREE(new_table);
+#endif
+
- return_ACPI_STATUS (AE_OK);
+ return_ACPI_STATUS(AE_OK);
}
---- linux-2.6.12/init/main.c.orig 2005-06-22 12:16:17.014413511 -0400
-+++ linux-2.6.12/init/main.c 2005-06-22 12:23:14.473810378 -0400
-@@ -520,8 +520,6 @@ asmlinkage void __init start_kernel(void
+--- linux-2.6.14/init/main.c.orig 2005-11-07 15:45:19.000000000 -0500
++++ linux-2.6.14/init/main.c 2005-11-07 15:45:27.000000000 -0500
+@@ -540,8 +540,6 @@ asmlinkage void __init start_kernel(void
check_bugs();
@@ -193,7 +171,7 @@
/* Do the rest non-__init'ed, we're now alive */
rest_init();
}
-@@ -651,6 +649,14 @@ static int init(void * unused)
+@@ -671,6 +669,14 @@ static int init(void * unused)
*/
child_reaper = current;
@@ -208,7 +186,7 @@
/* Sets up cpus_possible() */
smp_prepare_cpus(max_cpus);
-@@ -661,12 +667,6 @@ static int init(void * unused)
+@@ -682,12 +688,6 @@ static int init(void * unused)
cpuset_init_smp();
@@ -220,4 +198,4 @@
-
do_basic_setup();
- sched_init_smp();
+ /*
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/FC-4/kernel-2.6.spec,v
retrieving revision 1.1492.2.1
retrieving revision 1.1492.2.2
diff -u -r1.1492.2.1 -r1.1492.2.2
--- kernel-2.6.spec 7 Nov 2005 19:45:08 -0000 1.1492.2.1
+++ kernel-2.6.spec 7 Nov 2005 20:54:37 -0000 1.1492.2.2
@@ -307,6 +307,7 @@
Patch1305: jwltest-3c59x-misc.patch
Patch1306: jwltest-sundance-fixes.patch
Patch1307: jwltest-b44-alloc.patch
+Patch1308: jwltest-via-rhine-update.patch
Patch1400: linux-2.6-pcmcia-disable-warning.patch
@@ -367,8 +368,6 @@
Patch2001: linux-2.6-vm-silence-atomic-alloc-failures.patch
Patch2100: jwltest-acpi-dsdt-initrd.patch
-Patch2110: jwltest-libata-atapi.patch
-Patch2120: jwltest-pci-d3hot-d0.patch
#
# 10000 to 20000 is for stuff that has to come last due to the
@@ -725,6 +724,8 @@
%patch1306 -p1
# b44 dma alloc problems at open
%patch1307 -p1
+# update via-rhine from upstream
+%patch1308 -p1
# disable pcmcia warnings
%patch1400 -p1
@@ -825,10 +826,6 @@
# Add DSDT override from initrd
%patch2100 -p1
-# Enable libata ATAPI support
-%patch2110 -p1
-# avoid PCI config loss during enable from D3hot
-%patch2120 -p1
#
# Patches 5000 to 6000 are reserved for new drivers that are about to
--- jwltest-libata-atapi.patch DELETED ---
--- jwltest-pci-d3hot-d0.patch DELETED ---
More information about the fedora-cvs-commits
mailing list