Re: [PATCH] ALSA: virtio: remove duplicate check if queue is broken

2024-01-24 Thread Takashi Iwai
On Wed, 24 Jan 2024 13:08:34 +0100,
Li RongQing wrote:
> 
> virtqueue_enable_cb() will call virtqueue_poll() which will check if
> queue is broken at beginning, so remove the virtqueue_is_broken() call
> 
> Signed-off-by: Li RongQing 

Applied now.  Thanks.


Takashi



Re: [PATCH] ALSA: virtio: remove duplicate check if queue is broken

2024-01-24 Thread Stefan Hajnoczi
On Wed, 24 Jan 2024 at 07:17, Li RongQing  wrote:
>
> virtqueue_enable_cb() will call virtqueue_poll() which will check if
> queue is broken at beginning, so remove the virtqueue_is_broken() call
>
> Signed-off-by: Li RongQing 
> ---
>  sound/virtio/virtio_card.c| 2 --
>  sound/virtio/virtio_ctl_msg.c | 2 --
>  sound/virtio/virtio_pcm_msg.c | 2 --
>  3 files changed, 6 deletions(-)

Reviewed-by: Stefan Hajnoczi 

>
> diff --git a/sound/virtio/virtio_card.c b/sound/virtio/virtio_card.c
> index e2847c0..b158c3c 100644
> --- a/sound/virtio/virtio_card.c
> +++ b/sound/virtio/virtio_card.c
> @@ -91,8 +91,6 @@ static void virtsnd_event_notify_cb(struct virtqueue 
> *vqueue)
> virtsnd_event_dispatch(snd, event);
> virtsnd_event_send(vqueue, event, true, GFP_ATOMIC);
> }
> -   if (unlikely(virtqueue_is_broken(vqueue)))
> -   break;
> } while (!virtqueue_enable_cb(vqueue));
> spin_unlock_irqrestore(>lock, flags);
>  }
> diff --git a/sound/virtio/virtio_ctl_msg.c b/sound/virtio/virtio_ctl_msg.c
> index 18dc5ac..9dabea0 100644
> --- a/sound/virtio/virtio_ctl_msg.c
> +++ b/sound/virtio/virtio_ctl_msg.c
> @@ -303,8 +303,6 @@ void virtsnd_ctl_notify_cb(struct virtqueue *vqueue)
> virtqueue_disable_cb(vqueue);
> while ((msg = virtqueue_get_buf(vqueue, )))
> virtsnd_ctl_msg_complete(msg);
> -   if (unlikely(virtqueue_is_broken(vqueue)))
> -   break;
> } while (!virtqueue_enable_cb(vqueue));
> spin_unlock_irqrestore(>lock, flags);
>  }
> diff --git a/sound/virtio/virtio_pcm_msg.c b/sound/virtio/virtio_pcm_msg.c
> index 542446c..8c32efa 100644
> --- a/sound/virtio/virtio_pcm_msg.c
> +++ b/sound/virtio/virtio_pcm_msg.c
> @@ -358,8 +358,6 @@ static inline void virtsnd_pcm_notify_cb(struct 
> virtio_snd_queue *queue)
> virtqueue_disable_cb(queue->vqueue);
> while ((msg = virtqueue_get_buf(queue->vqueue, 
> _bytes)))
> virtsnd_pcm_msg_complete(msg, written_bytes);
> -   if (unlikely(virtqueue_is_broken(queue->vqueue)))
> -   break;
> } while (!virtqueue_enable_cb(queue->vqueue));
> spin_unlock_irqrestore(>lock, flags);
>  }
> --
> 2.9.4
>
>



[PATCH] ALSA: virtio: remove duplicate check if queue is broken

2024-01-24 Thread Li RongQing
virtqueue_enable_cb() will call virtqueue_poll() which will check if
queue is broken at beginning, so remove the virtqueue_is_broken() call

Signed-off-by: Li RongQing 
---
 sound/virtio/virtio_card.c| 2 --
 sound/virtio/virtio_ctl_msg.c | 2 --
 sound/virtio/virtio_pcm_msg.c | 2 --
 3 files changed, 6 deletions(-)

diff --git a/sound/virtio/virtio_card.c b/sound/virtio/virtio_card.c
index e2847c0..b158c3c 100644
--- a/sound/virtio/virtio_card.c
+++ b/sound/virtio/virtio_card.c
@@ -91,8 +91,6 @@ static void virtsnd_event_notify_cb(struct virtqueue *vqueue)
virtsnd_event_dispatch(snd, event);
virtsnd_event_send(vqueue, event, true, GFP_ATOMIC);
}
-   if (unlikely(virtqueue_is_broken(vqueue)))
-   break;
} while (!virtqueue_enable_cb(vqueue));
spin_unlock_irqrestore(>lock, flags);
 }
diff --git a/sound/virtio/virtio_ctl_msg.c b/sound/virtio/virtio_ctl_msg.c
index 18dc5ac..9dabea0 100644
--- a/sound/virtio/virtio_ctl_msg.c
+++ b/sound/virtio/virtio_ctl_msg.c
@@ -303,8 +303,6 @@ void virtsnd_ctl_notify_cb(struct virtqueue *vqueue)
virtqueue_disable_cb(vqueue);
while ((msg = virtqueue_get_buf(vqueue, )))
virtsnd_ctl_msg_complete(msg);
-   if (unlikely(virtqueue_is_broken(vqueue)))
-   break;
} while (!virtqueue_enable_cb(vqueue));
spin_unlock_irqrestore(>lock, flags);
 }
diff --git a/sound/virtio/virtio_pcm_msg.c b/sound/virtio/virtio_pcm_msg.c
index 542446c..8c32efa 100644
--- a/sound/virtio/virtio_pcm_msg.c
+++ b/sound/virtio/virtio_pcm_msg.c
@@ -358,8 +358,6 @@ static inline void virtsnd_pcm_notify_cb(struct 
virtio_snd_queue *queue)
virtqueue_disable_cb(queue->vqueue);
while ((msg = virtqueue_get_buf(queue->vqueue, _bytes)))
virtsnd_pcm_msg_complete(msg, written_bytes);
-   if (unlikely(virtqueue_is_broken(queue->vqueue)))
-   break;
} while (!virtqueue_enable_cb(queue->vqueue));
spin_unlock_irqrestore(>lock, flags);
 }
-- 
2.9.4




[PATCH] ALSA: hda - Add laptop imic fixup for ASUS M9V laptop

2019-09-20 Thread Shih-Yuan Lee (FourDollars)
The same fixup to enable laptop imic is needed for ASUS M9V with AD1986A
codec like another HP machine.

