Bug#717897: pulseaudio: Microphone does not work in Skype

2013-07-26 Thread Pavel Fedin
Package: pulseaudio
Version: 2.0-6.1
Severity: important

 Hello!

 I have installed Wheezy on my AspireOne and got infamous microphone does not
work problem.
 I have already looked up some other's experience on the Internet. But none
helped:
 1. GNOME sound recorder - works fine.
 2. PulseAudio volume meter - works fine, i see microphone input.
 3. PulseAudio volume control - works as described on the Internet. Its own
volume meter shows microphone input only if i set different volume on channels,
and only when some app is actualy consuming the input (e. g. volume meter is
running).
 4. Skype-specific settings in volume control (which appear on 'Recording' tab
while Skype is actually using the microphone) are OK, input set to 'Built-in
analog stereo', not to 'Monitor'. By the way, for testing i tried setting it to
'Monitor' and feed in some MP3. Skype test call reproduces the sound correctly
in this case.
 I have a suggestion that the problem occurs because Skype requests mono stream
(there is only one volume regulator for Skype's stream in puavcontrol). For
example, when Volume Monitor is run, it requests stereo stream, and i see two
regulators for L and R channels on 'Recording' tab. Perhaps it has the same
origin as non-working volume gauge when both mic channels are set to the same
level.



-- System Information:
Debian Release: 7.1
Architecture: i386 (i686)

Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages pulseaudio depends on:
ii  adduser   3.113+nmu3
ii  consolekit0.4.5-3.1
ii  libasound21.0.25-4
ii  libasound2-plugins1.0.25-2
ii  libc6 2.13-38
ii  libcap2   1:2.22-1.2
ii  libdbus-1-3   1.6.8-1
ii  libfftw3-33.3.2-3.1
ii  libgcc1   1:4.7.2-5
ii  libice6   2:1.0.8-2
ii  libltdl7  2.4.2-1.1
ii  liborc-0.4-0  1:0.4.16-2
ii  libpulse0 2.0-6.1
ii  libsamplerate00.1.8-5
ii  libsm62:1.2.1-2
ii  libsndfile1   1.0.25-5
ii  libspeexdsp1  1.2~rc1-7
ii  libstdc++64.7.2-5
ii  libsystemd-daemon044-11
ii  libsystemd-login0 44-11
ii  libtdb1   1.2.10-2
ii  libudev0  175-7.2
ii  libwebrtc-audio-processing-0  0.1-2
ii  libx11-6  2:1.5.0-1+deb7u1
ii  libx11-xcb1   2:1.5.0-1+deb7u1
ii  libxcb1   1.8.1-2+deb7u1
ii  libxtst6  2:1.2.1-1+deb7u1
ii  lsb-base  4.1+Debian8+deb7u1
ii  udev  175-7.2

Versions of packages pulseaudio recommends:
ii  gstreamer0.10-pulseaudio  0.10.31-3+nmu1
ii  pulseaudio-module-x11 2.0-6.1
ii  rtkit 0.10-2

Versions of packages pulseaudio suggests:
pn  paman none
pn  paprefs   none
ii  pavucontrol   1.0-1
ii  pavumeter 0.9.3-4
ii  pulseaudio-utils  2.0-6.1

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#717511: Kernel does not start up on Pegasos-2

2013-07-22 Thread Pavel Fedin
Hello, Milan.

22 июля 2013 г., 5:23:34, you wrote:


 User did not let installer to create default partition layout but 
 manually created incorrect one, or installed on a previously created 
 partitions and used ext4 and ext3 file-systems.

 Yes, exactly. Actually i agree, there's little to blame in Installer.
Only  one  small  thing  -  nobody  told me that my layout (previously
worked) became incorrect. Perhaps Installer should warn about it ?
 Or, we can consider one more corner case. What if i install the whole
OS to a single EXT2 partition ? Yes, again, i agree, you may ask Why,
EXT2  is  outdated  and  there's cool new EXT4. I have already said -
this is corner case.

-- 
Kind regards,
 Pavel  mailto:pavel_fe...@mail.ru


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#717511: Kernel does not start up on Pegasos-2

2013-07-21 Thread Pavel Fedin
Package: linux-image-3.2.0-4-powerpc
Version: 3.2.46-1

 Hello!
 I  have  just upgraded Linux installation on my Pegasos-II machine to
Debian  7.1.0  Wheezy.  The installer worked flawlessly, but the newly
installed  kernel  refused  to  boot up. Attempt to boot up the kernel
ends  up  in  a  text-mode  screen  filled  up  with  garbage  (randon
characters and attributes).
 What's up ? Did you drop Pegasos support ?

-- 
С уважением,
 Pavel  mailto:pavel_fe...@mail.ru


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#717511: Kernel does not start up on Pegasos-2

2013-07-21 Thread Pavel Fedin
Hello, Ben.

21 июля 2013 г., 21:56:24, you wrote:


 This might be relevant:
 https://lists.debian.org/debian-powerpc/2013/07/msg8.html

 Unlikely.
 Looks  like  the  kernel  simply  does  not  boot up. It does not say
anything.  Nor  it  switches video mode. I just enter boot command and
see random flashing rectangles like on old good ZX Spectrum :)
 I have one suggestion about it. Looks like this kernel has rather big
