mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Cédric Brégardis" <cedric.bregardis@free.fr>
To: Takashi Iwai <tiwai@suse.de>
Cc: Chuck Ebbert <cebbert@redhat.com>,
	jhassler@free.fr, linux-kernel@vger.kernel.org
Subject: Re: The snd-aw2 audio driver conflicts with saa7146-based video adapters
Date: Sat, 25 Oct 2008 16:53:12 +0200	[thread overview]
Message-ID: <200810251653.12889.cedric.bregardis@free.fr> (raw)
In-Reply-To: <s5h3aixrst9.wl%tiwai@suse.de>

At Thursday 16 October 2008 07:51:30, Takashi Iwai wrote:
> At Wed, 15 Oct 2008 23:07:29 +0200,
>
> Cédric Brégardis wrote:
> > Le Tuesday 14 October 2008, Takashi Iwai a écrit :
> > > At Mon, 13 Oct 2008 19:59:23 -0400,
> > >
> > > Chuck Ebbert wrote:
> > > > snd-aw2 ("Emagic Audiowerk 2 sound driver") matches on PCI ID for any
> > > > board containing an saa7146 chip. When the driver loads it blocks the
> > > > proper driver from loading. It also blindly assumes that it is
> > > > driving an aw2 adapter and just starts writing to various I/O
> > > > ports...
> > >
> > > Indeed, that's bad.
> > > I guess simply adding PCI SSID would solve this (hopefully).
> > >
> > > Cedric, Jean, could you show "lspci -nv" output of the AW2 device?
> > > (more better submit a patch? :)
> >
> > Here is lspci -nv for aw2:
> >
> > 02:0b.0 0480: 1131:7146 (rev 01)
> >         Flags: medium devsel, IRQ 19
> >         Memory at feafbc00 (32-bit, non-prefetchable) [size=512]
> >
> > And here is lspci -x:
> >
> > 02:0b.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
> > 00: 31 11 46 71 02 00 80 02 01 00 80 04 00 40 00 00
> > 10: 00 bc af fe 00 00 00 00 00 00 00 00 00 00 00 00
> > 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > 30: 00 00 00 00 00 00 00 00 00 00 00 00 0b 01 00 00
> >
> > So, the subsystem id and subsystem vendor id is 0, which is the default
> > value for SAA7146. SAA7146 can be configured to use a specific subid with
> > an eeprom, but it is not done here. However we can verify that the subid
> > is zero. It is not a perfect solution, but it is better than nothing. I
> > will try to provide a patch next week.
>
> Hrm, then maybe it doesn't help much, unfortunately.
>
> > However what can we do if there is another card with SAA7146 and with the
> > default subid which is not the aw2 sound card ?
>
> The other drivers try to detect the hardware and returns the error in
> probe, thus the system can continue to probe the next driver.  aw2
> driver assumes that it must be an AW2.
>
> Is there any way to detect AW2 hardware properly?

I have looked drivers for other saa7146 based devices. It seams that there are 
using a generic saa7146 driver (media/common/saa7146_core). If I understand 
correctly, this driver is a kind of bus driver which initializes common 
saa7146 features and manages other specific drivers for saa7146.
So, when the probe of these drivers is called, the hardware is already 
initialized, and it is possible to check what devices are present on the i2c 
bus of saa7146. This check should be enough to distinguish if the card is a 
real aw2 or not.

So, the solution for aw2 driver is to use this generic driver and check that 
the i2c eeprom which is on the card is really present or not during the probe. 
It means that the aw2 alsa driver would depend on 
driver/media/common/saa7146_core.c (and its associated dependencies). 
I don't think it is a problem, but tell me if I am wrong !

I think the generic saa7146 has never be used for audio devices, so it could 
be needed to patch it (I don't know yet). Again, tell me if it is a problem.

These modifications are quite significant. So tell me if you agree with them 
before I start.

Last point : I have found one driver for a device based on saa7146 which do 
not use the generic saa7146 driver and with sub ids equel to 0. So, there will 
still be a conflict with this one: driver/media/video/stradis.c. But this 
time, the aw2 driver will not be guilty ;-).

Best regards,
Cedric


  reply	other threads:[~2008-10-25 14:53 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-13 23:59 Chuck Ebbert
2008-10-14  5:39 ` Takashi Iwai
2008-10-15 21:07   ` Cédric Brégardis
2008-10-16  5:51     ` Takashi Iwai
2008-10-25 14:53       ` Cédric Brégardis [this message]
2008-10-25 15:59         ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200810251653.12889.cedric.bregardis@free.fr \
    --to=cedric.bregardis@free.fr \
    --cc=cebbert@redhat.com \
    --cc=jhassler@free.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®