Signed-off-by: Shih-Yuan Lee (FourDollars) 
---
 sound/pci/hda/patch_analog.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index e283966bdbb1..bc9dd8e6fd86 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -357,6 +357,7 @@ static const struct hda_fixup ad1986a_fixups[] = {
 
 static const struct snd_pci_quirk ad1986a_fixup_tbl[] = {
SND_PCI_QUIRK(0x103c, 0x30af, "HP B2800", AD1986A_FIXUP_LAPTOP_IMIC),
+   SND_PCI_QUIRK(0x1043, 0x1153, "ASUS M9V", AD1986A_FIXUP_LAPTOP_IMIC),
SND_PCI_QUIRK(0x1043, 0x1443, "ASUS Z99He", AD1986A_FIXUP_EAPD),
SND_PCI_QUIRK(0x1043, 0x1447, "ASUS A8JN", AD1986A_FIXUP_EAPD),
SND_PCI_QUIRK_MASK(0x1043, 0xff00, 0x8100, "ASUS P5", 
AD1986A_FIXUP_3STACK),
-- 
2.17.1



signature.asc
Description: PGP signature


Hello Dear.

2019-06-18 Thread Noora Abdul



--
Hello Dear,

Greetings and how is your day going?

I am Miss Noora Abdul from South Sudan and I am also an orphan and I
will like to discuss something very urgent with you when I hear from
you.

Regards

Noora Abdul
--



Re: Microphone volume low on linux driver

2019-04-19 Thread Eric Curtin
*the Windows driver

On Fri, 19 Apr 2019 at 14:17, Eric Curtin  wrote:
>
> Hi Guys,
>
> I have a headset, Linux recognizes it as "HyperX Virtual Surround Sound
> Digital Stereo", I have it set to 150% recording volume. It's a "HyperX
> Cloud II" headset, the Windows seems to work fine. I also tried
> "Digital Stereo (IEC958) Input" mode.
>
> Is there a quirk or similar in the kernel I can set in order to
> increase the recording volume of this device specifically?
>
> Some details about my system (it's xubuntu):
>
> username@hp-zbook-15-g5 14:13:12
> ~/>dpkg -l | grep -i pulseaud
> ii  gstreamer1.0-pulseaudio:amd64
> 1.14.1-1ubuntu1~ubuntu18.04.1
>  amd64GStreamer plugin for PulseAudio
> ii  libcanberra-pulse:amd64   0.30-5ubuntu1
>amd64
> PulseAudio backend for libcanberra
> ii  libpulse-mainloop-glib0:amd64 1:11.1-1ubuntu7.2
>amd64
> PulseAudio client libraries (glib support)
> ii  libpulse0:amd64   1:11.1-1ubuntu7.2
>amd64
> PulseAudio client libraries
> rc  libpulse0:i3861:11.1-1ubuntu7.2
>i386
> PulseAudio client libraries
> ii  libpulsedsp:amd64 1:11.1-1ubuntu7.2
>amd64
> PulseAudio OSS pre-load library
> ii  pavucontrol   3.0-4
>amd64
> PulseAudio Volume Control
> ii  pulseaudio1:11.1-1ubuntu7.2
>amd64
> PulseAudio sound server
> ii  pulseaudio-module-bluetooth   1:11.1-1ubuntu7.2
>amd64
> Bluetooth module for PulseAudio sound server
> ii  pulseaudio-utils  1:11.1-1ubuntu7.2
>amd64
> Command line tools for the PulseAudio sound server
> ii  xfce4-pulseaudio-plugin:amd64 0.4.1-0ubuntu1
>amd64
> Xfce4 panel plugin to control pulseaudio
> username@hp-zbook-15-g5 14:13:15
> ~/git/Domino>lsb_release -a
> No LSB modules are available.
> Distributor ID: Ubuntu
> Description: Ubuntu 18.04.2 LTS
> Release: 18.04
> Codename: bionic
> username@hp-zbook-15-g5 14:13:20
> ~/git/Domino>uname -a
> Linux hp-zbook-15-g5 4.18.0-17-generic #18~18.04.1-Ubuntu SMP Fri Mar
> 15 15:27:12 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
>
> Regards,
>
> Eric


Microphone volume low on linux driver

2019-04-19 Thread Eric Curtin
Hi Guys,

I have a headset, Linux recognizes it as "HyperX Virtual Surround Sound
Digital Stereo", I have it set to 150% recording volume. It's a "HyperX
Cloud II" headset, the Windows seems to work fine. I also tried
"Digital Stereo (IEC958) Input" mode.

Is there a quirk or similar in the kernel I can set in order to
increase the recording volume of this device specifically?

Some details about my system (it's xubuntu):

username@hp-zbook-15-g5 14:13:12
~/>dpkg -l | grep -i pulseaud
ii  gstreamer1.0-pulseaudio:amd64
1.14.1-1ubuntu1~ubuntu18.04.1
 amd64GStreamer plugin for PulseAudio
ii  libcanberra-pulse:amd64   0.30-5ubuntu1
   amd64
PulseAudio backend for libcanberra
ii  libpulse-mainloop-glib0:amd64 1:11.1-1ubuntu7.2
   amd64
PulseAudio client libraries (glib support)
ii  libpulse0:amd64   1:11.1-1ubuntu7.2
   amd64
PulseAudio client libraries
rc  libpulse0:i3861:11.1-1ubuntu7.2
   i386
PulseAudio client libraries
ii  libpulsedsp:amd64 1:11.1-1ubuntu7.2
   amd64
PulseAudio OSS pre-load library
ii  pavucontrol   3.0-4
   amd64
PulseAudio Volume Control
ii  pulseaudio1:11.1-1ubuntu7.2
   amd64
PulseAudio sound server
ii  pulseaudio-module-bluetooth   1:11.1-1ubuntu7.2
   amd64
Bluetooth module for PulseAudio sound server
ii  pulseaudio-utils  1:11.1-1ubuntu7.2
   amd64
Command line tools for the PulseAudio sound server
ii  xfce4-pulseaudio-plugin:amd64 0.4.1-0ubuntu1
   amd64
Xfce4 panel plugin to control pulseaudio
username@hp-zbook-15-g5 14:13:15
~/git/Domino>lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
username@hp-zbook-15-g5 14:13:20
~/git/Domino>uname -a
Linux hp-zbook-15-g5 4.18.0-17-generic #18~18.04.1-Ubuntu SMP Fri Mar
15 15:27:12 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Regards,

Eric


In need of your swift response, Kindly Email today.

2019-04-06 Thread Mr Bretton Calunoth
With All Due Respects ,

I am Mr Bretton Calunoth,I have a High Profile Client Who confided in
me about US$60,000,000.00  and she wishes to invest, She needs a
foreigner who will be her Investment/Asset manager to help her invest
into any of investment sectors reachable to the manager.

Please let me know if you are willing to work with us as further
information will be provided on request.

Best Regard
Mr Bretton Calunoth.


Re: [PATCH 0/4] Introduce the aural error reporting framework

2019-04-02 Thread Thomas Gleixner
Matteo,

On Tue, 2 Apr 2019, Matteo Croce wrote:
> On Tue, Apr 2, 2019 at 11:33 AM Thomas Gleixner  wrote:
> > Aside of that, where is the android-app to customize and decode the
> > melodies?
> >
> > I surely want to have the music theme of 'Once Upon a Time in the West' on
> > kernel crashes.
> 
> I'm a little rusty with Android programming, so I'll share the script
> I use to convert notes to frequences.
> With some awk magic it can turn notes into a C array, I hope that you
> find it useful.

That's great. Just a few nitpicks on the patches themself. You want to
change msleep() to mdelay() in order to avoid "Scheduling while atomic"
noise and you want to have global serialization because interleaving "La
Paloma" from CPU1 and "Once Upon a Time in the West" from CPU2 sounds
really horrible.

Thanks,

tglx


Re: [PATCH 0/4] Introduce the aural error reporting framework

2019-04-02 Thread Matteo Croce
On Tue, Apr 2, 2019 at 11:33 AM Thomas Gleixner  wrote:
>
> On Mon, 1 Apr 2019, Peter Zijlstra wrote:
> > On Mon, Apr 01, 2019 at 12:24:51PM +0200, Matteo Croce wrote:
> > > The buzzer driver is simple, requires just a few register writes to work,
> > > the hardware is extremely cheap and is already present on most machines.
> >
> > What, no morse-code register dumps?
>
> Aside of that, where is the android-app to customize and decode the
> melodies?
>
> I surely want to have the music theme of 'Once Upon a Time in the West' on
> kernel crashes.
>
> Thanks,
>
> tglx
>

Hi Thomas,

I'm a little rusty with Android programming, so I'll share the script
I use to convert notes to frequences.
With some awk magic it can turn notes into a C array, I hope that you
find it useful.

Bye,
-- 
Matteo Croce
per aspera ad upstream


notes2freq.sh
Description: application/shellscript


Re: [PATCH 0/4] Introduce the aural error reporting framework

2019-04-02 Thread Thomas Gleixner
On Mon, 1 Apr 2019, Peter Zijlstra wrote:
> On Mon, Apr 01, 2019 at 12:24:51PM +0200, Matteo Croce wrote:
> > The buzzer driver is simple, requires just a few register writes to work,
> > the hardware is extremely cheap and is already present on most machines.
> 
> What, no morse-code register dumps?

Aside of that, where is the android-app to customize and decode the
melodies?

I surely want to have the music theme of 'Once Upon a Time in the West' on
kernel crashes.

Thanks,

tglx






Re: [PATCH 0/4] Introduce the aural error reporting framework

2019-04-01 Thread Peter Zijlstra
On Mon, Apr 01, 2019 at 12:24:51PM +0200, Matteo Croce wrote:
> The buzzer driver is simple, requires just a few register writes to work,
> the hardware is extremely cheap and is already present on most machines.

What, no morse-code register dumps?


[PATCH 5/4] procfs: utility handler to trigger different errors

2019-04-01 Thread Matteo Croce
Add a /proc/crashtest handler which triggers different kernel errors.
Just write a single character (if many are written, only the first one
is read), to trigger different errors:
- p: raise a kernel panic
- w: generate a warning
- o: raise an oops
The handler permissions are set to 0220 to avoid non root users to crash
the system.

Signed-off-by: Matteo Croce 
---
 fs/proc/Makefile|  1 +
 fs/proc/crashtest.c | 43 +++
 2 files changed, 44 insertions(+)
 create mode 100644 fs/proc/crashtest.c

diff --git a/fs/proc/Makefile b/fs/proc/Makefile
index ead487e80510..df99d3245ad9 100644
--- a/fs/proc/Makefile
+++ b/fs/proc/Makefile
@@ -15,6 +15,7 @@ proc-$(CONFIG_TTY)  += proc_tty.o
 proc-y += cmdline.o
 proc-y += consoles.o
 proc-y += cpuinfo.o
+proc-y += crashtest.o
 proc-y += devices.o
 proc-y += interrupts.o
 proc-y += loadavg.o
diff --git a/fs/proc/crashtest.c b/fs/proc/crashtest.c
new file mode 100644
index ..ad7d21cc9d98
--- /dev/null
+++ b/fs/proc/crashtest.c
@@ -0,0 +1,43 @@
+// SPDX-License-Identifier: GPL-2.0
+#include 
+#include 
+#include 
+#include 
+
+static ssize_t crashtest_write(struct file *file, const char __user *buf,
+  size_t count, loff_t *ppos)
+{
+   char cmd;
+
+   if (!count)
+   return 0;
+
+   if (get_user(cmd, buf))
+   return -EFAULT;
+
+   switch (cmd) {
+   case 'p':
+   panic("crashtest");
+   break;
+   case 'w':
+   WARN(1, "crashtest");
+   break;
+   case 'o':
+   *(int*)0 = 0;
+   break;
+   default:
+   return -EINVAL;
+   }
+
+   return count;
+}
+
+static const struct file_operations proc_crashtest_ops = {
+   .write  = crashtest_write,
+};
+
+static int __init proc_crashtest_init(void)
+{
+   return !proc_create("crashtest", 0220, NULL, _crashtest_ops);
+}
+fs_initcall(proc_crashtest_init);
-- 
2.20.1



[PATCH 3/4] bug: use the aural error reporting framework to report warnings

2019-04-01 Thread Matteo Croce
Use the new aural error reporting framework to signal kernel bugs. Emit the
sound at the end of the __warn(), so the WARN_* are all covered.
If panic_on_warn is set, panic() will play its sound and never return,
so there is no risk to emit two sounds or the wrong one.

Signed-off-by: Matteo Croce 
---
 kernel/panic.c| 18 ++
 lib/Kconfig.debug | 10 ++
 2 files changed, 28 insertions(+)

diff --git a/kernel/panic.c b/kernel/panic.c
index 360578e092e7..b87c4403924d 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -81,6 +81,22 @@ static struct note panic_sound[] = {
 };
 #endif
 
+#ifdef CONFIG_AUDIBLE_WARN
+static struct note warn_sound[] = {
+   { 440, 400 },
+   { 440, 300 },
+   { 440, 100 },
+   { 440, 400 },
+   { 523, 300 },
+   { 494, 100 },
+   { 494, 300 },
+   { 440, 100 },
+   { 440, 300 },
+   { 440, 100 },
+   { 440, 800 },
+};
+#endif
+
 static long no_blink(int state)
 {
return 0;
@@ -609,6 +625,8 @@ void __warn(const char *file, int line, void *caller, 
unsigned taint,
 
/* Just a warning, don't kill lockdep. */
add_taint(taint, LOCKDEP_STILL_OK);
+
+   play(warn_sound, ARRAY_SIZE(warn_sound));
 }
 
 #ifdef WANT_WARN_ON_SLOWPATH
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index e5d187dfc74a..909c271d283b 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1007,6 +1007,16 @@ config AUDIBLE_PANIC
  the system buzzer and not via any soundcard.
  Not available on all platforms.
 
+config AUDIBLE_WARN
+   bool "Aural warning"
+   select PLAY_LIB
+   default n
+   help
+ If you say Y here, warnings will play a sound just
+ after the stacktrace and registers dump. The sound is played via
+ the system buzzer and not via any soundcard.
+ Not available on all platforms.
+
 config SCHED_DEBUG
bool "Collect scheduler debugging info"
depends on DEBUG_KERNEL && PROC_FS
-- 
2.20.1



[PATCH 1/4] aural error reporting framework

2019-04-01 Thread Matteo Croce
The Linux kernel has had verbal error reporting since the beginning.
Different error conditions trigger different error messages, with
different severity: from a simple warning to the most feared kernel panic.

While this detailed error reporting is much helpful to developers or end
users, there are some cases in which it's impossible to notice that an
error happened.
The most common case is headless devices, such as home servers without an
attached display, or routers without an exposed serial port. Needless
to say, logging into the machine via SSH is not an option after such
a severe error.
In other cases the monitor might be attached, but the system is unable to
display the error, probably because there is an X server running and
the KMS switch fails. Or simply the user is visually impaired.

These are all cases when the aural errors framework comes to help. This
framework adds to the kernel a generic library to play sounds, which can
be used to report errors or generic events.

As the sound card driver could, and most probably will, become unusable
during a kernel crash, the sounds are played via the system buzzer which
has been around since the dawn of time.
The buzzer driver is simple, requires just a few register writes to work,
the hardware is extremely cheap and is already present on most machines.

Signed-off-by: Matteo Croce 
---
 arch/x86/lib/Makefile |  1 +
 arch/x86/lib/play.c   | 75 +++
 include/linux/play.h  | 34 
 lib/Kconfig.debug |  5 +++
 4 files changed, 115 insertions(+)
 create mode 100644 arch/x86/lib/play.c
 create mode 100644 include/linux/play.h

diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile
index 140e61843a07..fcd1ee6adfad 100644
--- a/arch/x86/lib/Makefile
+++ b/arch/x86/lib/Makefile
@@ -28,6 +28,7 @@ lib-$(CONFIG_INSTRUCTION_DECODER) += insn.o inat.o insn-eval.o
 lib-$(CONFIG_RANDOMIZE_BASE) += kaslr.o
 lib-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o
 lib-$(CONFIG_RETPOLINE) += retpoline.o
+lib-$(CONFIG_PLAY_LIB) += play.o
 
 obj-y += msr.o msr-reg.o msr-reg-export.o hweight.o
 obj-y += iomem.o
diff --git a/arch/x86/lib/play.c b/arch/x86/lib/play.c
new file mode 100644
index ..e798eeb144f8
--- /dev/null
+++ b/arch/x86/lib/play.c
@@ -0,0 +1,75 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Aural kernel panic - x86 implementation
+ *
+ * Copyright (C) 2019 Matteo Croce 
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version
+ * 2 as published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#define CONTROL_WORD_REG   0x43
+#define COUNTER2   0x42
+#define SPEAKER_PORT   0x61
+
+void arch_play_one(unsigned int ms, unsigned int hz)
+{
+   unsigned long flags;
+   u8 p61;
+
+   /* filter out non audible by humans freqs */
+   if (hz >= 16 && hz <= 22000) {
+   unsigned int count = PIT_TICK_RATE / hz;
+
+   raw_spin_lock_irqsave(_lock, flags);
+
+   /* set buzzer
+* 0xB6
+* 1 0  Counter 2
+* 1 1  2xRD/2xWR bits 0..7, 8..15 of counter value
+* 0 1 1Mode 3: Square Wave
+* 0Counter is a 16 bit binary counter
+*/
+   outb_p(0xB6, CONTROL_WORD_REG);
+
+   /* select desired HZ with two writes in counter 2, port 42h */
+   outb_p(count, COUNTER2);
+   outb_p(count >> 8, COUNTER2);
+
+   /* start beep
+* set bit 0-1 (0: SPEAKER DATA; 1: OUT2) of GATE2 (port 61h)
+*/
+   p61 = inb_p(SPEAKER_PORT);
+   if ((p61 & 3) != 3)
+   outb_p(p61 | 3, SPEAKER_PORT);
+
+   raw_spin_unlock_irqrestore(_lock, flags);
+   }
+
+   msleep(ms * 9 / 10);
+
+   raw_spin_lock_irqsave(_lock, flags);
+
+   /* stop beep
+* clear bit 0-1 of port 61h
+*/
+   p61 = inb_p(SPEAKER_PORT);
+   if (p61 & 3)
+   outb(p61 & 0xFC, SPEAKER_PORT);
+
+   raw_spin_unlock_irqrestore(_lock, flags);
+
+   msleep(ms / 10);
+}
diff --git a/include/linux/play.h b/include/linux/play.h
new file mode 100644
index ..ae30cb8a0c1d
--- /dev/null
+++ b/include/linux/play.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * play.h - Definitions and headers for the aural error reporting framework.
+ *
+ * Copyright (C) 2019 Matteo Croce 
+ *
+ * This file is released under the GPLv2.
+ */
+
+#ifndef _LINUX_PLAY_H
+#define 

[PATCH 4/4] oops: use the aural error reporting framework to report oopses

2019-04-01 Thread Matteo Croce
Use the new aural error reporting framework when reporting an oops. The
sound is emitted at the end of oops_exit(), to avoid interfering with other
oops actions, like stack dump.

Signed-off-by: Matteo Croce 
---
 kernel/panic.c| 18 ++
 lib/Kconfig.debug | 10 ++
 2 files changed, 28 insertions(+)

diff --git a/kernel/panic.c b/kernel/panic.c
index b87c4403924d..ea34f93ce410 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -97,6 +97,23 @@ static struct note warn_sound[] = {
 };
 #endif
 
+#ifdef CONFIG_AUDIBLE_OOPS
+static struct note oops_sound[] = {
+   { 494, 100 },
+   { 698, 100 },
+   {   0, 100 },
+   { 698, 100 },
+   { 698, 133 },
+   { 659, 133 },
+   { 587, 133 },
+   { 523, 100 },
+   { 330, 100 },
+   { 262, 100 },
+   { 330, 100 },
+   { 262, 100 },
+};
+#endif
+
 static long no_blink(int state)
 {
return 0;
@@ -575,6 +592,7 @@ void oops_exit(void)
do_oops_enter_exit();
print_oops_end_marker();
kmsg_dump(KMSG_DUMP_OOPS);
+   play(oops_sound, ARRAY_SIZE(oops_sound));
 }
 
 struct warn_args {
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 909c271d283b..74745ef386ce 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1017,6 +1017,16 @@ config AUDIBLE_WARN
  the system buzzer and not via any soundcard.
  Not available on all platforms.
 
+config AUDIBLE_OOPS
+   bool "Aural oops"
+   select PLAY_LIB
+   default n
+   help
+ If you say Y here, oops will play a sound just
+ after the stacktrace and registers dump. The sound is played via
+ the system buzzer and not via any soundcard.
+ Not available on all platforms.
+
 config SCHED_DEBUG
bool "Collect scheduler debugging info"
depends on DEBUG_KERNEL && PROC_FS
-- 
2.20.1



[PATCH 0/4] Introduce the aural error reporting framework

2019-04-01 Thread Matteo Croce
The Linux kernel has had verbal error reporting since the beginning.
Different error conditions trigger different error messages, with
different severity: from a simple warning to the most feared kernel panic.

While this detailed error reporting is much helpful to developers or end
users, there are some cases in which it's impossible to notice that an
error happened.
The most common case is headless devices, such as home servers without an
attached display, or routers without an exposed serial port. Needless
to say, logging into the machine via SSH is not an option after such
a severe error.
In other cases the monitor might be attached, but the system is unable to
display the error, probably because there is an X server running and
the KMS switch fails. Or simply the user is visually impaired.

These are all cases when the aural errors framework comes to help. This
framework adds to the kernel a generic library to play sounds, which can
be used to report errors or generic events.

As the sound card driver could, and most probably will, become unusable
during a kernel crash, the sounds are played via the system buzzer which
has been around since the dawn of time.
The buzzer driver is simple, requires just a few register writes to work,
the hardware is extremely cheap and is already present on most machines.

The first patch introduces the framework functions, the other three make
use of it in, respectively, kernel panic, warning and oops.
The last patch, not to be merged, creates a procfs handler useful to test
the error reporting.

Matteo Croce (4):
  aural error reporting framework
  panic: use the aural error reporting framework to report panics
  bug: use the aural error reporting framework to report warnings
  oops: use the aural error reporting framework to report oopses

 arch/x86/lib/Makefile |  1 +
 arch/x86/lib/play.c   | 75 +++
 include/linux/play.h  | 34 
 kernel/panic.c| 61 +++
 lib/Kconfig.debug | 35 
 5 files changed, 206 insertions(+)
 create mode 100644 arch/x86/lib/play.c
 create mode 100644 include/linux/play.h

-- 
2.20.1



[PATCH 2/4] panic: use the aural error reporting framework to report panics

2019-04-01 Thread Matteo Croce
Use the new aural error reporting framework to signal kernel panic. The
error sound is emitted between the stack dump and the kexec jump.

Signed-off-by: Matteo Croce 
---
 kernel/panic.c| 25 +
 lib/Kconfig.debug | 10 ++
 2 files changed, 35 insertions(+)

diff --git a/kernel/panic.c b/kernel/panic.c
index 0ae0d7332f12..360578e092e7 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -29,6 +29,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 #define PANIC_TIMER_STEP 100
@@ -57,6 +58,29 @@ ATOMIC_NOTIFIER_HEAD(panic_notifier_list);
 
 EXPORT_SYMBOL(panic_notifier_list);
 
+#ifdef CONFIG_AUDIBLE_PANIC
+static struct note panic_sound[] = {
+   { 784, 400 },
+   { 784, 400 },
+   { 784, 400 },
+   { 622, 300 },
+   { 932, 100 },
+   { 784, 400 },
+   { 622, 300 },
+   { 932, 100 },
+   { 784, 800 },
+   { 1174, 400 },
+   { 1174, 400 },
+   { 1174, 400 },
+   { 1244, 300 },
+   { 932, 100 },
+   { 740, 400 },
+   { 622, 300 },
+   { 932, 100 },
+   { 784, 800 },
+};
+#endif
+
 static long no_blink(int state)
 {
return 0;
@@ -213,6 +237,7 @@ void panic(const char *fmt, ...)
if (!test_taint(TAINT_DIE) && oops_in_progress <= 1)
dump_stack();
 #endif
+   play(panic_sound, ARRAY_SIZE(panic_sound));
 
/*
 * If we have crashed and we have a crash kernel loaded let it handle
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 10d04b266aef..e5d187dfc74a 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -997,6 +997,16 @@ config PLAY_LIB
depends on HAVE_PCSPKR_PLATFORM
default n
 
+config AUDIBLE_PANIC
+   bool "Aural panic"
+   select PLAY_LIB
+   default n
+   help
+ If you say Y here, kernel panics will play a sound just
+ after the stacktrace and registers dump. The sound is played via
+ the system buzzer and not via any soundcard.
+ Not available on all platforms.
+
 config SCHED_DEBUG
bool "Collect scheduler debugging info"
depends on DEBUG_KERNEL && PROC_FS
-- 
2.20.1



kernel panic

2019-04-01 Thread Victor L
Hi ,

I have Linux panic when started play music with one of my USB audio device.
first please see this logs:

[   71.684730] usbcore: registered new interface driver snd-usb-audio
[   73.835355] BUG: unable to handle kernel NULL pointer dereference
at 0008
[   73.835412] IP: []
snd_usb_endpoint_start+0x23c/0x2f0 [snd_usb_audio]
[   73.835414] PGD 0
[   73.835415]
[   73.835418] Oops:  [#1] PREEMPT SMP
[   73.835482] Modules linked in: snd_usb_audio snd_usbmidi_lib
snd_hwdep snd_pcm_oss snd_mixer_oss snd_
pcm snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq snd_seq_device
snd_timer snd soundcore coretemp
iwl3945 iwlegacy i915 ehci_pci iTCO_wdt ehci_hcd pcmcia
iTCO_vendor_support kvm usbcore mac80211 e1000e
yenta_socket sr_mod pcmcia_rsrc cfg80211 pcmcia_core lpc_ich mfd_core
drm_kms_helper cdrom rfkill ata_ge
neric irqbypass ptp pps_core joydev sg pcspkr i2c_i801 drm battery
i2c_algo_bit ata_piix i2c_smbus usb_c
ommon shpchp rng_core ac acpi_cpufreq video button nls_utf8 cifs
sha256_ssse3 cmac md4 des_generic arc4
dns_resolver fscache sunrpc loop ip_tables x_tables autofs4 ext4 crc16
jbd2 crc32c_generic fscrypto ecb
glue_helper lrw gf128mul ablk_helper cryptd aes_x86_64 mbcache sd_mod
ahci libahci
[   73.835486]  evdev libata psmouse serio_raw scsi_mod thermal
[   73.835491] CPU: 1 PID: 1099 Comm: output:oops Not tainted 4.9.144-rt93 #1
[   73.835492] Hardware name: LENOVO 636962M/636962M, BIOS 7IET38WW
(1.19 ) 03/22/2011
[   73.835494] task: 8beb97502c40 task.stack: ac1901068000
[   73.835505] RIP: 0010:[]  []
snd_usb_endpoint_start+0x23c/0x2f0 [
snd_usb_audio]
[   73.835507] RSP: :ac190106bcc0  EFLAGS: 00010246
[   73.835508] RAX: ffea RBX: 8beb96c0 RCX: ffea
[   73.835509] RDX:  RSI: c0b5bf98 RDI: 8beb99a18000
[   73.835511] RBP: 0002 R08: c0b5a8d3 R09: 
[   73.835512] R10: fe00 R11: 0200 R12: 8beb96c80070
[   73.835513] R13: 8beb99a18000 R14: 0002 R15: 
[   73.835516] FS:  7fdfedc66700() GS:8bebbf30()
knlGS:
[   73.835518] CS:  0010 DS:  ES:  CR0: 80050033
[   73.835519] CR2: 0008 CR3: b4ab6000 CR4: 0670
[   73.835520] Stack:
[   73.835525]  8bebbc18 8beb96c0 
8002
[   73.835528]  7fdfe40197d0 c0b4e7cd 8bebbc18
8beb974b2400
[   73.835531]  c0b5088a 8bebac44 8bebb206d300

[   73.835531] Call Trace:
[   73.835545]  [] ? start_endpoints+0x3d/0x150
[snd_usb_audio]
[   73.83]  [] ? snd_usb_pcm_prepare+0x2ea/0x520
[snd_usb_audio]
[   73.835577]  [] ?
snd_pcm_sw_params_user+0x56/0x90 [snd_pcm]
[   73.835584]  [] ? snd_pcm_do_prepare+0x19/0x30 [snd_pcm]
[   73.835591]  [] ? snd_pcm_action_single+0x36/0x80 [snd_pcm]
[   73.835598]  [] ?
snd_pcm_action_nonatomic+0x61/0x70 [snd_pcm]
[   73.835606]  [] ?
snd_pcm_common_ioctl1+0x3a9/0xc60 [snd_pcm]
[   73.835674]  [] ? ext4_file_write_iter+0x22e/0x370 [ext4]
[   73.835682]  [] ?
snd_pcm_playback_ioctl1+0x1da/0x240 [snd_pcm]
[   73.835690]  [] ? __seccomp_filter+0x78/0x2a0
[   73.835698]  [] ?
snd_pcm_playback_ioctl+0x23/0x30 [snd_pcm]
[   73.835702]  [] ? do_vfs_ioctl+0xa4/0x620
[   73.835706]  [] ? syscall_trace_enter+0x144/0x300
[   73.835709]  [] ? SyS_ioctl+0x74/0x80
[   73.835711]  [] ? do_syscall_64+0x76/0x100
[   73.835717]  [] ? entry_SYSCALL_64_after_swapgs+0x58/0xc6
[   73.835747] Code: c0 d3 a8 b5 c0 83 f8 a6 74 15 83 f8 e0 49 c7 c0
8c a8 b5 c0 48 c7 c2 74 a8 b5 c0 4c
 0f 45 c2 48 8b 13 89 c1 48 c7 c6 98 bf b5 c0 <48> 8b 7a 08 89 ea 48
81 c7 98 00 00 00 e8 e2 7b f4 f8 f0
 80 63
[   73.835757] RIP  []
snd_usb_endpoint_start+0x23c/0x2f0 [snd_usb_audio]
[   73.835758]  RSP 
[   73.835759] CR2: 0008

I give you more detail, I have Debian Linux 4.9.144-rt93. I tested
under Debian 4.19 and Ubuntu same panic present.
Please help me to fix this problem, this device working fine under
Windows. I believe this problem in Linux audio driver.
I ready to provide any additional details if needs.

-- 
Regards,
Viktor L


Ree...

2019-01-14 Thread KHIM LEANG
Greetings! I sent this letter to you 2days ago,but I'm not sure if you get 
it,and this is the reason i repeat it again.Please get back to me for more 
details.
Regards,
Khim Leang



Update

2018-11-02 Thread Bruce Blake
Hello Dear

how are you doing today? my name is Bruce Blake, the manager foreign affairs in 
City Finance Bank, we have a customer here in bank that has not accessed his 
account for the past 18 years, after some research made about him we found out 
he was a victim of the crashed mining company in mexico.

 he died a single man no wife One son from his first marriage that he divorced, 
his next of kin is that his only son which we can arrange and make your name 
his next of kin as his brother, and the mandatory rule of the bank is that 
after 25 years of a dormant account, the fund should be moved to Government 
Treasury account.

This Customer was my friend because i have known him since he opened an account 
with us, i can't claim his fund because i am a staff in this bank, that is why 
i want you to come in and claim this fund as my late clients Relative.

if you are interested get back to me so we could discuss and make arrangements 
for the paper work because everything has to be legit and Legal.

Regards

Bruce Blake.


Having trouble turning on sound soc device driver

2018-10-23 Thread Greg Wilson-Lindberg
I'm trying to add a driver to a Raspberry Pi3 kernel that I'm compiling in the 
Yocto system. The driver is for an SOC codec.  I've read up on all of the 
Kconfig information that I can find and I'm still baffled with this problem.

I've been able to add configuration for other driver modules and have gotten 
them to work correctly, the problem that I'm having has to do with the driver 
for a Maxim 9768 codec. The driver exists in the sound/soc/codecs directory.

In looking at the Kconfig file the driver that I'm trying to enable is 
specified like this:  

config SND_SOC_MAX9768 
tristate  

No menu entry is created for it, and if I select it through the Yocto build 
system, it ends up being dropped.

The entry for the other SOC driver that I have been able to turn on it looks 
like this:

config SND_SOC_WM8978 
tristate "Wolfson Microelectronics WM8978 codec"
depends on I2C

Near the top of the Kconfig file is this:  

menu "CODEC drivers"

config SND_SOC_ALL_CODECS
 tristate "Build all ASoC CODEC drivers"
 depends on COMPILE_TEST
 select SND_SOC_88PM860X if MFD_88PM860X
 .
 .
 .
 select SND_SOC_MAX9768 if I2C
 .
 .
 .

The "if I2C" seems to be being associated with the MAX9768 config, but I2C is 
true in the configuration, so that shouldn't limit it.  

I've attached the full sound/soc/codecs/Kconfig file just in case.

Can anyone shed any light on what is happening? Or point me somewhere that I 
can get more information?  

Regards, 

Greg Wilson-Lindberg


Kconfig
Description: Kconfig


i2s\pcm\spdif\slimbus

2018-09-29 Thread Muni Sekhar
Hi All,

Can someone share the links to i2s\pcm\spdif\slimbus bus specifications.

-- 
Thanks,
Sekhar


Re: Grant

2018-09-21 Thread M. M. Fridman




--
I, Mikhail Fridman have selected you specifically as one of my 
beneficiaries for my Charitable Donation of $5 Million Dollars,


Check the link below for confirmation:

https://www.rt.com/business/343781-mikhail-fridman-will-charity/

I await your earliest response for further directives.

Best Regards,
Mikhail Fridman.


Re: ~100 seconds(!) load time of snd-usb-audio

2018-08-21 Thread Ran Shalit
On Mon, Aug 20, 2018 at 8:59 AM Ran Shalit  wrote:
>
> Hello,
>
> We encounter the following strange behavior, and struggle with it for
> couple of days now. I hope someone can suggest how to handle it.
>
> 1. We have a sound card, which takes ~100seconds(!) till it finishes
> loading of snd-usb-audio module.
> please see log here:
> https://pastebin.com/raw/BbNgUvLw
> As you can see the last line " usbcore: registered new interface
> driver snd-usb-audio" is printed ~100 seconds after the card is
> detected.
> 2. Testing other sound cards in same system, shows normal behavior.

A little update, we haven't tested this yet, so it's not correct. We
just saw on similar hw/kernel that there is no issue, but haven't test
it yet on the problematic system.
So this section should be ignored.

> 3. Surprisingly, testing same sound card with another distribution
> (ubuntu) shows no such behavior, and things are immediate.
> 4. We already tried several kernels and see the same behavior in all
> the tested kernels 3.18.11, 4.0.8 , 4.4.98.
> 5. I did find similar issues described here, but no resolve is given:
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1537465
>
> I would appreciate any suggestion,

Is there a way to debug the reason for snd-usb-audio waiting time ?

> ranran


~100 seconds(!) load time of snd-usb-audio

2018-08-20 Thread Ran Shalit
Hello,

We encounter the following strange behavior, and struggle with it for
couple of days now. I hope someone can suggest how to handle it.

1. We have a sound card, which takes ~100seconds(!) till it finishes
loading of snd-usb-audio module.
please see log here:
https://pastebin.com/raw/BbNgUvLw
As you can see the last line " usbcore: registered new interface
driver snd-usb-audio" is printed ~100 seconds after the card is
detected.
2. Testing other sound cards in same system, shows normal behavior.
3. Surprisingly, testing same sound card with another distribution
(ubuntu) shows no such behavior, and things are immediate.
4. We already tried several kernels and see the same behavior in all
the tested kernels 3.18.11, 4.0.8 , 4.4.98.
5. I did find similar issues described here, but no resolve is given:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1537465

I would appreciate any suggestion,
ranran


UBSAN warning from ac97_codec.c - shift exponent 68 is too large for 32-bit type 'int'

2018-08-12 Thread Meelis Roos
After the NULL UBSAN warning with gcc-8 are gone, there are still 2 new 
UBSAN warnings left with gcc-8.2:

[   16.174194] UBSAN: Undefined behaviour in sound/pci/ac97/ac97_codec.c:836:7
[   16.174282] shift exponent 68 is too large for 32-bit type 'int'

Full dnesg:

[0.00] Linux version 4.18.0-rc8-00049-gec0c96714e7d (mroos@kukeseen) 
(gcc version 8.2.0 (Debian 8.2.0-3)) #51 Sun Aug 12 19:38:09 EEST 2018
[0.00] x86/fpu: x87 FPU will use FXSAVE
[0.00] BIOS-provided physical RAM map:
[0.00] BIOS-e820: [mem 0x-0x0009fbff] usable
[0.00] BIOS-e820: [mem 0x0009fc00-0x0009] reserved
[0.00] BIOS-e820: [mem 0x000ec000-0x000f] reserved
[0.00] BIOS-e820: [mem 0x0010-0x3fff] usable
[0.00] BIOS-e820: [mem 0xfec0-0xfecf] reserved
[0.00] BIOS-e820: [mem 0xfee0-0xfeef] reserved
[0.00] BIOS-e820: [mem 0xffee-0xfff0fffe] reserved
[0.00] BIOS-e820: [mem 0xfffc-0x] reserved
[0.00] Notice: NX (Execute Disable) protection missing in CPU!
[0.00] Legacy DMI 2.3 present.
[0.00] DMI: MSI  MS-6547
 /MS-6547 , BIOS 07.00T
[0.00] e820: update [mem 0x-0x0fff] usable ==> reserved
[0.00] e820: remove [mem 0x000a-0x000f] usable
[0.00] last_pfn = 0x4 max_arch_pfn = 0x10
[0.00] MTRR default type: uncachable
[0.00] MTRR fixed ranges enabled:
[0.00]   0-9 write-back
[0.00]   A-B uncachable
[0.00]   C-C7FFF write-protect
[0.00]   C8000-E uncachable
[0.00]   F-F write-protect
[0.00] MTRR variable ranges enabled:
[0.00]   0 base 0 mask FC000 write-back
[0.00]   1 disabled
[0.00]   2 disabled
[0.00]   3 disabled
[0.00]   4 disabled
[0.00]   5 disabled
[0.00]   6 base 0E000 mask FFC00 write-combining
[0.00]   7 base 0E000 mask FFC00 write-combining
[0.00] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WC  UC- UC  
[0.00] initial memory mapped: [mem 0x-0x1fbf]
[0.00] Base memory trampoline at [(ptrval)] 9b000 size 16384
[0.00] BRK [0x1f818000, 0x1f818fff] PGTABLE
[0.00] ACPI: Early table checksum verification disabled
[0.00] ACPI BIOS Error (bug): A valid RSDP was not found 
(20180531/tbxfroot-210)
[0.00] 136MB HIGHMEM available.
[0.00] 887MB LOWMEM available.
[0.00]   mapped low ram: 0 - 377fe000
[0.00]   low ram: 0 - 377fe000
[0.00] tsc: Fast TSC calibration using PIT
[0.00] BRK [0x1f819000, 0x1f819fff] PGTABLE
[0.00] Zone ranges:
[0.00]   DMA  [mem 0x1000-0x00ff]
[0.00]   Normal   [mem 0x0100-0x377fdfff]
[0.00]   HighMem  [mem 0x377fe000-0x3fff]
[0.00] Movable zone start for each node
[0.00] Early memory node ranges
[0.00]   node   0: [mem 0x1000-0x0009efff]
[0.00]   node   0: [mem 0x0010-0x3fff]
[0.00] Reserved but unavailable: 98 pages
[0.00] Initmem setup node 0 [mem 0x1000-0x3fff]
[0.00] On node 0 totalpages: 262046
[0.00]   DMA zone: 36 pages used for memmap
[0.00]   DMA zone: 0 pages reserved
[0.00]   DMA zone: 3998 pages, LIFO batch:0
[0.00]   Normal zone: 1962 pages used for memmap
[0.00]   Normal zone: 223230 pages, LIFO batch:31
[0.00]   HighMem zone: 34818 pages, LIFO batch:7
[0.00] Using APIC driver default
[0.00] Local APIC disabled by BIOS -- reenabling.
[0.00] Found and enabled local APIC!
[0.00] PM: Registered nosave memory: [mem 0x-0x0fff]
[0.00] PM: Registered nosave memory: [mem 0x0009f000-0x0009]
[0.00] PM: Registered nosave memory: [mem 0x000a-0x000ebfff]
[0.00] PM: Registered nosave memory: [mem 0x000ec000-0x000f]
[0.00] [mem 0x4000-0xfebf] available for PCI devices
[0.00] clocksource: refined-jiffies: mask: 0x max_cycles: 
0x, max_idle_ns: 7645519600211568 ns
[0.00] random: get_random_bytes called from start_kernel+0x6d/0x36b 
with crng_init=0
[0.00] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[0.00] pcpu-alloc: [0] 0 
[0.00] Built 1 zonelists, mobility grouping on.  Total pages: 260048
[0.00] Kernel command line: auto BOOT_IMAGE=test ro root=803 lapic
[0.00] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[0.00] Inode-cache hash table 

Re: [alsa-devel] first and last audio sample timestamp

2018-06-25 Thread Takashi Iwai
On Mon, 25 Jun 2018 16:58:26 +0200,
Subhashini Rao Beerisetty wrote:
> 
> On Mon, Jun 25, 2018 at 8:23 PM, Takashi Iwai  wrote:
> 
> > On Mon, 25 Jun 2018 16:50:20 +0200,
> > Subhashini Rao Beerisetty wrote:
> > >
> > > On Mon, Jun 25, 2018 at 8:04 PM, Takashi Iwai  wrote:
> > >
> > > > On Fri, 22 Jun 2018 16:00:10 +0200,
> > > > Subhashini Rao Beerisetty wrote:
> > > > >
> > > > > [ Please keep me in CC as I'm not subscribed to the list]
> > > > >
> > > > > Hi All,
> > > > >
> > > > >
> > > > >
> > > > > Hello all,
> > > > >
> > > > >
> > > > > I’m using aplay and arecord utilities for playback and capture. I
> > need to
> > > > > capture the timestamps for the first and last audio samples that
> > arrive
> > > > at
> > > > > the driver level.
> > > > >
> > > > > For this I’m capturing the CLOCK_MONOTONIC_RAW timestamp at the
> > > > > .trigger(for playback & capture) callback in SNDRV_PCM_TRIGGER_START
> > > > case
> > > > > – is it the correct timestamp for the first audio sample arrived at
> > the
> > > > > driver level?
> > > > >
> > > > > Similarly does .trigger callbacks SNDRV_PCM_TRIGGER_STOP gives the
> > last
> > > > > audio sample timestamp?
> > > >
> > > > No, it's the timestamp upon calling the trigger callback.
> > > > It has nothing to do directly with the first or the last sample.
> > > > (But usually the start trigger is the time of the first sample for
> > > >  capture, though.)
> > > >
> > >
> > > Okay then if start trigger is the time of the first sample for capture,
> > > then is stop trigger is for last sample?
> >
> > No, it's not necessarily the last sample.  It's the just time you stop
> > the stream.  The stop might happen some time after the last sample got
> > received.  The accuracy in that regard pretty much depends on the
> > hardware and the driver implementation.
> >
> Thanks for the clarification. What about for playback scenario?

A similar situation.  The timestamp at stop trigger is the time you
stopped the stream, and it's not about the "last" sample time.

BTW, for the accurate timestamping, check
Documentation/sound/design/timestamping.rst.


Takashi


> 
> 
> >
> >
> > Takashi
> >
> > > For example, i'm printing the
> > > timestamp as given below. Similarly in which call back I can use the
> > > getrawmonotonic()
> > > for playback case.
> > >
> > > static int snd_mychip_capture_trigger(struct snd_pcm_substream
> > *substream,
> > > int cmd)
> > >
> > > {
> > >
> > > struct timespec ts;
> > >
> > >
> > >
> > > switch(cmd) {
> > >
> > > case SNDRV_PCM_TRIGGER_START:
> > >
> > > getrawmonotonic();
> > >
> > > printk("1st audio sample received time:
> > > [%.6lu:%.9lu]\n",ts.tv_sec, ts.tv_nsec);
> > >
> > > break;
> > >
> > > case SNDRV_PCM_TRIGGER_STOP:
> > >
> > > getrawmonotonic();
> > >
> > > printk("Last audio sample received time:
> > > [%.6lu:%.9lu]\n",ts.tv_sec, ts.tv_nsec);
> > >
> > > break;
> > >
> > > }
> > >
> > >
> > >
> > > }
> > >
> > >
> > > >
> > > >
> > > > Takashi
> > > >
> >
> [2  ]
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [alsa-devel] first and last audio sample timestamp

2018-06-25 Thread Takashi Iwai
On Fri, 22 Jun 2018 16:00:10 +0200,
Subhashini Rao Beerisetty wrote:
> 
> [ Please keep me in CC as I'm not subscribed to the list]
> 
> Hi All,
> 
> 
> 
> Hello all,
> 
> 
> I’m using aplay and arecord utilities for playback and capture. I need to
> capture the timestamps for the first and last audio samples that arrive at
> the driver level.
> 
> For this I’m capturing the CLOCK_MONOTONIC_RAW timestamp at the
> .trigger(for playback & capture) callback in SNDRV_PCM_TRIGGER_START  case
> – is it the correct timestamp for the first audio sample arrived at the
> driver level?
> 
> Similarly does .trigger callbacks SNDRV_PCM_TRIGGER_STOP gives the last
> audio sample timestamp?

No, it's the timestamp upon calling the trigger callback.
It has nothing to do directly with the first or the last sample.
(But usually the start trigger is the time of the first sample for
 capture, though.)


Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: audio samples data flow from user mode to kernel mode

2018-06-25 Thread priyaranjan
Hi Subhashini,

On Sat, Jun 23, 2018 at 4:22 PM, Subhashini Rao Beerisetty
 wrote:
> Hello All,
>
>
>
> I’m trying to understand how audio samples transferred between user mode to
> kernel mode during playback and capture. I’m using aplay & arecord alsa
> utilities for playback and capture.
>
>
>
> Let us take a PCM wav file of sample rate 48000 and it has a total number of
> samples 48 (Approx.Duration in seconds=10). Size of each sample is 8
> bytes(two channels). After invocation of aplay from user mode, how does
> these audio samples gets copied to kernel mode? Can someone explain me on
> this?
>

Usually this is done in corresponding sound/alsa device driver.
The alsa driver should populate the following structure :-

struct snd_pcm_substream {
struct snd_pcm *pcm;
struct snd_pcm_str *pstr;
void *private_data; /* copied from pcm->private_data */
int number;
char name[32]; /* substream name */
int stream; /* stream (direction) */
struct pm_qos_request latency_pm_qos_req; /* pm_qos request */
size_t buffer_bytes_max; /* limit ring buffer size */
struct snd_dma_buffer dma_buffer;
size_t dma_max;
/* -- hardware operations -- */
const struct snd_pcm_ops *ops;

Here, you can find the dma_buffer where you have to populate the
destination(kernel buffer)
I would suggest please have a look at Alsa driver documentation for
further details.
There are lot of important parameters which defines how the copy will
happen from
user-space to kernel space - like period size, period count etc. Also
look at important
functions - snd_pcm_period_elapsed etc

>
>
> Is it possible to capture the timestamps for the first and last audio
> samples that arrive at the driver level?
>
>
>
> Can I consider the .trigger(for playback & capture) callback in
> SNDRV_PCM_TRIGGER_START  case is timestamp for the first audio sample?
>
>
>
> Similarly does .trigger callbacks SNDRV_PCM_TRIGGER_STOP gives the last
> audio sample timestamp?
>
>
>
> Thanks,
>
>
> ___
> Kernelnewbies mailing list
> kernelnewb...@kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: audio samples data flow from user mode to kernel mode

2018-06-23 Thread o



23.06.2018, 14:52, "Subhashini Rao Beerisetty" :
> Hello All,

Hello,


> I’m trying to understand how audio samples transferred between user mode to 
> kernel mode during playback and capture. I’m using aplay & arecord alsa 
> utilities for playback and capture.
>
> Let us take a PCM wav file of sample rate 48000 and it has a total number of 
> samples 48 (Approx.Duration in seconds=10). Size of each sample is 8 
> bytes(two channels). After invocation of aplay from user mode, how does these 
> audio samples gets copied to kernel mode? Can someone explain me on this?
>
> Is it possible to capture the timestamps for the first and last audio samples 
> that arrive at the driver level?
>
> Can I consider the .trigger(for playback & capture) callback in 
> SNDRV_PCM_TRIGGER_START  case is timestamp for the first audio sample?
>
> Similarly does .trigger callbacks SNDRV_PCM_TRIGGER_STOP gives the last audio 
> sample timestamp?

I think no, because the SNDRV_PCM_TRIGGER_START and SNDRV_PCM_TRIGGER_STOP 
functions only system call to the PCM transmitted.
So, will want two different functions as playback / capture and the method 
depends on you use alsa or pulse.

I think you want to:

snd_mychip_playback_open
snd_mychip_playback_close

snd_mychip_capture_open
snd_mychip_capture_close

Trigger funcs times are not real playback or capture time-stamps.

Regards

Ozgur

> Thanks,
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Grant

2018-06-20 Thread Maratovich M. Fridman





--
I Mikhail Fridman. has selected you specially as one of my beneficiaries
for my Charitable Donation, Just as I have declared on May 23, 2016 to give
my fortune as charity.

Check the link below for confirmation:

http://www.ibtimes.co.uk/russias-second-wealthiest-man-mikhail-fridman-plans-leaving-14-2bn-fortune-charity-1561604

Reply as soon as possible with further directives.

Best Regards,
Mikhail Fridman.
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Grant

2018-06-20 Thread Maratovich M. Fridman





--
I Mikhail Fridman. has selected you specially as one of my beneficiaries
for my Charitable Donation, Just as I have declared on May 23, 2016 to give
my fortune as charity.

Check the link below for confirmation:

http://www.ibtimes.co.uk/russias-second-wealthiest-man-mikhail-fridman-plans-leaving-14-2bn-fortune-charity-1561604

Reply as soon as possible with further directives.

Best Regards,
Mikhail Fridman.
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [alsa-devel] sound: ALSA PCM Timestamps

2018-05-23 Thread Pierre-Louis Bossart

On 5/23/18 8:00 AM, Muni Sekhar wrote:

[ Please keep me in CC as I'm not subscribed to the list]

Hi All,

There are several time stamping functions in ALSA:


snd_pcm_status_get_trigger_tstamp

snd_pcm_status_get_trigger_htstamp

snd_pcm_status_get_tstamp

snd_pcm_status_get_htstamp

snd_pcm_status_get_audio_htstamp

snd_pcm_status_get_driver_htstamp


the *_tstamp functions work with a 'struct timeval' which provides 
microsecond resolution.
The *_stamp functions work with a 'struct timespec' which provides 
nanosecond resolution.


The trigger_*tstamp returns the time when the stream started (typically 
when the DMA starts).
The get_tstamp returns the current timestamp measured with the regular 
timekeeping functions, which by subtracting the trigger timestamp 
provides the elapsed time since the start. You can specify if you want 
the REALTIME/MONOTONIC/MONOTONIC_RAW timestamp type, depending on your 
application.
The audio timestamp returns the current timestamp but measured using 
audio-specific counters. If the audio clocks are not aligned with the 
system time (e.g. if they use different oscillators or the audio clock 
source is external), there will be a drift between audio timestamps and 
system timestamp.







I would like to understand what points in time the resulting functions
represent and what is the corresponding kernel mode callback for those
API’s.


I'd be really grateful if someone took the time to help me clearing my doubt.





--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: sound: latency and synchronization measurements

2018-05-18 Thread Muni Sekhar
On Fri, May 18, 2018 at 6:42 PM, Greg KH  wrote:
> On Fri, May 18, 2018 at 06:07:29PM +0530, Muni Sekhar wrote:
>> [ Please keep me in CC as I'm not subscribed to the list]
>>
>> Hi All,
>>
>> I am trying to characterize the audio synchronization between two
>> systems. There is a mechanism to route audio between two systems, we
>> run ‘aplay’ at one system and ‘arecord’ in other system.
>>
>> We need to measure the time difference when audio sample is out at one
>> port and arriving at another port in different system.
>>
>> I plan to add printk’s in “struct snd_pcm_ops” call backs, but does
>> these call backs tells when it received first and last audio
>> frames\samples?
>>
>> Or else please suggest any other best method.
>
> First off you need a "shared timer/clock" between the two systems in
> order to have a chance to determine what actually happens here.  Good
> luck with that!  :)
Yes, we do have the shared clock.

>
> Also, there's been tons of research in this area over the years, please
> look into that, odds are these problems have been solved already.  I
> know of several commercial devices that already handle this just fine.
>
Can you point me some information on this.


> best of luck!
>
> greg k-h



-- 
Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: sound: latency and synchronization measurements

2018-05-18 Thread Muni Sekhar
On Fri, May 18, 2018 at 6:53 PM, Aris Aris  wrote:
> Hi,
>
> You could try bitbanging any availiable peripheral(i.e gpio) from each
> system at the callbacks and have a logic analyzer measuring and reporting
> time delay.
Thank you very much Aris for this information.
I am fairly new to sound sub system, I’m glad if you can point me on
the callbacks.

Does the sound driver will be notified aplay\arecord open via
“snd_xxx_open(struct snd_pcm_substeam *substream)” callback?
Which callbacks of sound driver will tell when it received first and
last audio frames\samples?


>
> Best regards,
>
> Aris
>
> On Fri, May 18, 2018 at 3:37 PM, Muni Sekhar 
> wrote:
>>
>> [ Please keep me in CC as I'm not subscribed to the list]
>>
>> Hi All,
>>
>> I am trying to characterize the audio synchronization between two
>> systems. There is a mechanism to route audio between two systems, we
>> run ‘aplay’ at one system and ‘arecord’ in other system.
>>
>> We need to measure the time difference when audio sample is out at one
>> port and arriving at another port in different system.
>>
>> I plan to add printk’s in “struct snd_pcm_ops” call backs, but does
>> these call backs tells when it received first and last audio
>> frames\samples?
>>
>> Or else please suggest any other best method.
>>
>>
>> --
>> Thanks,
>> Sekhar
>>
>> ___
>> Kernelnewbies mailing list
>> kernelnewb...@kernelnewbies.org
>> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>



-- 
Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


sound: latency and synchronization measurements

2018-05-18 Thread Muni Sekhar
[ Please keep me in CC as I'm not subscribed to the list]

Hi All,

I am trying to characterize the audio synchronization between two
systems. There is a mechanism to route audio between two systems, we
run ‘aplay’ at one system and ‘arecord’ in other system.

We need to measure the time difference when audio sample is out at one
port and arriving at another port in different system.

I plan to add printk’s in “struct snd_pcm_ops” call backs, but does
these call backs tells when it received first and last audio
frames\samples?

Or else please suggest any other best method.


-- 
Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


sound: aplay\arecord audio frame flow

2018-05-14 Thread Muni Sekhar
[ Please keep me in CC as I'm not subscribed to the list]

Hi All,

Is there anyway in the kernel sound subsystem to know when the
application calls ‘aplay’ and anything starts playing?

Also for arecord\aplay, Is there any way from kernel's point of view
to know when it receives for example the first and last audio frames?


-- 
Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


linux-sound: timestamps for audio frames

2018-05-02 Thread Muni Sekhar
[ Please keep me in CC as I'm not subscribed to the list]

Hi All,

>From sound driver, I am wondering if we could get the timestamps when
It receives for example the first and last audio frames.


Is there any way we can extract or expose that information to user mode?


-- 
Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE:Charity Support

2018-04-14 Thread M.Fridman



--
I Mikhail Fridman. has selected you specially as one of my beneficiaries
for my Charitable Donation, Just as I have declared on May 23, 2016 to 
give

my fortune as charity.

Check the link below for confirmation:

http://www.ibtimes.co.uk/russias-second-wealthiest-man-mikhail-fridman-plans-leaving-14-2bn-fortune-charity-1561604

Reply as soon as possible with further directives.

Best Regards,
Mikhail Fridman.
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Donation

2018-03-30 Thread M. M. Fridman
I Mikhail Fridman. has selected you specially as one of my beneficiaries
for my Charitable Donation, Just as I have declared on May 23, 2016 to give
my fortune as charity.

Check the link below for confirmation:

http://www.ibtimes.co.uk/russias-second-wealthiest-man-mikhail-fridman-plans-leaving-14-2bn-fortune-charity-1561604

Reply as soon as possible with further directives.

Best Regards,
Mikhail Fridman.
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [alsa-devel] pulseaudio\aplay\arecord

2018-03-22 Thread Sriram Periyasamy
On Tue, Mar 20, 2018 at 06:42:04PM +0530, Muni Sekhar wrote:
> [ Please keep me in CC as I'm not subscribed to the list]
> 
> Hi All,
> 
> 
> 
> We are using the Ubuntu 16.04.3 LTS (4.4.0-28-generic) kernel. I’ve a
> sound card hardware which supports analog loopback. During analog
> loopback test, aplay fails with
> “aplay: pcm_write:1940: write error: Input/output error”.
> 
> In our system, I noticed that once the sound driver is loaded,
> PulseAudio daemon autospawns and taking over control of the sound
> device. Does the ‘pulseaudio’ causes ‘aplay’ failure?

No, it doesn't in your scenario. Until pulseaudio opens the device
and writes samples to it, you can use aplay. You may have to debug
the data flow in your loopback device to fix your issue.

> 
> Can we use aplay\arecord if already pulseaudio daemon is running?

Yes, you can use until any sound application triggers pulseaudio to
start using the device.

Thanks,
Sriram.
> 
> 
> 
> -- 
> Thanks,
> Sekhar
> ___
> Alsa-devel mailing list
> alsa-de...@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

-- 
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Gruß

2018-03-21 Thread Vladimir Volf
Gruß

In einer kurzen Einleitung bin ich der Anwalt Vladimir Volf aus
zamberk Tschechische Republik, aber jetzt lebe ich in London, ich habe
dir eine E-Mail über meinen verstorbenen Klienten geschickt, aber ich
habe keine Antwort von dir erhalten, der Verstorbene ist ein Bürger
Von deinem Land mit dem gleichen Nachnamen mit dir, er ist ein
Exporteur von Gold hier in London.

Er starb vor ein paar Jahren mit der Familie und verließ seine
Firma,und riesige Geldbeträge in UBS Investment Bank hier in London
hinterlegt, Ich bin sein persönlicher Anwalt und ich brauche deine
Mitarbeit, damit wir das Geld bekommen können. Das Geld wird in Höhe
von £ 5,7 Millionen geschätzt, bevor die Regierung das Geld endgültig
beschlagnahmt hat, aber ich sage dir weitere Details darüber, wenn ich
von dir höre.
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [alsa-devel] aplay\arecord compare utility

2018-02-25 Thread Ricard Wanderlof

On Fri, 23 Feb 2018, Muni Sekhar wrote:

>  [ Please keep me in CC as I'm not subscribed to the list]
> 
> I?m using an alsa utilities(aplay & arecord) for sound loopback
> testing. From Linux host , sending & receiving the wav file.
> 
> At end I want to compare the sent & received wav file. Does Linux has
> any utility to support this one?

If the wav headers are identical, you can just use cmp or diff. Otherwise, 
you can extract the raw audio using sox, which gives you files with just 
the audio samples in them, and then you can use cmp or diff to compare 
them. It won't work though if the files aren't actually identical, for 
instance if there is an offset of a couple of samples in one compared to 
the other.

If I had to compare two wav files which were offset by a small number of 
samples, I'd open them in Audacity, manually align them, then sum the 
result, write to a new file and verify that the file just contained zeros.

/Ricard
-- 
Ricard Wolf Wanderlöf   ricardw(at)axis.com
Axis Communications AB, Lund, Swedenwww.axis.com
Phone +46 46 272 2016   Fax +46 46 13 61 30
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


aplay\arecord compare utility

2018-02-23 Thread Muni Sekhar
 [ Please keep me in CC as I'm not subscribed to the list]


Hi All,


I’m using an alsa utilities(aplay & arecord) for sound loopback
testing. From Linux host , sending & receiving the wav file.

At end I want to compare the sent & received wav file. Does Linux has
any utility to support this one?


-- 
Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


information required

2018-02-21 Thread info
Thanks for your last email response to me.
The information required should include the following-:
Your full names
Your address
Telephone number
Your private email
Occupation
Age
This is to enable my further discussion with you in confidence.
Best regards and wishes to you.
Mohammad Amir Khadov

NB: Please reply to:

uk...@postaxte.com


uk...@postaxte.com
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


audio CODEC(CS42888) test

2018-02-21 Thread Muni Sekhar
Hi All,


I’m having a sound hardware which contains an analogue audio
CODEC(CS42888) and configuring the CODEC is performed over SPI bus.


I noticed that linux kernel already had a driver(snd-soc-cs42xx8.ko)
for this, I planned to use this driver.


Basically I’d like to perform loopback test and compare the sent and
received files to verify data fidelity. Also the test to be repeated
for various data rates and data formats.


I’d like to know how to test this loopback scenario?


I appreciate any help.


-- 
Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


GREETINGS FROM MR.MUSTAPHA ALI.

2018-01-27 Thread mustapha ali
My Dear Friend.

I am Mr. Mustapha  Ali  a banker in Bank of Africa Burkina Faso West
Africa, Please i want to transfer an abandoned sum of 13.5 millions
USD to your account.50% will be for you and 50% for me.

No risk involved. Respond back to me if you are interested along with
your personal information needed below for more details.

1. Full name:.
2. Current Address:.
3. Phone.
4. Occupation:.
5. Age:
6. Country:
7. Sex
8. Your Passport or ID card or Driving License

Thanks.

Mr. Mustapha  Ali
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Reply

2018-01-23 Thread Andrew
Dear Sir,
I am Andrew Wetkas.Personal Assistant to a former Governor in Nigeria.  We need 
your assistance to  invest a huge sum in your country. I will give you further 
details once I hear from you.
Regards
Andrew
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


GOOD DAY FROM MOHAMMED AHMED .

2017-12-19 Thread Mr Mohamad Ahmed
My Dear  Friend.

I am Mr. Mohammed Ahmed, I work with Bank Of Africa Burkina Faso West
Africa as their Auditing Manager.  My Dear I am sending you this
business proposal in regards to release and transfer of $13.5 M USD
into a foreign account.

Everything about the transaction shall be done legal and official on
your behalf without any problem for all I require from you is to
provide foreign account to receive the fund, Please you shouldn’t be
embarrassed how I came across your email ID for I got your contact
address from internet Directory and I decided to get in touch with you
with the proposal.

If you are interested to execute the business with me and also provide
foreign account to receive the fund then get back to me for more
details about the business deal and as soon as I receive your positive
response along with your personal information, I will not hesitate to
feed you with more details on how we are to achieve our goal.

You will be entitle  to have 50% as your own share from the fund and
50% will for me,  If you are willing to execute the business  then
send me immediately your personal  information needed to enable us
proceed ahead with the business.


1. Full name:.
2. Current Address:.
3. Phone.
4. Occupation:.
5. Age:
6. Country:
7. Sex
8. Your Passport or ID card or Driving License

Waiting For Your Urgent Response

Thanks

Mr. Mohammed Ahmed.
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Distress Call Please don't ignore

2017-12-18 Thread Sandra Younes
Good Day,

Forgive my indignation if this message comes to you as a surprise and may 
offend your personality for contacting you without your prior consent and 
writing through this channel.

I came across your name and contact on the course of my personal searching when 
i was searching for a foreign reliable partner. I was assured of your 
capability and reliability after going true your profile.

I'm (Miss. Sandra) from Benghazi libya, My father of blessed memory by name 
late General Abdel Fattah Younes who was shot death by Islamist-linked militia 
within the anti-Gaddafi forces on 28th July, 2011 and after two days later my 
mother with my two brothers was killed one early morning by the rebels as 
result of civil war that is going on in my country Libya, then after the burial 
of my parents, my uncles conspired and sold my father's properties and left 
nothing for me. On a faithful morning, I opened my father's briefcase and 
discover a document which he has deposited ($6.250M USD) in a bank in a Turkish 
Bank which has a small branch in Canada with my name as the legitimate/next of 
kin. Meanwhile i have located the bank,and have also discussed the possiblity 
of transfering the fund. My father left a clause to the bank that i must 
introduce a trusted foreign partner who would be my trustee to help me invest 
this fund; hence the need for your assistance,i request that you be my t
rustee and assist me in e

You will also be responsible for the investment and management of the fund for 
me and also you will help me get a good school where i will further my 
education.
I agreed to give you 40% of the $6.250M once the transfer is done. this is my 
true life story, I will be glad to receive your respond soonest for more 
details to enable us start and champion the transfer less than 14 banking days 
as i was informed by the bank manager.

Thanks for giving me your attention,

Yours sincerely,
Miss. Sandra Younes
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Grant -> Reply To fmayrhoferfam...@gmail.com

2017-11-08 Thread The Mayrhofer's



--
Good Day,

My wife and I have awarded you with a donation of $ 1,000,000.00  
Dollars from part of our Jackpot Lottery of 50 Million Dollars,  
respond with your details for claims to our private email on:  
fmayrhoferfam...@gmail.com .


We await your earliest response and God Bless you.

Friedrich And Annand Mayrhofer.
Private Email: fmayrhoferfam...@gmail.com

--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Quick Loans

2017-07-25 Thread Sec Capital Loans
Loan Offer at 3%, Feel Free to REPLY back to us for more info.
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


HOPE TO HEAR FROM YOU

2017-07-12 Thread Miss Fatima
Hello Dear,

I'm Miss.Fatima  24yrs old female, from Benghazi – Libya seeking for
your assistance regards to my situation since the death of my
parents.My father of blessed memory by name late General Abdel Fattah
Younes who was shot death by Islamist-linked militia within the
anti-Gaddafi forces on 28th July, 2011 and after two days later my
mother with my two brothers was killed one early morning by the rebels
as result of civil war that going on in my country Libya. I am now
writing to seek for your assistance from Cotonou where I managed to
escape nearby country through the help of United Nation after the
death of my parents, and now seeking asylum in Refugee Camp here in
Cotonou.

Meanwhile, the main reason why I am seeking for your assistance is
because of some money my late father was deposited in one of the banks
here in Cotonou in my name as his next of kin which amount is ($6.250M
USD).However, I have being advised by the bank manager to look for a
foreign partner who will stand as my trustee to claim the fund due to
my refugee status. And i will forward you with the necessary documents
on confirmation of your acceptance to assist me for the transfer and
statement of the fund in your country. As you will help me in an
investment, also it is my intention to compensate you with 40% of the
total money for your services and the balance shall be my capital in
your establishment.

Please get back to me if you are interesting by assisting me claim the
fund, so that I will give you all the details /contact of the bank
where the fund was deposited. Honestly I want the fund to be
transferred into your account before I come over your country to
continue my education,honestly I am really suffering since I arrived
in this country, it is too painful, but I hope with your help I will
have the fund transferred into your account to enable me to come over
to your country and have a better life to live in your country.


Thanks
Miss Fatima
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Headphone not working on ALC299

2017-05-15 Thread Arek Burdach

Hi,

I have a problem with ALC299 sound card on Lenovo Yoga 910 (Kaby Lake).
Looks like there is some regression bug with Beep Playback codec with 
causes:


$ amixer controls
(...)
numid=18,iface=MIXER,name='Beep Playback Switch'
amixer: Control default snd_hctl_elem_info error: Invalid argument

disabling CONFIG_SND_HDA_INPUT_BEEP fixing it.

More info on: https://bugzilla.kernel.org/show_bug.cgi?id=195775

Any idea, how to fix it?

Cheers,
Arek
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re:

2017-05-03 Thread H.A
With profound love in my heart, I Kindly Oblige your interest to very important 
proposal.. It is Truly Divine and require your utmost attention..

S hlubokou láskou v mém srdci, Laskave jsem prinutit svuj zájem k návrhu .. Je 
velmi duležité, skutecne Divine a vyžadují vaši nejvyšší pozornost.

  Kontaktujte me prímo pres: helenarobert...@gmail.com pro úplné 
podrobnosti.complete.


HELINA .A ROBERTS

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[no subject]

2017-01-09 Thread anthonia
Bitte tut mir leid, dass ich Sie stören kann, können Sie mich auf
E-Mail-Adresse, so dass ich in der Lage, Ihnen meine Bilder
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/4] hid-lenovo: Add support for X1 Tablet cover LED control

2016-12-19 Thread Dennis Wassenberg
Hi Jiri,

Thanks for your comments. I added comments in-lined.

Best regards,

Dennis

On 19.12.2016 10:54, Jiri Kosina wrote:
> Hi Dennis,
> 
> thanks a lot for the patch.
> 
> On Fri, 9 Dec 2016, Dennis Wassenberg wrote:
> 
>> +int hid_lenovo_led_set(enum hid_lenovo_led_type led, bool on)
>> +{
>> +struct led_classdev *dev = NULL;
>> +struct lenovo_led_list_entry *entry;
>> +
>> +if (led >= HID_LENOVO_LED_MAX)
>> +return -EINVAL;
>> +
>> +hid_lenovo_initial_leds[led] = on ? LED_FULL : LED_OFF;
>> +
>> +list_for_each_entry(entry, _lenovo_leds, list) {
>> +if (entry->type == led) {
>> +dev = entry->dev;
>> +break;
>> +}
>> +}
> 
> How exactly is this synchronized against lenovo_remove_tpx1cover()?
> 
In case of that the tpx1cover is disconnected it will be removed from 
hid_lenovo_leds list. That means not included at the hid_lenovo_leds list. In 
this case dev is still NULL and the function will return -ENODEV. The static 
array hid_lenovo_initial_leds is still set to store the current state of a LED 
type. This is used to set the LED appropriately if the tpx1cover is replugged.

Maybe I should add a mutex to protect the hid_lenovo_leds list operations in 
hid-lenovo.c to fix the case if a unplug occurred concurrently to setting an 
led?!

>> +
>> +if (!dev)
>> +return -ENODEV;
>> +
>> +if (!dev->brightness_set)
>> +return -ENODEV;
>> +
>> +dev->brightness_set(dev, on ? LED_FULL : LED_OFF);
>> +
>> +return 0;
>> +}
>> +EXPORT_SYMBOL_GPL(hid_lenovo_led_set);
> 
> Does this really need to be exported to the whole universe? (I guess this 
> will be further discussed in 4/4).

No, it is sufficient if thinkpad-helper can access it.
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/4] hda: thinkpad_helper: Add support for hid-lenovo LED control

2016-12-19 Thread Dennis Wassenberg
Hi Jiri,

"led_set_func_hid_lenovo" is set to "hid_lenovo_led_set"

+#if IS_ENABLED(CONFIG_HID_LENOVO)
+static int hda_fixup_thinkpad_hid_prepare(struct hda_codec *codec)
+{
+   struct hda_gen_spec *spec = codec->spec;
+   int ret = 0;
+
+   if (!is_thinkpad(codec))
+   return -ENODEV;
+   if (!led_set_func_hid_lenovo)
+   led_set_func_hid_lenovo = symbol_request(hid_lenovo_led_set);

"hid_lenovo_led_set" is introduced in "[PATCH v2 2/2] hda: thinkpad_helper: Add 
support for hid-lenovo LED control". This means that "[PATCH 4/4] hda: 
thinkpad_helper: Add support for hid-lenovo LED control" can only work with 
applied "[PATCH 1/4] hid-lenovo: Add support for X1 Tablet cover special keys" 
and "[PATCH v2 2/2] hda: thinkpad_helper: Add support for hid-lenovo LED 
control".

Best regards,

Dennis
On 19.12.2016 11:09, Jiri Kosina wrote:
> On Fri, 9 Dec 2016, Dennis Wassenberg wrote:
> 
>> +#if IS_ENABLED(CONFIG_THINKPAD_ACPI)
>> +if (led_set_func_tpacpi)
>> +led_set_func_tpacpi(TPACPI_LED_MUTE, !enabled);
>> +#endif
>> +#if IS_ENABLED(CONFIG_HID_LENOVO)
>> +if (led_set_func_hid_lenovo)
>> +led_set_func_hid_lenovo(HID_LENOVO_LED_MUTE, !enabled);
> 
> Where does led_set_func_hid_lenovo() come from? I don't see it in Linus' 
> tree as of today. Is that something else than tpacpi_led_set()?
> 
> Thanks,
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/4] hda: thinkpad_helper: Add support for hid-lenovo LED control

2016-12-19 Thread Jiri Kosina
On Fri, 9 Dec 2016, Dennis Wassenberg wrote:

> +#if IS_ENABLED(CONFIG_THINKPAD_ACPI)
> + if (led_set_func_tpacpi)
> + led_set_func_tpacpi(TPACPI_LED_MUTE, !enabled);
> +#endif
> +#if IS_ENABLED(CONFIG_HID_LENOVO)
> + if (led_set_func_hid_lenovo)
> + led_set_func_hid_lenovo(HID_LENOVO_LED_MUTE, !enabled);

Where does led_set_func_hid_lenovo() come from? I don't see it in Linus' 
tree as of today. Is that something else than tpacpi_led_set()?

Thanks,

-- 
Jiri Kosina
SUSE Labs

--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


DO YOU NEED A LOAN??

2016-12-12 Thread bancoleite
Are you in need of a loan? Apply for more details.
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/4] hid-lenovo: Add support for X1 Tablet cover LED control

2016-12-09 Thread Dennis Wassenberg
Add support for controlling MUTE, MICMUTE and FNLOCK LEDs.
In ordner to enable MUTE and MICMUTE LED control over thinkpad_helper
the external interface hid_lenovo_led_set is introduced.
This enables setting Lenovo LEDs from external.
This is needed because the X1 Tablet Cover is the first
thinkpad_helper controlable device which is connected via USB.
Additionally the led state is stored inside the hid-lenovo driver to
make the driver able to set the led appropriate after device attach.
---
 drivers/hid/hid-lenovo.c   | 262 +
 include/linux/hid-lenovo.h |  15 +++
 2 files changed, 277 insertions(+)
 create mode 100644 include/linux/hid-lenovo.h

diff --git a/drivers/hid/hid-lenovo.c b/drivers/hid/hid-lenovo.c
index 4fc332c..2efd5b0 100644
--- a/drivers/hid/hid-lenovo.c
+++ b/drivers/hid/hid-lenovo.c
@@ -21,11 +21,27 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
 #include "hid-ids.h"
 
+struct lenovo_led_list_entry {
+   struct led_classdev *dev;
+   enum hid_lenovo_led_type type;
+   struct list_head list;
+};
+
+struct lenovo_led_type_entry {
+   struct led_classdev *dev;
+   enum hid_lenovo_led_type type;
+   struct list_head list;
+};
+
+static struct list_head hid_lenovo_leds = LIST_HEAD_INIT(hid_lenovo_leds);
+static enum led_brightness hid_lenovo_initial_leds[HID_LENOVO_LED_MAX];
+
 struct lenovo_drvdata_tpkbd {
int led_state;
struct led_classdev led_mute;
@@ -44,6 +60,44 @@ struct lenovo_drvdata_cptkbd {
int sensitivity;
 };
 
+struct lenovo_drvdata_tpx1cover {
+   uint16_t led_state;
+   uint8_t fnlock_state;
+   uint8_t led_present;
+   struct led_classdev led_mute;
+   struct led_classdev led_micmute;
+   struct led_classdev led_fnlock;
+};
+
+int hid_lenovo_led_set(enum hid_lenovo_led_type led, bool on)
+{
+   struct led_classdev *dev = NULL;
+   struct lenovo_led_list_entry *entry;
+
+   if (led >= HID_LENOVO_LED_MAX)
+   return -EINVAL;
+
+   hid_lenovo_initial_leds[led] = on ? LED_FULL : LED_OFF;
+
+   list_for_each_entry(entry, _lenovo_leds, list) {
+   if (entry->type == led) {
+   dev = entry->dev;
+   break;
+   }
+   }
+
+   if (!dev)
+   return -ENODEV;
+
+   if (!dev->brightness_set)
+   return -ENODEV;
+
+   dev->brightness_set(dev, on ? LED_FULL : LED_OFF);
+
+   return 0;
+}
+EXPORT_SYMBOL_GPL(hid_lenovo_led_set);
+
 #define map_key_clear(c) hid_map_usage_clear(hi, usage, bit, max, EV_KEY, (c))
 
 static const __u8 lenovo_pro_dock_need_fixup_collection[] = {
@@ -416,6 +470,62 @@ static int lenovo_event_cptkbd(struct hid_device *hdev,
return 0;
 }
 
+static enum led_brightness lenovo_led_brightness_get_tpx1cover(
+   struct led_classdev *led_cdev)
+{
+   struct device *dev = led_cdev->dev->parent;
+   struct hid_device *hdev = to_hid_device(dev);
+   struct lenovo_drvdata_tpx1cover *drv_data = hid_get_drvdata(hdev);
+   enum hid_lenovo_led_type led;
+
+   if (led_cdev == _data->led_mute)
+   led = HID_LENOVO_LED_MUTE;
+   else if (led_cdev == _data->led_micmute)
+   led = HID_LENOVO_LED_MICMUTE;
+   else if (led_cdev == _data->led_fnlock)
+   led = HID_LENOVO_LED_FNLOCK;
+   else
+   return LED_OFF;
+
+   return drv_data->led_state & (1 << led)
+   ? LED_FULL
+   : LED_OFF;
+}
+
+static void lenovo_led_brightness_set_tpx1cover(struct led_classdev *led_cdev,
+   enum led_brightness value)
+{
+   struct device *dev = led_cdev->dev->parent;
+   struct hid_device *hdev = to_hid_device(dev);
+   struct lenovo_drvdata_tpx1cover *drv_data = hid_get_drvdata(hdev);
+   struct hid_report *report;
+   enum hid_lenovo_led_type led;
+
+   if (led_cdev == _data->led_mute) {
+   led = HID_LENOVO_LED_MUTE;
+   } else if (led_cdev == _data->led_micmute) {
+   led = HID_LENOVO_LED_MICMUTE;
+   } else if (led_cdev == _data->led_fnlock) {
+   led = HID_LENOVO_LED_FNLOCK;
+   } else {
+   hid_warn(hdev, "Invalid LED to set.\n");
+   return;
+   }
+
+   if (value == LED_OFF)
+   drv_data->led_state &= ~(1 << led);
+   else
+   drv_data->led_state |= 1 << led;
+
+   report = hdev->report_enum[HID_OUTPUT_REPORT].report_id_hash[9];
+   if (report) {
+   report->field[0]->value[0] = ((led + 1) << 4) | 0x44;
+   report->field[0]->value[1] = (drv_data->led_state & (1 << led))
+   ? 0x02 : 0x01;
+   hid_hw_request(hdev, report, HID_REQ_SET_REPORT);
+   }
+}
+
 static int lenovo_event(struct hid_device *hdev, struct hid_field *field,
struct 

[PATCH v2 2/2] hda: thinkpad_helper: Add support for hid-lenovo LED control

2016-09-14 Thread Dennis Wassenberg
Make the thinkpad_helper able to support not only led control over
acpi with thinkpad_acpi driver but also led control over hid-lenovo.
The hid-lenovo driver adapted the led control api of thinkpad_acpi.
Make the thinkpad_acpi and hid-lenovo able to work combined to
support connected Lenovo USB keyboards at Lenovo Thinkpad devices.

Signed-off-by: Dennis Wassenberg 
---

Changes v1 -> v2 (suggested by Takashi Iwai):
 * Adapt to not rename fixup_thinkpad_acpi to fixup_thinkpad
 * Made sure that it works even with one of kconfigs is disabled

 sound/pci/hda/thinkpad_helper.c | 182 +++-
 1 file changed, 144 insertions(+), 38 deletions(-)

diff --git a/sound/pci/hda/thinkpad_helper.c b/sound/pci/hda/thinkpad_helper.c
index f0955fd..0d98624 100644
--- a/sound/pci/hda/thinkpad_helper.c
+++ b/sound/pci/hda/thinkpad_helper.c
@@ -1,83 +1,188 @@
 /* Helper functions for Thinkpad LED control;
  * to be included from codec driver
+ *
+ * These helper functions include both LED control over thinkpad_acpi and
+ * hid-lenovo
  */
 
-#if IS_ENABLED(CONFIG_THINKPAD_ACPI)
+#if IS_ENABLED(CONFIG_THINKPAD_ACPI) || IS_ENABLED(CONFIG_HID_LENOVO)
 #include 
+#include 
 #include 
 
-static int (*led_set_func)(int, bool);
+static int (*led_set_func_tpacpi)(int, bool);
+static int (*led_set_func_hid_lenovo)(int, bool);
 static void (*old_vmaster_hook)(void *, int);
 
 static bool is_thinkpad(struct hda_codec *codec)
 {
+   return (codec->core.subsystem_id >> 16 == 0x17aa);
+}
+
+static bool is_thinkpad_acpi(struct hda_codec *codec)
+{
return (codec->core.subsystem_id >> 16 == 0x17aa) &&
   (acpi_dev_found("LEN0068") || acpi_dev_found("IBM0068"));
 }
 
-static void update_tpacpi_mute_led(void *private_data, int enabled)
+static void update_thinkpad_mute_led(void *private_data, int enabled)
 {
if (old_vmaster_hook)
old_vmaster_hook(private_data, enabled);
 
-   if (led_set_func)
-   led_set_func(TPACPI_LED_MUTE, !enabled);
+#if IS_ENABLED(CONFIG_THINKPAD_ACPI)
+   if (led_set_func_tpacpi)
+   led_set_func_tpacpi(TPACPI_LED_MUTE, !enabled);
+#endif
+#if IS_ENABLED(CONFIG_HID_LENOVO)
+   if (led_set_func_hid_lenovo)
+   led_set_func_hid_lenovo(HID_LENOVO_LED_MUTE, !enabled);
+#endif
 }
 
-static void update_tpacpi_micmute_led(struct hda_codec *codec,
+
+
+static void update_thinkpad_micmute_led(struct hda_codec *codec,
  struct snd_kcontrol *kcontrol,
  struct snd_ctl_elem_value *ucontrol)
 {
-   if (!ucontrol || !led_set_func)
+   if (!ucontrol)
return;
if (strcmp("Capture Switch", ucontrol->id.name) == 0 && 
ucontrol->id.index == 0) {
/* TODO: How do I verify if it's a mono or stereo here? */
bool val = ucontrol->value.integer.value[0] || 
ucontrol->value.integer.value[1];
-   led_set_func(TPACPI_LED_MICMUTE, !val);
+#if IS_ENABLED(CONFIG_THINKPAD_ACPI)
+   if (led_set_func_tpacpi)
+   led_set_func_tpacpi(TPACPI_LED_MICMUTE, !val);
+#endif
+#if IS_ENABLED(CONFIG_HID_LENOVO)
+   if (led_set_func_hid_lenovo)
+   led_set_func_hid_lenovo(HID_LENOVO_LED_MICMUTE, !val);
+#endif
}
 }
 
-static void hda_fixup_thinkpad_acpi(struct hda_codec *codec,
-   const struct hda_fixup *fix, int action)
+#if IS_ENABLED(CONFIG_THINKPAD_ACPI)
+static int hda_fixup_thinkpad_acpi_prepare(struct hda_codec *codec)
 {
struct hda_gen_spec *spec = codec->spec;
-   bool removefunc = false;
+   int ret = -ENXIO;
 
-   if (action == HDA_FIXUP_ACT_PROBE) {
-   if (!is_thinkpad(codec))
-   return;
-   if (!led_set_func)
-   led_set_func = symbol_request(tpacpi_led_set);
-   if (!led_set_func) {
-   codec_warn(codec,
-  "Failed to find thinkpad-acpi symbol 
tpacpi_led_set\n");
-   return;
-   }
+   if (!is_thinkpad(codec))
+   return -ENODEV;
+   if (!is_thinkpad_acpi(codec))
+   return -ENODEV;
+   if (!led_set_func_tpacpi)
+   led_set_func_tpacpi = symbol_request(tpacpi_led_set);
+   if (!led_set_func_tpacpi) {
+   codec_warn(codec,
+  "Failed to find thinkpad-acpi symbol 
tpacpi_led_set\n");
+   return -ENOENT;
+   }
 
-   removefunc = true;
-   if (led_set_func(TPACPI_LED_MUTE, false) >= 0) {
-   old_vmaster_hook = spec->vmaster_mute.hook;
-   spec->vmaster_mute.hook = update_tpacpi_mute_led;
-   removefunc = false;
-   }
-   if (led_set_func(TPACPI_LED_MICMUTE, false) >= 

Re: [PATCH 4/4] hda: thinkpad_helper: Add support for hid-lenovo LED control

2016-09-12 Thread Takashi Iwai
On Mon, 12 Sep 2016 12:47:03 +0200,
Dennis Wassenberg wrote:
> 
> Make the thinkpad_helper able to support not only led control over
> acpi with thinkpad_acpi driver but also led control over hid-lenovo.
> The hid-lenovo driver adapted the led control api of thinkpad_acpi.
> 
> Signed-off-by: Dennis Wassenberg 
> ---
>  sound/pci/hda/thinkpad_helper.c | 149 
> ++--
>  1 file changed, 111 insertions(+), 38 deletions(-)
> 
> diff --git a/sound/pci/hda/thinkpad_helper.c b/sound/pci/hda/thinkpad_helper.c
> index 62741a7..c24a4a9 100644
> --- a/sound/pci/hda/thinkpad_helper.c
> +++ b/sound/pci/hda/thinkpad_helper.c
> @@ -2,79 +2,152 @@
>   * to be included from codec driver
>   */
>  
> -#if IS_ENABLED(CONFIG_THINKPAD_ACPI)
> -
> +#if IS_ENABLED(CONFIG_THINKPAD_ACPI) || IS_ENABLED(CONFIG_HID_LENOVO)
>  #include 
> +#include 
>  #include 
>  
> -static int (*led_set_func)(int, bool);
> +static int (*led_set_func_tpacpi)(int, bool);
> +static int (*led_set_func_hid_lenovo)(int, bool);
>  static void (*old_vmaster_hook)(void *, int);
>  
>  static bool is_thinkpad(struct hda_codec *codec)
>  {
> + return (codec->core.subsystem_id >> 16 == 0x17aa);
> +}
> +
> +static bool is_thinkpad_acpi(struct hda_codec *codec)
> +{
>   return (codec->core.subsystem_id >> 16 == 0x17aa) &&
>  (acpi_dev_found("LEN0068") || acpi_dev_found("IBM0068"));
>  }
>  
> -static void update_tpacpi_mute_led(void *private_data, int enabled)
> +static void update_thinkpad_mute_led(void *private_data, int enabled)
>  {
>   if (old_vmaster_hook)
>   old_vmaster_hook(private_data, enabled);
>  
> - if (led_set_func)
> - led_set_func(TPACPI_LED_MUTE, !enabled);
> + if (led_set_func_tpacpi)
> + led_set_func_tpacpi(TPACPI_LED_MUTE, !enabled);
> +
> + if (led_set_func_hid_lenovo)
> + led_set_func_hid_lenovo(HID_LENOVO_LED_MUTE, !enabled);
>  }
>  
> -static void update_tpacpi_micmute_led(struct hda_codec *codec,
> +
> +
> +static void update_thinkpad_micmute_led(struct hda_codec *codec,
> struct snd_kcontrol *kcontrol,
> struct snd_ctl_elem_value *ucontrol)
>  {
> - if (!ucontrol || !led_set_func)
> + if (!ucontrol)
>   return;
>   if (strcmp("Capture Switch", ucontrol->id.name) == 0 && 
> ucontrol->id.index == 0) {
>   /* TODO: How do I verify if it's a mono or stereo here? */
>   bool val = ucontrol->value.integer.value[0] || 
> ucontrol->value.integer.value[1];
> - led_set_func(TPACPI_LED_MICMUTE, !val);
> + if (led_set_func_tpacpi)
> + led_set_func_tpacpi(TPACPI_LED_MICMUTE, !val);
> + if (led_set_func_hid_lenovo)
> + led_set_func_hid_lenovo(HID_LENOVO_LED_MICMUTE, !val);
>   }
>  }
>  
> -static void hda_fixup_thinkpad(struct hda_codec *codec,
> - const struct hda_fixup *fix, int action)
> +static int hda_fixup_thinkpad_acpi(struct hda_codec *codec)
>  {
>   struct hda_gen_spec *spec = codec->spec;
> - bool removefunc = false;
> + int ret = -ENXIO;
>  
> - if (action == HDA_FIXUP_ACT_PROBE) {
> - if (!is_thinkpad(codec))
> - return;
> - if (!led_set_func)
> - led_set_func = symbol_request(tpacpi_led_set);
> - if (!led_set_func) {
> - codec_warn(codec,
> -"Failed to find thinkpad-acpi symbol 
> tpacpi_led_set\n");
> - return;
> - }
> + if (!is_thinkpad(codec))
> + return -ENODEV;
> + if (!is_thinkpad_acpi(codec))
> + return -ENODEV;
> + if (!led_set_func_tpacpi)
> + led_set_func_tpacpi = symbol_request(tpacpi_led_set);

This would be performed even if CONFIG_THINKPAD_ACPI=n when
CONFIG_HID_LENOVO!=n.  You'd need to have a proper ifdef surrounding
the function.


> + if (!led_set_func_tpacpi) {
> + codec_warn(codec,
> +"Failed to find thinkpad-acpi symbol 
> tpacpi_led_set\n");
> + return -ENOENT;
> + }
>  
> - removefunc = true;
> - if (led_set_func(TPACPI_LED_MUTE, false) >= 0) {
> - old_vmaster_hook = spec->vmaster_mute.hook;
> - spec->vmaster_mute.hook = update_tpacpi_mute_led;
> - removefunc = false;
> - }
> - if (led_set_func(TPACPI_LED_MICMUTE, false) >= 0) {
> - if (spec->num_adc_nids > 1)
> - codec_dbg(codec,
> -   "Skipping micmute LED control due to 
> several ADCs");
> - else {
> - spec->cap_sync_hook = update_tpacpi_micmute_led;
> -  

Questions about thinkpad_helper

2016-08-30 Thread Dennis Wassenberg
Hi all,

I wrote a driver which handles the function / special keys for
ThinKeyboard of Lenovo ThinkPad X1 Tablet 2016 including LED control.
This Keyboard is connected via USB to the Tablet. I added the driver to
hid-lenovo.c file because there are HID drivers included for different
Lenovo devices.

For example this driver is able to handle LED control for mute and mic
mute keys. Now I want to make the other direction working. If someone
sets mute or mic mute at amixer, I want to control the mute and mic mute
LEDs. At other Thinkpad devices this is done by thinkpad_helper.c. The
thinkpad_helper let the thinkpad_apci driver to control the LEDs.

Now I think about how to make this working for Lenovo Thinkpad X1 Tablet
2016. There it is not possible to use the thinkpad_acpi driver. Instead
we have to use the hid-lenovo driver to make this working.

Should I add this to thinkpad_helper because this is a thinkpad device
too or should I make a new helper? Can I use the same API than
thinkpad_acpi (static int (*led_set_func)(int, bool)) or should I make a
new one (e.g. in combination with LED triggers)?

For the first shot I made something at
https://github.com/dwassenberg/linux/tree/development/hid-rmi
(dc05de0add955775434d18d4fe096ea78d1e63bd..5a88c66f2ae8db04147bb75ecf84a4f52e0da1df)
this shot is based on using the thinkpad_helper and the same API. Please
tell me your opinion.

Maybe one additional remark. In case of using the USB connected
ThinKeyboard there is one additional effort to make this working at the
initial state if the Tablet is finished booting and after that the
ThinKeyboard is connected. So either there is an additional trigger
needed which tells the helper to publish the current mute and mic mute
state when the keyboard is connected. Or an other approach is to update
the hid-lenovo driver even when this keyboard is not connected such that
the hid-lenovo driver always knows the current state and is able to set
this if the keyboard is connected. Or is there there an other solution?

Thank you & best regards,

Dennis
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] schedule obsolete OSS drivers for removal (version 2)

2005-08-09 Thread Adrian Bunk
On Tue, Aug 09, 2005 at 01:13:51PM -0400, Lee Revell wrote:
 On Fri, 2005-07-29 at 17:32 +0200, Adrian Bunk wrote:
  This patch schedules obsolete OSS drivers (with ALSA drivers that 
  support the same hardware) for removal.
  
  Scheduling the via82cxxx driver for removal was ACK'ed by Jeff Garzik.
  
 
 Someone on linux-audio-user just pointed out that the OSS USB audio and
 midi modules were never deprecated, much less scheduled to be removed.
 
 Maybe the best way to deprecate them is to move them to Sound - OSS,
 that's where they belong anyway.

I'd deprecate them without moving them.

I'll send a patch unless someone tells that any functionality of these 
drivers is lacking in ALSA.

 Lee

cu
Adrian

-- 

   Is there not promise of rain? Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   Only a promise, Lao Er said.
   Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [Alsa-devel] Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-08-01 Thread Andrew Haninger
On 7/31/05, Adrian Bunk [EMAIL PROTECTED] wrote:
 Can you send me the bug numbers in the ALSA bug tracking system if you
 have to send bug reports, so that I can track when these issues will be
 resolved?
Thorsten: Please remember to include the list(s) when emailing those
links/numbers. I'd like to be able to watch it, too, and add any
information that I can, rather than entering a duplicate bug.

Thanks.

-Andy
-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [Alsa-devel] Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-08-01 Thread Thorsten Knabe

On Mon, 1 Aug 2005, Andrew Haninger wrote:


Thorsten: Please remember to include the list(s) when emailing those
links/numbers. I'd like to be able to watch it, too, and add any
information that I can, rather than entering a duplicate bug.


Hello.

I have taken a closer look at the ALSA AD1816 sound driver during the last 
weekend. Here are my findings:


On vanilla Linux 2.6.12.3 and 2.6.13-rc4 modprobe hangs in D-state when 
loading the snd-ad1816a module. No messages have been logged to the syslog 
and the system is otherwise stable. Of course the sound card is unusable.
On Linux 2.6.8 (as shipped with current Debian Sarge), vanilla Linux 
2.6.10 and Linux 2.6.11.12 the module loads fine.


I have done some tests with xmms(Debian), kphone(VoIP-Phone/Debian) and 
iaxcomm(VoIP-Phone/self-made). Audio playback with xmms is always fine 
using either ALSA or OSS emulation. Using OSS emulation with one of the 
VoIP phones, playback and recording stop a few seconds after the call is 
started. Using the ALSA interface with kphone works, but there is a 
continuous clicking approximately 3 times per second. Also audio latency 
is poor compared to the OSS driver. iaxcomm does not support the ALSA 
audio interface, thus no problems here. :-)

The native OSS driver is fine on all kernels with all tested applications.

Also the ALSA driver does not have an equivalent for the 
ad1816_clockfreq option of the OSS driver. The AD1816 chip requires a 
33MHz reference clock, however some cards use a different (mostly 
32.125MHz) clock, thus the audio sample rate has to be corrected before it 
is written to the hardware registers for proper playback and recording 
speed.


I have not filed any bug reports to the ALSA bug tracking system so far, 
but will do so tomorrow and add the corresponding bug numbers to this 
thread.


Thorsten

--
___
 || / E-Mail: [EMAIL PROTECTED]
 |horsten |/\nabeWWW: http://linux.thorsten-knabe.de
-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-07-31 Thread Adrian Bunk
On Wed, Jul 27, 2005 at 01:38:37AM +0200, Zoran Dzelajlija wrote:
 Zach Brown [EMAIL PROTECTED] wrote:
  Adrian Bunk wrote:
   This patch schedules obsolete OSS drivers (with ALSA drivers that 
   support the same hardware) for removal.
 
   I've Cc'ed the people listed in MAINTAINERS as being responsible for one 
   or more of these drivers, and I've also Cc'ed the ALSA people.
 
  I haven't touched the maestro drivers in so long (for near-total lack of
  docs, etc.) that I can't be considered authoritative for approving it's
  removal. If people are relying on it I certainly don't know who they
  are.  In better news, Takashi should now have the pile of maestro
  hardware that I used in the first pass to help him maintain the ALSA
  driver..
 
 The OSS maestro driver works better on my old Armada E500 laptop.  I tried
 ALSA after switching to 2.6, but the computer hung with 2.6.8.1 or 2.6.10 if
 I touched the volume buttons.  With OSS they just work.  The four separate
 dsp devices also look kind of more useful.

I've left it on the list of OSS drivers scheduled for removal based on 
Takashi's comment that the volume button problem should be fixed now.

If this problem is still present in 2.6.13-rc4, please open a bug at the 
ALSA bug tracking system [1] and tell me the bug number so that I can 
track it.

 Zoran

cu
Adrian

[1] https://bugtrack.alsa-project.org/alsa-bug/

-- 

   Is there not promise of rain? Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   Only a promise, Lao Er said.
   Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [Alsa-devel] Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-07-29 Thread Jaroslav Kysela
On Thu, 28 Jul 2005, Thorsten Knabe wrote:

 On Tue, 26 Jul 2005, Adrian Bunk wrote:
 
  This patch schedules obsolete OSS drivers (with ALSA drivers that
  support the same hardware) for removal.
 
 Hello Adrian.
 
 I'm the maintainer of the OSS AD1816 sound driver. I'm aware of two 
 problems of the ALSA AD1816 driver, that do not show up with the OSS 
 driver:
 - According to my own experience and user reports audio is choppy with 
   some VoIP Softphones like gnophone at least when used with the ALSA 
   OSS emulation layer, whereas the OSS driver is crystal clear.
 - Users reported, that on some HP Kayak systems the on-board AD1816A was 
   not properly detected by the ALSA driver or was detected, but there 
   was no audio output. I'm not sure if the problem is still present in 
   the current ALSA driver, as I do not own such a system.
 
 Maybe the OSS driver should stay in the kernel, until those problems are 
 fixed in the ALSA driver.

The problem is that nobody reported us mentioned problems. We have no 
bug-report regarding the AD1816A driver. Perhaps, it would be a good idea 
to add a notice to the help file and/or driver that the ALSA driver should 
be tested and bugs reported to the ALSA bug-tracking-system.

Thanks,
Jaroslav

-
Jaroslav Kysela [EMAIL PROTECTED]
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs
-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-07-28 Thread Takashi Iwai
At Wed, 27 Jul 2005 01:38:37 +0200,
Zoran Dzelajlija wrote:
 
 Zach Brown [EMAIL PROTECTED] wrote:
  Adrian Bunk wrote:
   This patch schedules obsolete OSS drivers (with ALSA drivers that 
   support the same hardware) for removal.
 
   I've Cc'ed the people listed in MAINTAINERS as being responsible for one 
   or more of these drivers, and I've also Cc'ed the ALSA people.
 
  I haven't touched the maestro drivers in so long (for near-total lack of
  docs, etc.) that I can't be considered authoritative for approving it's
  removal. If people are relying on it I certainly don't know who they
  are.  In better news, Takashi should now have the pile of maestro
  hardware that I used in the first pass to help him maintain the ALSA
  driver..
 
 The OSS maestro driver works better on my old Armada E500 laptop.  I tried
 ALSA after switching to 2.6, but the computer hung with 2.6.8.1 or 2.6.10 if
 I touched the volume buttons.  With OSS they just work.  The four separate
 dsp devices also look kind of more useful.

The bug around h/w volume control should have been fixed in the recent
version of ALSA drivers.  Hopefully everything will get merged into
2.6.13...


Takashi
-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-07-28 Thread Alan Cox
On Mer, 2005-07-27 at 16:43 -0400, Jeff Garzik wrote:
 ISTR Alan saying there was some ALi hardware that either wasn't in ALSA, 
 or most likely didn't work in ALSA.  If Alan says I'm smoking crack, 
 then you all can ignore me :)

The only big thing I know that still needed OSS (and may still do so) is
the support for AC97 wired touchscreens and the like. Has that been
ported to ALSA ?

-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-07-28 Thread Jaroslav Kysela
On Thu, 28 Jul 2005, Alan Cox wrote:

 On Mer, 2005-07-27 at 16:43 -0400, Jeff Garzik wrote:
  ISTR Alan saying there was some ALi hardware that either wasn't in ALSA, 
  or most likely didn't work in ALSA.  If Alan says I'm smoking crack, 
  then you all can ignore me :)
 
 The only big thing I know that still needed OSS (and may still do so) is
 the support for AC97 wired touchscreens and the like. Has that been
 ported to ALSA ?

We're working on this issue right now.

Jaroslav

-
Jaroslav Kysela [EMAIL PROTECTED]
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs
-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-07-27 Thread Zoran Dzelajlija
Zach Brown [EMAIL PROTECTED] wrote:
 Adrian Bunk wrote:
  This patch schedules obsolete OSS drivers (with ALSA drivers that 
  support the same hardware) for removal.

  I've Cc'ed the people listed in MAINTAINERS as being responsible for one 
  or more of these drivers, and I've also Cc'ed the ALSA people.

 I haven't touched the maestro drivers in so long (for near-total lack of
 docs, etc.) that I can't be considered authoritative for approving it's
 removal. If people are relying on it I certainly don't know who they
 are.  In better news, Takashi should now have the pile of maestro
 hardware that I used in the first pass to help him maintain the ALSA
 driver..

The OSS maestro driver works better on my old Armada E500 laptop.  I tried
ALSA after switching to 2.6, but the computer hung with 2.6.8.1 or 2.6.10 if
I touched the volume buttons.  With OSS they just work.  The four separate
dsp devices also look kind of more useful.

Zoran

-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-07-27 Thread Adrian Bunk
On Tue, Jul 26, 2005 at 11:57:04AM -0400, Jeff Garzik wrote:
 Lee Revell wrote:
 On Tue, 2005-07-26 at 17:08 +0200, Adrian Bunk wrote:
 
 This patch schedules obsolete OSS drivers (with ALSA drivers that 
 support the same hardware) for removal.
 
 
 How many non-obsolete OSS drivers were there?
 
 someone needs to test the remaining PCI ID(s) that are in i810_audio but 
 not ALSA.

I've grep'ed a second time for every single PCI ID in the OSS 
i810_audio, and I still haven't found WTF you are talking about.

Once again my question:

I though I found every single PCI ID from this driver in ALSA.
Which PCI IDs did I miss?

cu
Adrian

-- 

   Is there not promise of rain? Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   Only a promise, Lao Er said.
   Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-07-27 Thread John W. Linville
On Wed, Jul 27, 2005 at 08:24:28PM +0200, Adrian Bunk wrote:

 I've grep'ed a second time for every single PCI ID in the OSS 
 i810_audio, and I still haven't found WTF you are talking about.

I looked as well, and I found nothing either.

Jeff, can you enlighten us?

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-07-27 Thread Rogério Brito
On Jul 27 2005, Lee Revell wrote:
 On Wed, 2005-07-27 at 01:38 +0200, Zoran Dzelajlija wrote:
  The OSS maestro driver works better on my old Armada E500 laptop.
  I tried ALSA after switching to 2.6, but the computer hung with
  2.6.8.1 or 2.6.10 if I touched the volume buttons.
 
 Please test a newer ALSA version, like the one in 2.6.12.

I have an Armada V300 laptop that uses the maestro2 chipset (and I
wouldn't be surprised if your E500 used that very same chip) and it
works fine with the ALSA provided in kernels since the 2.6.10-mm era
(actually, I think it worked fine with even earlier kernels, but I am
not sure).


Just another datapoint, Rogério.

-- 
Rogério Brito : [EMAIL PROTECTED] : http://www.ime.usp.br/~rbrito
Homepage of the algorithms package : http://algorithms.berlios.de
Homepage on freshmeat:  http://freshmeat.net/projects/algorithms/
-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-07-26 Thread Andrew Haninger
On 7/26/05, Adrian Bunk [EMAIL PROTECTED] wrote:
  config SOUND_OPL3SA2
 tristate Yamaha OPL3-SA2 and SA3 based PnP cards
 -   depends on SOUND_OSS
 +   depends on SOUND_OSS  OBSOLETE_OSS_DRIVER
 help
   Say Y or M if you have a card based on one of these Yamaha sound
   chipsets or the SAx, which is actually a SA3. Read
Forgive me if I'm misreading this (I'm hardly a coder and no kernel
hacker) but, as it stands, the OPL3SA2 driver provided by ALSA and the
main kernel tree work but are not correctly detected by ALSA's
detection routines (in alsaconf) on the 2.6 kernel. The OSS drivers
work, as well, but (AFAIK) there are no methods of automatic
configuration with the OSS drivers.

So, for people who don't feel like configuring ALSA with their OPL3SA2
card, the OSS modules may be easier to configure and thus should be
left in until the ALSA/2.6 kernel problems are worked out with the
OPL3SA2.

-Andy
-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-07-26 Thread Zach Brown
Adrian Bunk wrote:
 This patch schedules obsolete OSS drivers (with ALSA drivers that 
 support the same hardware) for removal.

 I've Cc'ed the people listed in MAINTAINERS as being responsible for one 
 or more of these drivers, and I've also Cc'ed the ALSA people.

I haven't touched the maestro drivers in so long (for near-total lack of
docs, etc.) that I can't be considered authoritative for approving it's
removal.  If people are relying on it I certainly don't know who they
are.  In better news, Takashi should now have the pile of maestro
hardware that I used in the first pass to help him maintain the ALSA
driver..

- z
-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] schedule obsolete OSS drivers for removal

2005-07-26 Thread Krzysztof Halasa
Zach Brown [EMAIL PROTECTED] writes:

 I haven't touched the maestro drivers in so long (for near-total lack of
 docs, etc.) that I can't be considered authoritative for approving it's
 removal.

Maestro3 ALSA does work fine for me.
-- 
Krzysztof Halasa
-
To unsubscribe from this list: send the line unsubscribe linux-sound in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html