initrd  attached.  If  so, technically it might occasionally overwrite
firmware's code in RAM and kill itself even before the actual startup.
 I  have another machine with a serial port here, i'll try to redirect
the output to serial port and see what happens.
 Also i'm currently downloading i386 version in order to install on my
AspireOne.  Using  it i will be able to cross-build PPC version of the
kernel,  and  try to run it. This will also help me to either prove or
reject my guess about initrd.
 However actually this guess comes from two facts:
1. Installed vmlinuz takes rather long time to load.
2.  CD  installer  kernel  takes  much shorter time to load, and works
fine.
 I  don't  believe  there  are many differences between CD version and
working version. At least not in early startup code.

-- 
Kind regards,
 Pavel  mailto:pavel_fe...@mail.ru


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#717511: Kernel does not start up on Pegasos-2

2013-07-21 Thread Pavel Fedin
Hello, Karoly.

21 июля 2013 г., 22:34:12, you wrote:


 Just for the record, I've installed Wheezy successfully on two Pegasos
 IIs, one is a rev 2B1 board, which was installed from scratch, and worked
 without major glitches, apart from the fact that the installer required an
 installation to MBR partitioned disks, because with RDB disks it said
 Fatal error: Out of memory, when it tried to create the main partition
 on an 80GB ATA disk. :)

 I am sorry for the false alarm...
 After  posting  this message i decided to reinstall the system...
 The  story  begins  with  the  fact  that until now i used single EXT
partition  for  Linux. In the far past it used to be EXT2, then when i
upgraded to Etch it became EXT3. There was no separate /boot partition
because Pegasos firmware was perfectly able to read that partition.
 But  now,  first  i  decided  to  use  EXT4  (yes,  i performed clean
reinstall).  Firmware  did  not  know  what is EXT4 and could not read
/boot directory. Fault.
 I  reinstalled  again,  this  time i used EXT3. But... Hah! This EXT3
appears  to  be  somehow incompatible with my older EXT3. The firmware
was not able to read it.
 But,  fortunately,  MorphOS  was able to. I quickly extracted vmlinux
file  from  /boot directory, copied it to SFS partition (where MorphOS
lives), and booted it from there.
 But this time i decided to do everything in a good way. I cut a small
120MB  piece from my old Linux partition and decided to use it as EXT2
/boot.   The   rest   became   EXT4   again.  I  reinstalled  in  this
configuration,  and...  In  /boot  i saw two images. One had vmlinux
name  and  another  had  vmlinuz  name. I ran vmlinuz and everything
worked fine! :)
 So,  it's  not  kernel's  fault. It seems to be installer fault which
does  not generate correct vmlinuz image when not using separate /boot
partition.  vmlinux,  i  know,  is another thing. It's a plain image
meant to be ran from GRUB or yaboot. It cannot be run from OFW.
 So,  we  can  close  this,  probably with a notification to Installer
guys.

-- 
Kind regards,
 Pavel  mailto:pavel_fe...@mail.ru


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#509011: New kernel does not boot up on PegasosPPC

2008-12-17 Thread Pavel Fedin
Package: linux-image-2.6-powerpc-etchnhalf
Version: 2.6.24+13~etchnhalf.1
Severity: critical

 I've upgraded my old Sarge installation to recent Etch and was unable
