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)
Checks to see if the mask is possible and updates the device
parameters if it is.
Returns: 1 if successful and 0 if not
Returns: 0 if successful and a negative error if not.
u64
dma_get_required_mask(struct device *dev)
......
......@@ -27,6 +27,7 @@
.text
#ifdef CONFIG_6xx
.globl disable_6xx_mmu
disable_6xx_mmu:
/* Establish default MSR value, exception prefix 0xFFF.
......@@ -94,6 +95,7 @@ disable_6xx_l1cache:
sync
isync
blr
#endif
.globl _setup_L2CR
_setup_L2CR:
......
......@@ -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 */
polarity &= ~GET_DMA_POLARITY(dmanr);
polarity |= p_dma_ch->polarity;
polarity |= p_init->polarity;
#if DCRN_POL > 0
mtdcr(DCRN_POL, polarity);
#endif
......
......@@ -220,7 +220,7 @@ config VIDEO_ZR36120
config VIDEO_MEYE
tristate "Sony Vaio Picturebook Motion Eye Video For Linux"
depends on VIDEO_DEV && PCI && SONYPI && !HIGHMEM64G
depends on VIDEO_DEV && PCI && SONYPI
---help---
This is the video4linux driver for the Motion Eye camera found
in the Vaio Picturebook laptops. Please read the material in
......
......@@ -110,19 +110,20 @@ static void rvfree(void * mem, unsigned long size)
/*
* return a page table pointing to N pages of locked memory
*
* NOTE: The meye device expects dma_addr_t size to be 32 bits
* (the toc must be exactly 1024 entries each of them being 4 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
* NOTE: The meye device expects DMA addresses on 32 bits, we build
* a table of 1024 entries = 4 bytes * 1024 = 4096 bytes.
*/
static int ptable_alloc(void)
{
dma_addr_t *pt;
u32 *pt;
int i;
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,
PAGE_SIZE,
&meye.mchip_dmahandle,
......@@ -134,17 +135,19 @@ static int ptable_alloc(void)
pt = meye.mchip_ptable_toc;
for (i = 0; i < MCHIP_NB_PAGES; i++) {
dma_addr_t dma;
meye.mchip_ptable[i] = dma_alloc_coherent(&meye.mchip_dev->dev,
PAGE_SIZE,
pt,
&dma,
GFP_KERNEL);
if (!meye.mchip_ptable[i]) {
int j;
pt = meye.mchip_ptable_toc;
for (j = 0; j < i; ++j) {
dma = (dma_addr_t) *pt;
dma_free_coherent(&meye.mchip_dev->dev,
PAGE_SIZE,
meye.mchip_ptable[j], *pt);
meye.mchip_ptable[j], dma);
pt++;
}
dma_free_coherent(&meye.mchip_dev->dev,
......@@ -155,6 +158,7 @@ static int ptable_alloc(void)
meye.mchip_dmahandle = 0;
return -1;
}
*pt = (u32) dma;
pt++;
}
return 0;
......@@ -162,15 +166,16 @@ static int ptable_alloc(void)
static void ptable_free(void)
{
dma_addr_t *pt;
u32 *pt;
int i;
pt = meye.mchip_ptable_toc;
for (i = 0; i < MCHIP_NB_PAGES; i++) {
dma_addr_t dma = (dma_addr_t) *pt;
if (meye.mchip_ptable[i])
dma_free_coherent(&meye.mchip_dev->dev,
PAGE_SIZE,
meye.mchip_ptable[i], *pt);
meye.mchip_ptable[i], dma);
pt++;
}
......@@ -520,11 +525,11 @@ static void mchip_vrj_setup(u8 mode)
}
/* 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;
mchip_set(MCHIP_MM_PT_ADDR, dma_addr);
mchip_set(MCHIP_MM_PT_ADDR, (u32)dma_addr);
for (i = 0; i < 4; i++)
mchip_set(MCHIP_MM_FIR(i), 0);
meye.mchip_fnum = 0;
......
......@@ -31,7 +31,7 @@
#define _MEYE_PRIV_H_
#define MEYE_DRIVER_MAJORVERSION 1
#define MEYE_DRIVER_MINORVERSION 12
#define MEYE_DRIVER_MINORVERSION 13
#define MEYE_DRIVER_VERSION __stringify(MEYE_DRIVER_MAJORVERSION) "." \
__stringify(MEYE_DRIVER_MINORVERSION)
......@@ -294,7 +294,7 @@ struct meye {
u8 mchip_fnum; /* current mchip frame number */
unsigned char __iomem *mchip_mmregs;/* mchip: memory mapped registers */
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 */
unsigned char *grab_fbuffer; /* capture framebuffer */
unsigned char *grab_temp; /* temporary buffer */
......
......@@ -65,8 +65,8 @@ struct module *ip_conntrack_irc = THIS_MODULE;
#define DEBUGP(format, args...)
#endif
int parse_dcc(char *data, char *data_end, u_int32_t * ip, u_int16_t * port,
char **ad_beg_p, char **ad_end_p)
static int parse_dcc(char *data, char *data_end, u_int32_t *ip,
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
return value: -1 on failure, 0 on success
data pointer to first byte of DCC command data
......
......@@ -741,6 +741,7 @@ static int init_or_cleanup(int init)
goto cleanup_nothing;
#ifdef CONFIG_PROC_FS
ret = -ENOMEM;
proc = proc_net_fops_create("ip_conntrack", 0440, &ct_file_ops);
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