]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- patches from LKML.
authorcieciwa <cieciwa@pld-linux.org>
Tue, 21 Oct 2003 11:10:07 +0000 (11:10 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    2.6.0-t8-linuxTV-1of3-lkml.patch -> 1.1
    2.6.0-t8-linuxTV-2of3-lkml.patch -> 1.1
    2.6.0-t8-linuxTV-3of3-lkml.patch -> 1.1
    2.6.0-t8-pci_dma_sync_to_device-lkml.patch -> 1.1

2.6.0-t8-linuxTV-1of3-lkml.patch [new file with mode: 0644]
2.6.0-t8-linuxTV-2of3-lkml.patch [new file with mode: 0644]
2.6.0-t8-linuxTV-3of3-lkml.patch [new file with mode: 0644]
2.6.0-t8-pci_dma_sync_to_device-lkml.patch [new file with mode: 0644]

diff --git a/2.6.0-t8-linuxTV-1of3-lkml.patch b/2.6.0-t8-linuxTV-1of3-lkml.patch
new file mode 100644 (file)
index 0000000..3d04366
--- /dev/null
@@ -0,0 +1,95 @@
+diff -u linux/drivers/media/dvb/dvb-core/dvb_demux.c:1.38 linux/drivers/media/dvb/dvb-core/dvb_demux.c:1.39
+--- linux/drivers/media/dvb/dvb-core/dvb_demux.c:1.38  Mon Oct 13 02:34:51 2003
++++ linux/drivers/media/dvb/dvb-core/dvb_demux.c       Thu Oct 16 10:36:58 2003
+@@ -107,7 +107,7 @@
+ {
+       u32 crc;
+-      crc = crc32_le(~0, data, length);
++      crc = crc32_be(~0, data, length);
+       data[length]   = (crc >> 24) & 0xff;
+       data[length+1] = (crc >> 16) & 0xff;
+@@ -118,7 +118,7 @@
+ static u32 dvb_dmx_crc32 (struct dvb_demux_feed *f, const u8 *src, size_t len)
+ {
+-      return (f->feed.sec.crc_val = crc32_le (f->feed.sec.crc_val, src, len));
++      return (f->feed.sec.crc_val = crc32_be (f->feed.sec.crc_val, src, len));
+ }
+
+
+diff -u linux/drivers/media/dvb/frontends/tda1004x.c:1.7 linux/drivers/media/dvb/frontends/tda1004x.c:1.8
+--- linux/drivers/media/dvb/frontends/tda1004x.c:1.7   Thu Oct  9 01:12:46 2003
++++ linux/drivers/media/dvb/frontends/tda1004x.c       Thu Oct 16 10:40:02 2003
+@@ -44,12 +44,12 @@
+ #include "dvb_frontend.h"
+ #include "dvb_functions.h"
+-#ifndef CONFIG_TDA1004X_MC_LOCATION
+-#define CONFIG_TDA1004X_MC_LOCATION "/etc/dvb/tda1004x.mc"
++#ifndef DVB_TDA1004X_FIRMWARE_FILE
++#define DVB_TDA1004X_FIRMWARE_FILE "/etc/dvb/tda1004x.mc"
+ #endif
+ static int tda1004x_debug = 0;
+-static char *tda1004x_firmware = CONFIG_TDA1004X_MC_LOCATION;
++static char *tda1004x_firmware = DVB_TDA1004X_FIRMWARE_FILE;
+ #define TDA10045H_ADDRESS        0x08
+diff -u linux/drivers/media/dvb/ttpci/av7110.c:1.90 linux/drivers/media/dvb/ttpci/av7110.c:1.91
+--- linux/drivers/media/dvb/ttpci/av7110.c:1.90        Wed Oct 15 12:06:04 2003
++++ linux/drivers/media/dvb/ttpci/av7110.c     Fri Oct 17 19:01:24 2003
+@@ -4498,6 +4498,30 @@
+       0x1d, 0x00,
+       0x1e, 0x00,
++      0x41, 0x77,
++      0x42, 0x77,
++      0x43, 0x77,
++      0x44, 0x77,
++      0x45, 0x77,
++      0x46, 0x77,
++      0x47, 0x77,
++      0x48, 0x77,
++      0x49, 0x77,
++      0x4a, 0x77,
++      0x4b, 0x77,
++      0x4c, 0x77,
++      0x4d, 0x77,
++      0x4e, 0x77,
++      0x4f, 0x77,
++      0x50, 0x77,
++      0x51, 0x77,
++      0x52, 0x77,
++      0x53, 0x77,
++      0x54, 0x77,
++      0x55, 0x77,
++      0x56, 0x77,
++      0x57, 0xff,
++      
+       0xff
+ };
+diff -u linux/drivers/media/dvb/ttpci/av7110_firm.h:1.18 linux/drivers/media/dvb/ttpci/av7110_firm.h:1.19
+--- linux/drivers/media/dvb/ttpci/av7110_firm.h:1.18   Mon Oct 13 19:46:23 2003
++++ linux/drivers/media/dvb/ttpci/av7110_firm.h        Mon Oct 20 17:33:17 2003
+@@ -1,7 +1,7 @@
+ #include <asm/types.h>
+-u8 Dpram [] __initdata = {
++static u8 Dpram [] = {
+       0xe5, 0x9f, 0xf0, 0x1c, 0xe1, 0xb0, 0xf0, 0x0e, 
+       0xe5, 0x9f, 0xf0, 0x18, 0xe2, 0x5e, 0xf0, 0x04, 
+       0xe2, 0x5e, 0xf0, 0x08, 0xe1, 0xa0, 0x00, 0x00, 
+@@ -41,7 +41,7 @@
+ };
+-u8 Root [] __initdata = {
++static u8 Root [] = {
+       0xb4, 0x90, 0x49, 0x18, 0x1c, 0x0b, 0x4a, 0x18, 
+       0x1a, 0x50, 0x4f, 0x18, 0x1a, 0x79, 0x10, 0x8f, 
+       0x21, 0x00, 0x2f, 0x00, 0xdd, 0x04, 0xcb, 0x10, 
diff --git a/2.6.0-t8-linuxTV-2of3-lkml.patch b/2.6.0-t8-linuxTV-2of3-lkml.patch
new file mode 100644 (file)
index 0000000..c1a6346
--- /dev/null
@@ -0,0 +1,16 @@
+diff -ura xx-linux-2.6.0-test8/drivers/media/common/saa7146_i2c.c linux-2.6.0-test8-p/drivers/media/common/saa7146_i2c.c
+--- xx-linux-2.6.0-test8/drivers/media/common/saa7146_i2c.c    2003-10-09 10:39:08.000000000 +0200
++++ linux-2.6.0-test8-p/drivers/media/common/saa7146_i2c.c     2003-10-21 11:21:36.000000000 +0200
+@@ -409,11 +409,8 @@
+       if( NULL != i2c_adapter ) {
+               memset(i2c_adapter,0,sizeof(struct i2c_adapter));
+               strcpy(i2c_adapter->name, dev->name);   
+-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0))
+-              i2c_adapter->data = dev;
+-#else
+               i2c_set_adapdata(i2c_adapter,dev);
+-#endif
++              i2c_adapter->class         = I2C_ADAP_CLASS_TV_ANALOG;
+               i2c_adapter->algo          = &saa7146_algo;
+               i2c_adapter->algo_data     = NULL;
+               i2c_adapter->id            = I2C_ALGO_SAA7146;
diff --git a/2.6.0-t8-linuxTV-3of3-lkml.patch b/2.6.0-t8-linuxTV-3of3-lkml.patch
new file mode 100644 (file)
index 0000000..1491a86
--- /dev/null
@@ -0,0 +1,65 @@
+diff -ura xx-linux-2.6.0-test8/drivers/media/video/tda9840.c linux-2.6.0-test8-p/drivers/media/video/tda9840.c
+--- xx-linux-2.6.0-test8/drivers/media/video/tda9840.c 2003-09-10 11:28:54.000000000 +0200
++++ linux-2.6.0-test8-p/drivers/media/video/tda9840.c  2003-10-21 11:21:02.000000000 +0200
+@@ -196,6 +196,7 @@
+               printk("tda9840.o: not enough kernel memory.\n");
+               return -ENOMEM;
+       }
++      memset(client, 0, sizeof(struct i2c_client));
+       
+       /* fill client structure */
+       sprintf(client->name,"tda9840 (0x%02x)", address);
+@@ -258,9 +259,7 @@
+ }
+ static struct i2c_driver driver = {
+-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,54)
+       .owner          = THIS_MODULE,
+-#endif
+       .name           = "tda9840 driver",
+       .id             = I2C_DRIVERID_TDA9840,
+       .flags          = I2C_DF_NOTIFY,
+diff -ura xx-linux-2.6.0-test8/drivers/media/video/tea6415c.c linux-2.6.0-test8-p/drivers/media/video/tea6415c.c
+--- xx-linux-2.6.0-test8/drivers/media/video/tea6415c.c        2003-09-10 11:28:54.000000000 +0200
++++ linux-2.6.0-test8-p/drivers/media/video/tea6415c.c 2003-10-21 11:20:48.000000000 +0200
+@@ -70,6 +70,7 @@
+         if (0 == client) {
+               return -ENOMEM;
+       }
++      memset(client, 0, sizeof(struct i2c_client));
+       /* fill client structure */
+       sprintf(client->name,"tea6415c (0x%02x)", address);
+@@ -207,9 +208,7 @@
+ }
+ static struct i2c_driver driver = {
+-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,54)
+       .owner          = THIS_MODULE,
+-#endif
+       .name           = "tea6415c driver",
+       .id             = I2C_DRIVERID_TEA6415C,
+       .flags          = I2C_DF_NOTIFY,
+diff -ura xx-linux-2.6.0-test8/drivers/media/video/tea6420.c linux-2.6.0-test8-p/drivers/media/video/tea6420.c
+--- xx-linux-2.6.0-test8/drivers/media/video/tea6420.c 2003-09-10 11:28:54.000000000 +0200
++++ linux-2.6.0-test8-p/drivers/media/video/tea6420.c  2003-10-21 11:20:56.000000000 +0200
+@@ -110,7 +110,8 @@
+         if (0 == client) {
+               return -ENOMEM;
+       }
+-      
++      memset(client, 0x0, sizeof(struct i2c_client)); 
++
+       /* fill client structure */
+       sprintf(client->name,"tea6420 (0x%02x)", address);
+       client->id = tea6420_id++;
+@@ -187,9 +188,7 @@
+ }
+ static struct i2c_driver driver = {
+-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,54)
+       .owner          = THIS_MODULE,
+-#endif
+       .name           = "tea6420 driver",
+       .id             = I2C_DRIVERID_TEA6420,
+       .flags          = I2C_DF_NOTIFY,
diff --git a/2.6.0-t8-pci_dma_sync_to_device-lkml.patch b/2.6.0-t8-pci_dma_sync_to_device-lkml.patch
new file mode 100644 (file)
index 0000000..f12765a
--- /dev/null
@@ -0,0 +1,81 @@
+--- linux-2.6.0-test8/include/asm-i386/dma-mapping.h   Wed Oct  8 21:24:53 2003
++++ v2.6.0-test8-md/include/asm-i386/dma-mapping.h     Tue Oct 21 10:56:45 2003
+@@ -92,6 +92,20 @@
+       flush_write_buffers();
+ }
++static inline void
++dma_sync_to_device_single(struct device *dev, dma_addr_t dma_handle, size_t size,
++              enum dma_data_direction direction)
++{
++      flush_write_buffers();
++}
++
++static inline void
++dma_sync_to_device_sg(struct device *dev, struct scatterlist *sg, int nelems,
++               enum dma_data_direction direction)
++{
++      flush_write_buffers();
++}
++
+ static inline int
+ dma_supported(struct device *dev, u64 mask)
+ {
+--- linux-2.6.0-test8/include/asm-generic/pci-dma-compat.h     Wed Oct  8 21:24:02 2003
++++ v2.6.0-test8-md/include/asm-generic/pci-dma-compat.h       Tue Oct 21 10:55:09 2003
+@@ -84,4 +84,18 @@
+       dma_sync_sg(hwdev == NULL ? NULL : &hwdev->dev, sg, nelems, (enum dma_data_direction)direction);
+ }
++static inline void
++pci_dma_sync_to_device_single(struct pci_dev *hwdev, dma_addr_t dma_handle,
++                  size_t size, int direction)
++{
++      dma_sync_to_device_single(hwdev == NULL ? NULL : &hwdev->dev, dma_handle, size, (enum dma_data_direction)direction);
++}
++
++static inline void
++pci_dma_sync_to_device_sg(struct pci_dev *hwdev, struct scatterlist *sg,
++              int nelems, int direction)
++{
++      dma_sync_to_device_sg(hwdev == NULL ? NULL : &hwdev->dev, sg, nelems, (enum dma_data_direction)direction);
++}
++
+ #endif
+--- linux-2.6.0-test8/Documentation/DMA-mapping.txt    Wed Oct  8 21:24:06 2003
++++ v2.6.0-test8-md/Documentation/DMA-mapping.txt      Tue Oct 21 11:27:17 2003
+@@ -543,8 +543,11 @@
+ all bus addresses.
+ If you need to use the same streaming DMA region multiple times and touch
+-the data in between the DMA transfers, just map it with
+-pci_map_{single,sg}, and after each DMA transfer call either:
++the data in between the DMA transfers, the buffer needs to be synced
++depending on the transfer direction.
++
++When reading from the device, just map it with pci_map_{single,sg},
++and after each DMA transfer call either:
+       pci_dma_sync_single(dev, dma_handle, size, direction);
+@@ -553,6 +556,20 @@
+       pci_dma_sync_sg(dev, sglist, nents, direction);
+ as appropriate.
++
++When writing to the mapped the buffer, prepare the data and
++then before giving the buffer to the hardware call either:
++
++      pci_dma_sync_to_device_single(dev, dma_handle, size, direction);
++
++or:
++
++      pci_dma_sync_to_device_sg(dev, sglist, nents, direction);
++
++as appropriate.
++
++For bidirectional mappings the corresponding calls are required before and
++after passing ownership between cpu and hardware.
+ After the last DMA transfer call one of the DMA unmap routines
+ pci_unmap_{single,sg}. If you don't touch the data from the first pci_map_*
This page took 3.547886 seconds and 4 git commands to generate.