rpms/kernel/F-10 linux-2.6-iwlwifi-dma-direction.patch, NONE, 1.1 config-generic, 1.214, 1.215 config-x86-generic, 1.59, 1.60 kernel.spec, 1.1256, 1.1257 linux-2.6-at76.patch, 1.13, NONE

Chuck Ebbert cebbert at fedoraproject.org
Thu Feb 12 21:50:29 UTC 2009


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv18758

Modified Files:
	config-generic config-x86-generic kernel.spec 
Added Files:
	linux-2.6-iwlwifi-dma-direction.patch 
Removed Files:
	linux-2.6-at76.patch 
Log Message:
Enable AMD Geode scx200 i2c bus controller driver (F10#485162)
Fix iwlwifi DMA direction bug.
Drop linux-2.6-at76.patch in favor of version from drivers/staging (F10#477927)

linux-2.6-iwlwifi-dma-direction.patch:

--- NEW FILE linux-2.6-iwlwifi-dma-direction.patch ---
From: Fenghua Yu <fenghua.yu at intel.com>
Subject: [PATCH]iwlan dma mapping read and write changes
When iwlan runs on IOMMU, IOMMU generates a lot of PTE write faults because PTE
write bit is not set on some of PTE's. This is because iwlan driver calls DMA
mapping with PCI_DMA_TODEVICE which is read only in mapping PTE. But iwlan device
actually writes to the mapped page to update its contents. This issue is not
exposed in swiotlb. But VT-d hardware can capture this fault and stop the fault
transaction.

The following patch fixes the issue.

Signed-off-by: Fenghua Yu <fenghua.yu at intel.com>
Tested-by: Chris Wright <chrisw at sous-sol.org>
---

 iwl-tx.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

--- a/drivers/net/wireless/iwlwifi/iwl-tx.c.orig	2009-02-10 21:28:45.000000000 -0800
+++ b/drivers/net/wireless/iwlwifi/iwl-tx.c	2009-02-10 21:41:02.000000000 -0800
@@ -148,7 +148,7 @@ static void iwl_hw_txq_free_tfd(struct i
 		pci_unmap_single(dev,
 				pci_unmap_addr(&txq->cmd[index]->meta, mapping),
 				pci_unmap_len(&txq->cmd[index]->meta, len),
-				PCI_DMA_TODEVICE);
+				PCI_DMA_BIDIRECTIONAL);
 
 	/* Unmap chunks, if any. */
 	for (i = 1; i < num_tbs; i++) {
@@ -964,7 +964,7 @@ int iwl_tx_skb(struct iwl_priv *priv, st
 	 * within command buffer array. */
 	txcmd_phys = pci_map_single(priv->pci_dev,
 				    out_cmd, sizeof(struct iwl_cmd),
-				    PCI_DMA_TODEVICE);
+				    PCI_DMA_BIDIRECTIONAL);
 	pci_unmap_addr_set(&out_cmd->meta, mapping, txcmd_phys);
 	pci_unmap_len_set(&out_cmd->meta, len, sizeof(struct iwl_cmd));
 	/* Add buffer containing Tx command and MAC(!) header to TFD's
@@ -1115,7 +1115,7 @@ int iwl_enqueue_hcmd(struct iwl_priv *pr
 			IWL_MAX_SCAN_SIZE : sizeof(struct iwl_cmd);
 
 	phys_addr = pci_map_single(priv->pci_dev, out_cmd,
-				   len, PCI_DMA_TODEVICE);
+				   len, PCI_DMA_BIDIRECTIONAL);
 	pci_unmap_addr_set(&out_cmd->meta, mapping, phys_addr);
 	pci_unmap_len_set(&out_cmd->meta, len, len);
 	phys_addr += offsetof(struct iwl_cmd, hdr);
@@ -1212,7 +1212,7 @@ static void iwl_hcmd_queue_reclaim(struc
 	pci_unmap_single(priv->pci_dev,
 		pci_unmap_addr(&txq->cmd[cmd_idx]->meta, mapping),
 		pci_unmap_len(&txq->cmd[cmd_idx]->meta, len),
-		PCI_DMA_TODEVICE);
+		PCI_DMA_BIDIRECTIONAL);
 
 	for (idx = iwl_queue_inc_wrap(idx, q->n_bd); q->read_ptr != idx;
 	     q->read_ptr = iwl_queue_inc_wrap(q->read_ptr, q->n_bd)) {


Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/config-generic,v
retrieving revision 1.214
retrieving revision 1.215
diff -u -r1.214 -r1.215
--- config-generic	7 Feb 2009 16:48:57 -0000	1.214
+++ config-generic	12 Feb 2009 21:49:59 -0000	1.215
@@ -1438,7 +1438,6 @@
 CONFIG_RTL8180=m
 CONFIG_RTL8187=m
 CONFIG_TMD_HERMES=m
-CONFIG_USB_ATMEL=m
 CONFIG_USB_ZD1201=m
 CONFIG_USB_NET_RNDIS_WLAN=m
 CONFIG_ZD1211RW=m
@@ -3860,7 +3859,43 @@
 CONFIG_UWB_I1480U=m
 CONFIG_UWB_I1480U_WLP=m
 
-# CONFIG_STAGING is not set
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+# CONFIG_ET131X is not set
+# CONFIG_SLICOSS is not set
+# CONFIG_SXG is not set
+# CONFIG_ME4000 is not set
+# CONFIG_MEILHAUS is not set
+# CONFIG_VIDEO_GO7007 is not set
+# CONFIG_USB_IP_COMMON is not set
+# CONFIG_W35UND is not set
+# CONFIG_PRISM2_USB is not set
+# CONFIG_ECHO is not set
+CONFIG_USB_ATMEL=m
+# CONFIG_POCH is not set
+# CONFIG_AGNX is not set
+# CONFIG_OTUS is not set
+# CONFIG_RT2860 is not set
+# CONFIG_RT2870 is not set
+# CONFIG_BENET is not set
+# CONFIG_COMEDI is not set
+# CONFIG_ASUS_OLED is not set
+# CONFIG_PANEL is not set
+# CONFIG_ALTERA_PCIE_CHDMA is not set
+# CONFIG_RTL8187SE is not set
+# CONFIG_INPUT_MIMIO is not set
+# CONFIG_TRANZPORT is not set
+# CONFIG_EPL is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+# CONFIG_ANDROID_BINDER_IPC is not set
+# CONFIG_ANDROID_LOGGER is not set
+# CONFIG_ANDROID_RAM_CONSOLE is not set
+# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
+# CONFIG_ANDROID_TIMED_GPIO is not set
 
 # CONFIG_DEBUG_VIRTUAL is not set
 # CONFIG_RCU_CPU_STALL_DETECTOR is not set


Index: config-x86-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/config-x86-generic,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -r1.59 -r1.60
--- config-x86-generic	9 Feb 2009 21:10:49 -0000	1.59
+++ config-x86-generic	12 Feb 2009 21:49:59 -0000	1.60
@@ -269,6 +269,8 @@
 CONFIG_I2C_VIAPRO=m
 CONFIG_I2C_VOODOO3=m
 
+CONFIG_SCx200_ACB=m
+
 # CONFIG_X86_REBOOTFIXUPS is not set
 
 CONFIG_DELL_RBU=m


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1256
retrieving revision 1.1257
diff -u -r1.1256 -r1.1257
--- kernel.spec	12 Feb 2009 08:37:31 -0000	1.1256
+++ kernel.spec	12 Feb 2009 21:49:59 -0000	1.1257
@@ -626,7 +626,7 @@
 
 Patch682: linux-2.6-rt2x00-asus-leds.patch
 
-Patch690: linux-2.6-at76.patch
+Patch690: linux-2.6-iwlwifi-dma-direction.patch
 
 Patch1515: linux-2.6.29-lirc.patch
 Patch1520: linux-2.6-hdpvr.patch
@@ -1131,8 +1131,8 @@
 # rt2x00: back-port activity LED init patches
 ApplyPatch linux-2.6-rt2x00-asus-leds.patch
 
-# Add misc wireless bits from upstream wireless tree
-ApplyPatch linux-2.6-at76.patch
+# Intel wireless DMA fix
+ApplyPatch linux-2.6-iwlwifi-dma-direction.patch
 
 # http://www.lirc.org/
 ApplyPatch linux-2.6.29-lirc.patch
@@ -1745,6 +1745,11 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Thu Feb 12 2009 Chuck Ebbert <cebbert at redhat.com>  2.6.29-0.27.rc4.git4
+- Enable AMD Geode scx200 i2c bus controller driver (F10#485162)
+- Fix iwlwifi DMA direction bug.
+- Drop linux-2.6-at76.patch in favor of version from drivers/staging (F10#477927)
+
 * Thu Feb 12 2009 Chuck Ebbert <cebbert at redhat.com>  2.6.29-0.26.rc4.git4
 - 2.6.29-rc4-git4
 


--- linux-2.6-at76.patch DELETED ---




More information about the fedora-extras-commits mailing list