to boot up the new kernel package. It failed to mount my root
partition. I had to boot up using my old 2.6.19 selfbuilt kernel and
rebuild 2.6.24 one. I worked around the problem by linking some of key
components (VIA ATA support, PS/2 keyboard, GFX card) into the kernel
instead of modules.

-- 
Best regards,
 Pavel  mailto:sonic.am...@gmail.com




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#509013: ASFS filesystem is missing

2008-12-17 Thread Pavel Fedin
Package: linux-image-2.6-powerpc-etchnhalf
Version: 2.6.24+13~etchnhalf.1
Severity: important

 ASFS filesystem is missing in your new kernels. This created problems
for me (i use also MorphOS and upgraded away from FFS long ago, when
Pegasos firmware became able to read SFS).
 I'm currently preparing a patch for this kernel. Also i'll do the
same for the recent kernel.org release.

-- 
Best regards,
 Pavel  mailto:sonic.am...@gmail.com




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#509012: Upgrading from Sarge (stable) to Etch fails

2008-12-17 Thread Pavel Fedin
Package: installation-reports
Severity: grave

 When i upgraded my Sarge installation using apt-get dist-upgrade i
went into unresolvable circular dependency problem (some packages
failed to configure and upgrade was aborted). I had to spent several
hours in order to fix the problem manually. First, i had to uninstall
GNOME desktop. After this i had to force-install packages that failed.
Then i reinstalled missing GNOME stuff.
 Unfortunately i have no logs of this.

-- 
Best regards,
 Pavel  mailto:sonic.am...@gmail.com




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#509086: MOL modules can't be compiled for 2.6.24

2008-12-17 Thread Pavel Fedin
Package: mol
Version: 0.9.71.dfsg-5
Severity: important

 I'm unable to build MOL modules for new 2.6.24 kernel. This happens
because they ask for (now missing) linux/config.h, and some other
things are also changed. I'm going to prepare a patch to fix it.

-- 
Best regards,
 Pavel  mailto:sonic.am...@gmail.com




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#509087: Unable to compile modules for 2.6.24 kernel

2008-12-17 Thread Pavel Fedin
Package: lirc-modules-source
Version: 0.8.0-9.2
Severity: important

 Lirc modules can't be built for 2.6.24 kernel because of some changes
in the kernel itself. Previously i've used self-compiled 2.6.19 kernel
with lirc 0.8.1 (also self-compiled), this worked. Now even 0.8.1
can't be built. I'm going to upgrade lirc to the recent version.

-- 
Best regards,
 Pavel  mailto:sonic.am...@gmail.com




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#509088: This version of Kino doesn't work on PowerPC

2008-12-17 Thread Pavel Fedin
Package: kino
Version: 0.92-3
Severity: grave

 This version of Kino breaks audio track during exporting on bigendian
architecture. As a result, it's unusable. This bug was fixed by me
long ago and the fix is included in v1.0.0 of the program by its
author. Please upgrade the packaged version.

-- 
Best regards,
 Pavel  mailto:sonic.am...@gmail.com




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#279832: Please close the bug

2007-07-15 Thread Pavel Fedin
 My Linux system doesn't have a printer anymore so the problem is no
longer relevant and i can't provide further info. Please close it.

-- 
Best regards,
 Pavel  mailto:[EMAIL PROTECTED]



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#299757: Unable to compile against 2.6.11.1 kernel

2005-03-15 Thread Pavel Fedin
Package: mol-modules-source
Version: 0.9.70-13
 I am inable to compile the package against kernel version 2.6.11.1. Several 
undefined symbols are reported.

-- 
Best regards,
Pavel Fedin,
mailto:[EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#298835: [PATCH] National language support for ASFS filesystem

2005-03-10 Thread Pavel Fedin
Package: kernel-source-2.6.11
Version: 2.6.11-1
Tags: patch

 This patch adds national language support to asfs filesystem for Linux kernel. 
It introduces iocharset and codepage arguments.
 Apply it to a kernel with ASFS already applied.
 Tested on 2.6.11.1 (with asfs 1.0b8 applied) and 2.6.8-10 (from Debian 
package) kernels.

-- 
Best regards,
Pavel Fedin,
mailto:[EMAIL PROTECTED]

--- linux-2.6.11.1/fs/asfs/asfs_fs.h.orig   2005-03-09 11:25:34.0 
-0500
+++ linux-2.6.11.1/fs/asfs/asfs_fs.h2005-03-09 11:25:56.0 -0500
@@ -66,6 +66,10 @@
u16 flags;
char *prefix;
char *root_volume;  /* Volume prefix for absolute symlinks. 
*/
+   char *iocharset;
+   int codepage;
+   struct nls_table *nls_io;
+   struct nls_table *nls_disk;
 };
 
 /* short cut to get to the asfs specific sb data */
@@ -180,8 +184,9 @@
 
 /* namei */
 u8 asfs_lowerchar(u8 c);
-int asfs_namecmp(u8 *s, u8 *ct, int casesensitive);
+int asfs_namecmp(u8 *s, u8 *ct, int casesensitive, struct nls_table *t);
 u16 asfs_hash(u8 *name, int casesensitive);
+void asfs_translate(u8 *to, u8 *from, struct nls_table *nls_to, struct 
nls_table *nls_from);
 
 /* nodes */
 int asfs_getnode(struct super_block *sb, u32 nodeno,
--- linux-2.6.11.1/fs/asfs/dir.c.orig   2005-03-09 11:25:34.0 -0500
+++ linux-2.6.11.1/fs/asfs/dir.c2005-03-09 12:53:06.0 -0500
@@ -29,6 +29,9 @@
 {
struct inode *dir = filp-f_dentry-d_inode;
struct super_block *sb = dir-i_sb;
+   struct nls_table *nls_io = ASFS_SB(sb)-nls_io;
+   struct nls_table *nls_disk = ASFS_SB(sb)-nls_disk;
+   u8 buf[512];
unsigned long f_pos;
int stored = 0;
 
@@ -93,8 +96,9 @@
 
if (add  !(obj-bits  OTYPE_HIDDEN)) {
unsigned int type;
+   asfs_translate(buf, obj-name, nls_io, 
nls_disk);
asfs_debug(ASFS: DirFilling: entry #%d \%s\ 
(node %u offset %u), type %x\n, \
-  stored, obj-name, 
be32_to_cpu(obj-objectnode), block, obj-bits);
+  stored, buf, 
be32_to_cpu(obj-objectnode), block, obj-bits);
filp-f_pos = block;
 
if (obj-bits  OTYPE_DIR)
@@ -104,7 +108,7 @@
else
type = DT_REG;
 
-   if (filldir(dirent, obj-name, 
strlen(obj-name), block, be32_to_cpu(obj-objectnode), type)  0) {
+   if (filldir(dirent, buf, strlen(buf), block, 
be32_to_cpu(obj-objectnode), type)  0) {
filp-private_data = (void 
*)be32_to_cpu(obj-objectnode);
ASFS_I(dir)-modified = 0;
asfs_debug(ASFS: DirFilling: to be 
continued...\n);
@@ -134,12 +138,15 @@
u8 *name = (u8 *) dentry-d_name.name;
struct buffer_head *bh;
struct fsObject *obj;
+   struct nls_table *nls_io = ASFS_SB(sb)-nls_io;
+   struct nls_table *nls_disk = ASFS_SB(sb)-nls_disk;
+   u8 buf[108];
 
asfs_debug(asfs_lookup: (searching \%s\...) , name);
 
lock_super(sb);
 
-   if (ASFS_I(dir)-hashtable != 0) {  /* hashtable block is 
available, quick search */
+   if ((!strchr(name, '?'))  (ASFS_I(dir)-hashtable != 0)) {/* 
hashtable block is available and name can be reverse translated, quick search */
struct fsObjectNode *node_p;
struct buffer_head *node_bh;
u32 node;
@@ -151,7 +158,8 @@
unlock_super(sb);
return ERR_PTR(res);
}
-   hash16 = asfs_hash(name, ASFS_SB(sb)-flags  
ASFS_ROOTBITS_CASESENSITIVE); 
+   asfs_translate(buf, name, nls_disk, nls_io);
+   hash16 = asfs_hash(buf, ASFS_SB(sb)-flags  
ASFS_ROOTBITS_CASESENSITIVE); 
node = be32_to_cpu(((struct fsHashTable *) 
bh-b_data)-hashentry[HASHCHAIN(hash16)]);
asfs_brelse(bh);
 
@@ -173,7 +181,7 @@
node = be32_to_cpu(node_p-next);
asfs_brelse(node_bh);
}
-   } else { /* hashtable not available, long search */
+   } else { /* hashtable not available or name can't be 
reverse-translated, long search */
struct fsObjectContainer *objcont;
u32 block;
 
--- linux-2.6.11.1/fs/asfs/namei.c.orig 2005-03-09 11:25:34.0 -0500
+++ linux-2.6.11.1/fs/asfs/namei.c  2005-03-09 11:25:56.0 -0500
@@ -21,6 +21,7 @@
 #include linux/buffer_head.h
 #include linux/vfs.h
 #include linux/string.h
+#include linux/nls.h
 #include asfs_fs.h
 
 static inline u8 asfs_upperchar(u8 c

Bug#299014: [PATCH] Non-DMAmode for floppy on PowerPC, recent version

2005-03-10 Thread Pavel Fedin
Package: kernel-source-2.6.11
Version: 2.6.11-1
Tags: patch

 This patch allows to use floppy drive in non-DMA mode on PegasosPPC
and AmigaOne machines (ISA DMA is not supported on these machines). To use it:
 1. Do not build floppy driver as a module, link it statically.
Transferring parameters to it from insmod is still problematic, at least
it doesn't work properly on my system. May be i'll clean it up in
future.
 2. Specify floppy=nodma in kernel's arguments. Also you'll need to
specify your drive type here using floppy=Drive number,Drive type,cmos.
For example, floppy=0,4,cmos specifies type 4 (1.44 mb 3.5)
for drive 0 on my system. Without specification drive type defaults to 3.5 
2.88 mb.
 This patch does not affect operation of the driver in DMA mode so it's
safe to use on any platform.

-- 
Best regards,
Pavel Fedin,
mailto:[EMAIL PROTECTED]


--- kernel-source-2.6.8/include/asm-ppc/floppy.h.orig   2004-08-14 
09:36:45.0 +0400
+++ kernel-source-2.6.8/include/asm-ppc/floppy.h2005-03-11 
00:16:13.0 +0300
@@ -14,25 +14,148 @@
 #define fd_inb(port)   inb_p(port)
 #define fd_outb(value,port)outb_p(value,port)
 
-#define fd_enable_dma() enable_dma(FLOPPY_DMA)
-#define fd_disable_dma()disable_dma(FLOPPY_DMA)
-#define fd_request_dma()request_dma(FLOPPY_DMA,floppy)
-#define fd_free_dma()   free_dma(FLOPPY_DMA)
-#define fd_clear_dma_ff()   clear_dma_ff(FLOPPY_DMA)
-#define fd_set_dma_mode(mode)   set_dma_mode(FLOPPY_DMA,mode)
-#define fd_set_dma_addr(addr)   set_dma_addr(FLOPPY_DMA,(unsigned 
int)virt_to_bus(addr))
-#define fd_set_dma_count(count) set_dma_count(FLOPPY_DMA,count)
+#define fd_disable_dma()   fd_ops-_disable_dma(FLOPPY_DMA)
+#define fd_free_dma()   fd_ops-_free_dma(FLOPPY_DMA)
+#define fd_get_dma_residue()fd_ops-_get_dma_residue(FLOPPY_DMA)
+#define fd_dma_setup(addr, size, mode, io) fd_ops-_dma_setup(addr, size, 
mode, io)
 #define fd_enable_irq() enable_irq(FLOPPY_IRQ)
 #define fd_disable_irq()disable_irq(FLOPPY_IRQ)
-#define fd_cacheflush(addr,size) /* nothing */
-#define fd_request_irq()request_irq(FLOPPY_IRQ, floppy_interrupt, \
-   SA_INTERRUPT|SA_SAMPLE_RANDOM, \
-   floppy, NULL)
 #define fd_free_irq()   free_irq(FLOPPY_IRQ, NULL);
 
-__inline__ void virtual_dma_init(void)
+static int fd_request_dma(void);
+
+struct fd_dma_ops {
+   void (*_disable_dma)(unsigned int dmanr);
+   void (*_free_dma)(unsigned int dmanr);
+   int (*_get_dma_residue)(unsigned int dummy);
+   int (*_dma_setup)(char *addr, unsigned long size, int mode, int io);
+};
+
+static int virtual_dma_count;
+static int virtual_dma_residue;
+static char *virtual_dma_addr;
+static int virtual_dma_mode;
+static int doing_pdma;
+static struct fd_dma_ops *fd_ops;
+
+static irqreturn_t floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
+{
+   unsigned char st;
+
+   if (!doing_pdma)
+   return floppy_interrupt(irq, dev_id, regs);
+
+   {
+   int lcount;
+   char *lptr;
+
+   st = 1;
+   for (lcount=virtual_dma_count, lptr=virtual_dma_addr; 
+   lcount; lcount--, lptr++) {
+   st=inb(virtual_dma_port+4)  0xa0 ;
+   if (st != 0xa0) 
+   break;
+   if (virtual_dma_mode)
+   outb_p(*lptr, virtual_dma_port+5);
+   else
+   *lptr = inb_p(virtual_dma_port+5);
+   }
+   virtual_dma_count = lcount;
+   virtual_dma_addr = lptr;
+   st = inb(virtual_dma_port+4);
+   }
+
+   if (st == 0x20)
+   return IRQ_HANDLED;
+   if (!(st  0x20)) {
+   virtual_dma_residue += virtual_dma_count;
+   virtual_dma_count=0;
+   doing_pdma = 0;
+   floppy_interrupt(irq, dev_id, regs);
+   return IRQ_HANDLED;
+   }
+   return IRQ_HANDLED;
+}
+
+static void vdma_disable_dma(unsigned int dummy)
+{
+   doing_pdma = 0;
+   virtual_dma_residue += virtual_dma_count;
+   virtual_dma_count=0;
+}
+
+static void vdma_nop(unsigned int dummy)
+{
+}
+
+
+static int vdma_get_dma_residue(unsigned int dummy)
+{
+   return virtual_dma_count + virtual_dma_residue;
+}
+
+
+static int fd_request_irq(void)
+{
+   if (can_use_virtual_dma)
+   return request_irq(FLOPPY_IRQ, floppy_hardint,SA_INTERRUPT,
+  floppy, NULL);
+   else
+   return request_irq(FLOPPY_IRQ, floppy_interrupt,
+  
SA_INTERRUPT|SA_SAMPLE_RANDOM

Bug#296422: [PATCH] Non-DMA mode for floppy on PowerPC

2005-02-22 Thread Pavel Fedin
Package: kernel-source-2.6.8
Version: 2.6.8-13
Tags: patch

 This patch allows to use floppy drive in non-DMA mode on PegasosPPC machines. 
To use it:
1. Do not build floppy driver as a module, link it statically. Transferring 
parameters to it from insmod is still problematic, at least it doesn't work 
properly on my system. May be i'll clean it up in future.
2. Specify floppy=nodma in kernel's arguments. Also you'll need to specify your 
drive type here using floppy=Drive number,Drive type,cmos. For example, 
floppy=0,4,cmos specifies type 4 (1.44 mb 3.5) for drive 0 on my system.
This patch does not affect operation of the driver in DMA mode so it's safe to 
use on any platform.

-- 
Best regards,
Pavel Fedin,
mailto:[EMAIL PROTECTED]
--- include/asm-ppc/floppy.h.orig   2004-08-14 09:36:45.0 +0400
+++ include/asm-ppc/floppy.h2005-02-12 02:26:54.0 +0300
@@ -11,30 +11,188 @@
 #ifndef __ASM_PPC_FLOPPY_H
 #define __ASM_PPC_FLOPPY_H
 
+#include linux/vmalloc.h
+
+#define CSW fd_routine[can_use_virtual_dma  1]
+
 #define fd_inb(port)   inb_p(port)
 #define fd_outb(value,port)outb_p(value,port)
 
-#define fd_enable_dma() enable_dma(FLOPPY_DMA)
-#define fd_disable_dma()disable_dma(FLOPPY_DMA)
-#define fd_request_dma()request_dma(FLOPPY_DMA,floppy)
-#define fd_free_dma()   free_dma(FLOPPY_DMA)
-#define fd_clear_dma_ff()   clear_dma_ff(FLOPPY_DMA)
-#define fd_set_dma_mode(mode)   set_dma_mode(FLOPPY_DMA,mode)
-#define fd_set_dma_addr(addr)   set_dma_addr(FLOPPY_DMA,(unsigned 
int)virt_to_bus(addr))
-#define fd_set_dma_count(count) set_dma_count(FLOPPY_DMA,count)
+#define fd_disable_dma()   CSW._disable_dma(FLOPPY_DMA)
+#define fd_request_dma()CSW._request_dma(FLOPPY_DMA,floppy)
+#define fd_free_dma()   CSW._free_dma(FLOPPY_DMA)
+#define fd_get_dma_residue()CSW._get_dma_residue(FLOPPY_DMA)
+#define fd_dma_mem_alloc(size) CSW._dma_mem_alloc(size)
+#define fd_dma_setup(addr, size, mode, io) CSW._dma_setup(addr, size, mode, io)
 #define fd_enable_irq() enable_irq(FLOPPY_IRQ)
 #define fd_disable_irq()disable_irq(FLOPPY_IRQ)
-#define fd_cacheflush(addr,size) /* nothing */
-#define fd_request_irq()request_irq(FLOPPY_IRQ, floppy_interrupt, \
-   SA_INTERRUPT|SA_SAMPLE_RANDOM, \
-   floppy, NULL)
 #define fd_free_irq()   free_irq(FLOPPY_IRQ, NULL);
 
-__inline__ void virtual_dma_init(void)
+static int virtual_dma_count;
+static int virtual_dma_residue;
+static char *virtual_dma_addr;
+static int virtual_dma_mode;
+static int doing_pdma;
+
+static irqreturn_t floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
+{
+   register unsigned char st;
+
+#undef TRACE_FLPY_INT
+
+#ifdef TRACE_FLPY_INT
+   static int calls=0;
+   static int bytes=0;
+   static int dma_wait=0;
+#endif
+   if (!doing_pdma)
+   return floppy_interrupt(irq, dev_id, regs);
+
+#ifdef TRACE_FLPY_INT
+   if(!calls)
+   bytes = virtual_dma_count;
+#endif
+   {
+   register int lcount;
+   register char *lptr;
+
+   st = 1;
+   for(lcount=virtual_dma_count, lptr=virtual_dma_addr; 
+   lcount; lcount--, lptr++) {
+   st=inb(virtual_dma_port+4)  0xa0 ;
+   if(st != 0xa0) 
+   break;
+   if(virtual_dma_mode)
+   outb_p(*lptr, virtual_dma_port+5);
+   else
+   *lptr = inb_p(virtual_dma_port+5);
+   }
+   virtual_dma_count = lcount;
+   virtual_dma_addr = lptr;
+   st = inb(virtual_dma_port+4);
+   }
+
+#ifdef TRACE_FLPY_INT
+   calls++;
+#endif
+   if(st == 0x20)
+   return IRQ_HANDLED;
+   if(!(st  0x20)) {
+   virtual_dma_residue += virtual_dma_count;
+   virtual_dma_count=0;
+#ifdef TRACE_FLPY_INT
+   printk(count=%x, residue=%x calls=%d bytes=%d dma_wait=%d\n, 
+  virtual_dma_count, virtual_dma_residue, calls, bytes,
+  dma_wait);
+   calls = 0;
+   dma_wait=0;
+#endif
+   doing_pdma = 0;
+   floppy_interrupt(irq, dev_id, regs);
+   return IRQ_HANDLED;
+   }
+#ifdef TRACE_FLPY_INT
+   if(!virtual_dma_count)
+   dma_wait++;
+#endif
+   return IRQ_HANDLED;
+}
+
+static void vdma_disable_dma(unsigned int dummy)
 {
-   /* Nothing to do on PowerPC */
+   doing_pdma = 0;
+   virtual_dma_residue += virtual_dma_count;
+   virtual_dma_count=0;
 }
 
+static int vdma_request_dma(unsigned int dmanr, const char * device_id)
+{
+   return 0

Bug#296262: Zapping hangs when i try to open preferences window

2005-02-21 Thread Pavel Fedin
Package: zapping
Version: 0.8.0-1
 When i try to open program's preferences window it freezes. I can only 
force-close it after that. Also fonts in menus are broken (in previous version 
i named channels in russian and everything was fine).

-- 
Best regards,
Pavel Fedin,
mailto:[EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]