Commit c40a48a4 authored by Steve French's avatar Steve French

Merge bk://linux.bkbits.net/linux-2.5

into bkbits.net:/repos/c/cifs/linux-2.5cifs
parents 8c7dc730 9d53e4dd
...@@ -160,7 +160,7 @@ pci_set_dma_mask(struct pci_device *dev, u64 mask) ...@@ -160,7 +160,7 @@ pci_set_dma_mask(struct pci_device *dev, u64 mask)
Checks to see if the mask is possible and updates the device Checks to see if the mask is possible and updates the device
parameters if it is. parameters if it is.
Returns: 1 if successful and 0 if not Returns: 0 if successful and a negative error if not.
u64 u64
dma_get_required_mask(struct device *dev) dma_get_required_mask(struct device *dev)
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
.text .text
#ifdef CONFIG_6xx
.globl disable_6xx_mmu .globl disable_6xx_mmu
disable_6xx_mmu: disable_6xx_mmu:
/* Establish default MSR value, exception prefix 0xFFF. /* Establish default MSR value, exception prefix 0xFFF.
...@@ -94,6 +95,7 @@ disable_6xx_l1cache: ...@@ -94,6 +95,7 @@ disable_6xx_l1cache:
sync sync
isync isync
blr blr
#endif
.globl _setup_L2CR .globl _setup_L2CR
_setup_L2CR: _setup_L2CR:
......
...@@ -466,7 +466,7 @@ ppc4xx_init_dma_channel(unsigned int dmanr, ppc_dma_ch_t * p_init) ...@@ -466,7 +466,7 @@ ppc4xx_init_dma_channel(unsigned int dmanr, ppc_dma_ch_t * p_init)
/* clear all polarity signals and then "or" in new signal levels */ /* clear all polarity signals and then "or" in new signal levels */
polarity &= ~GET_DMA_POLARITY(dmanr); polarity &= ~GET_DMA_POLARITY(dmanr);
polarity |= p_dma_ch->polarity; polarity |= p_init->polarity;
#if DCRN_POL > 0 #if DCRN_POL > 0
mtdcr(DCRN_POL, polarity); mtdcr(DCRN_POL, polarity);
#endif #endif
......
...@@ -220,7 +220,7 @@ config VIDEO_ZR36120 ...@@ -220,7 +220,7 @@ config VIDEO_ZR36120
config VIDEO_MEYE config VIDEO_MEYE
tristate "Sony Vaio Picturebook Motion Eye Video For Linux" tristate "Sony Vaio Picturebook Motion Eye Video For Linux"
depends on VIDEO_DEV && PCI && SONYPI && !HIGHMEM64G depends on VIDEO_DEV && PCI && SONYPI
---help--- ---help---
This is the video4linux driver for the Motion Eye camera found This is the video4linux driver for the Motion Eye camera found
in the Vaio Picturebook laptops. Please read the material in in the Vaio Picturebook laptops. Please read the material in
......
...@@ -110,19 +110,20 @@ static void rvfree(void * mem, unsigned long size) ...@@ -110,19 +110,20 @@ static void rvfree(void * mem, unsigned long size)
/* /*
* return a page table pointing to N pages of locked memory * return a page table pointing to N pages of locked memory
* *
* NOTE: The meye device expects dma_addr_t size to be 32 bits * NOTE: The meye device expects DMA addresses on 32 bits, we build
* (the toc must be exactly 1024 entries each of them being 4 bytes * a table of 1024 entries = 4 bytes * 1024 = 4096 bytes.
* in size, the whole result being 4096 bytes). We're using here
* dma_addr_t for correctness but the compilation of this driver is
* disabled for HIGHMEM64G=y, where sizeof(dma_addr_t) != 4
*/ */
static int ptable_alloc(void) static int ptable_alloc(void)
{ {
dma_addr_t *pt; u32 *pt;
int i; int i;
memset(meye.mchip_ptable, 0, sizeof(meye.mchip_ptable)); memset(meye.mchip_ptable, 0, sizeof(meye.mchip_ptable));
/* give only 32 bit DMA addresses */
if (dma_set_mask(&meye.mchip_dev->dev, 0xffffffff))
return -1;
meye.mchip_ptable_toc = dma_alloc_coherent(&meye.mchip_dev->dev, meye.mchip_ptable_toc = dma_alloc_coherent(&meye.mchip_dev->dev,
PAGE_SIZE, PAGE_SIZE,
&meye.mchip_dmahandle, &meye.mchip_dmahandle,
...@@ -134,17 +135,19 @@ static int ptable_alloc(void) ...@@ -134,17 +135,19 @@ static int ptable_alloc(void)
pt = meye.mchip_ptable_toc; pt = meye.mchip_ptable_toc;
for (i = 0; i < MCHIP_NB_PAGES; i++) { for (i = 0; i < MCHIP_NB_PAGES; i++) {
dma_addr_t dma;
meye.mchip_ptable[i] = dma_alloc_coherent(&meye.mchip_dev->dev, meye.mchip_ptable[i] = dma_alloc_coherent(&meye.mchip_dev->dev,
PAGE_SIZE, PAGE_SIZE,
pt, &dma,
GFP_KERNEL); GFP_KERNEL);
if (!meye.mchip_ptable[i]) { if (!meye.mchip_ptable[i]) {
int j; int j;
pt = meye.mchip_ptable_toc; pt = meye.mchip_ptable_toc;
for (j = 0; j < i; ++j) { for (j = 0; j < i; ++j) {
dma = (dma_addr_t) *pt;
dma_free_coherent(&meye.mchip_dev->dev, dma_free_coherent(&meye.mchip_dev->dev,
PAGE_SIZE, PAGE_SIZE,
meye.mchip_ptable[j], *pt); meye.mchip_ptable[j], dma);
pt++; pt++;
} }
dma_free_coherent(&meye.mchip_dev->dev, dma_free_coherent(&meye.mchip_dev->dev,
...@@ -155,6 +158,7 @@ static int ptable_alloc(void) ...@@ -155,6 +158,7 @@ static int ptable_alloc(void)
meye.mchip_dmahandle = 0; meye.mchip_dmahandle = 0;
return -1; return -1;
} }
*pt = (u32) dma;
pt++; pt++;
} }
return 0; return 0;
...@@ -162,15 +166,16 @@ static int ptable_alloc(void) ...@@ -162,15 +166,16 @@ static int ptable_alloc(void)
static void ptable_free(void) static void ptable_free(void)
{ {
dma_addr_t *pt; u32 *pt;
int i; int i;
pt = meye.mchip_ptable_toc; pt = meye.mchip_ptable_toc;
for (i = 0; i < MCHIP_NB_PAGES; i++) { for (i = 0; i < MCHIP_NB_PAGES; i++) {
dma_addr_t dma = (dma_addr_t) *pt;
if (meye.mchip_ptable[i]) if (meye.mchip_ptable[i])
dma_free_coherent(&meye.mchip_dev->dev, dma_free_coherent(&meye.mchip_dev->dev,
PAGE_SIZE, PAGE_SIZE,
meye.mchip_ptable[i], *pt); meye.mchip_ptable[i], dma);
pt++; pt++;
} }
...@@ -520,11 +525,11 @@ static void mchip_vrj_setup(u8 mode) ...@@ -520,11 +525,11 @@ static void mchip_vrj_setup(u8 mode)
} }
/* sets the DMA parameters into the chip */ /* sets the DMA parameters into the chip */
static void mchip_dma_setup(u32 dma_addr) static void mchip_dma_setup(dma_addr_t dma_addr)
{ {
int i; int i;
mchip_set(MCHIP_MM_PT_ADDR, dma_addr); mchip_set(MCHIP_MM_PT_ADDR, (u32)dma_addr);
for (i = 0; i < 4; i++) for (i = 0; i < 4; i++)
mchip_set(MCHIP_MM_FIR(i), 0); mchip_set(MCHIP_MM_FIR(i), 0);
meye.mchip_fnum = 0; meye.mchip_fnum = 0;
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#define _MEYE_PRIV_H_ #define _MEYE_PRIV_H_
#define MEYE_DRIVER_MAJORVERSION 1 #define MEYE_DRIVER_MAJORVERSION 1
#define MEYE_DRIVER_MINORVERSION 12 #define MEYE_DRIVER_MINORVERSION 13
#define MEYE_DRIVER_VERSION __stringify(MEYE_DRIVER_MAJORVERSION) "." \ #define MEYE_DRIVER_VERSION __stringify(MEYE_DRIVER_MAJORVERSION) "." \
__stringify(MEYE_DRIVER_MINORVERSION) __stringify(MEYE_DRIVER_MINORVERSION)
...@@ -294,7 +294,7 @@ struct meye { ...@@ -294,7 +294,7 @@ struct meye {
u8 mchip_fnum; /* current mchip frame number */ u8 mchip_fnum; /* current mchip frame number */
unsigned char __iomem *mchip_mmregs;/* mchip: memory mapped registers */ unsigned char __iomem *mchip_mmregs;/* mchip: memory mapped registers */
u8 *mchip_ptable[MCHIP_NB_PAGES];/* mchip: ptable */ u8 *mchip_ptable[MCHIP_NB_PAGES];/* mchip: ptable */
dma_addr_t *mchip_ptable_toc; /* mchip: ptable toc */ void *mchip_ptable_toc; /* mchip: ptable toc */
dma_addr_t mchip_dmahandle; /* mchip: dma handle to ptable toc */ dma_addr_t mchip_dmahandle; /* mchip: dma handle to ptable toc */
unsigned char *grab_fbuffer; /* capture framebuffer */ unsigned char *grab_fbuffer; /* capture framebuffer */
unsigned char *grab_temp; /* temporary buffer */ unsigned char *grab_temp; /* temporary buffer */
......
...@@ -65,8 +65,8 @@ struct module *ip_conntrack_irc = THIS_MODULE; ...@@ -65,8 +65,8 @@ struct module *ip_conntrack_irc = THIS_MODULE;
#define DEBUGP(format, args...) #define DEBUGP(format, args...)
#endif #endif
int parse_dcc(char *data, char *data_end, u_int32_t * ip, u_int16_t * port, static int parse_dcc(char *data, char *data_end, u_int32_t *ip,
char **ad_beg_p, char **ad_end_p) u_int16_t *port, char **ad_beg_p, char **ad_end_p)
/* tries to get the ip_addr and port out of a dcc command /* tries to get the ip_addr and port out of a dcc command
return value: -1 on failure, 0 on success return value: -1 on failure, 0 on success
data pointer to first byte of DCC command data data pointer to first byte of DCC command data
......
...@@ -741,6 +741,7 @@ static int init_or_cleanup(int init) ...@@ -741,6 +741,7 @@ static int init_or_cleanup(int init)
goto cleanup_nothing; goto cleanup_nothing;
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
ret = -ENOMEM;
proc = proc_net_fops_create("ip_conntrack", 0440, &ct_file_ops); proc = proc_net_fops_create("ip_conntrack", 0440, &ct_file_ops);
if (!proc) goto cleanup_init; if (!proc) goto cleanup_init;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment