Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Pavel Hofman <pavel.hofman@insite.cz>
Cc: ALSA development <alsa-devel@alsa-project.org>,
	Rainer Zimmermann <mail@lightshed.de>
Subject: Re: PATCH - ESI Juli driver
Date: Mon, 17 Mar 2008 16:17:59 +0100	[thread overview]
Message-ID: <s5hd4ptpefs.wl%tiwai@suse.de> (raw)
In-Reply-To: <47DE7B70.2040407@insite.cz>

At Mon, 17 Mar 2008 15:08:48 +0100,
Pavel Hofman wrote:
> 
> Takashi Iwai wrote:
> > At Mon, 17 Mar 2008 10:37:22 +0100,
> > Pavel Hofman wrote:
> 
> >>
> >> What would you recommend?
> > 
> > IMO, rate_code can be avoided.  Instead of exposing the encoded value,
> > better to use the raw rate value as parameters.
> 
> No problem. I just wanted to avoid the repeated conversion from the 
> numerical rate to the card specific representation which is input 
> information for all the rate-related code. ice1724 cards utilize 
> MT_RATE, juli makes use of GPIO.
> 
> If you are OK with the repeated conversion, I will remove this. I tried 
> to keep the methods inline if possible.

Usually you don't have to specify inline expclitily unless it's really
the time-critical code path.  And the code path of the rate setting is
certainly no such a thing.

> > And, the texts inf rates_info can be generated dynamically.
> 
> For obvious reasons I tried changing ice1724 as little as possible. That 
> is why I kept the original code, only rearranged it.
> 
> I can change the way texts in rates_info are generated. Still there will 
> have to be some callback as juli has a different list of rates.
> 
> > So, what we need primarily are callbacks to get and set the current
> > rate setting.  Suppose rate=0 as SPDIF-in, we can pass the raw rate
> > value.  Then snd_vt1724_pro_internal_clock_get() would just a function
> > to get the current rate and compares it with the given rate_info[]
> > value, returns the index.
> 
> I am afraid I do not understand what to change in 
> snd_vt1724_pro_internal_clock_get(). It seems fairly logical, I made 
> only minor changes - is_spdif_master used in other parts of the code, 
> get_rate_index with a simple meaning.

Yeah, your change is logical -- simply convert some code snippets to
callbacks.  But, this isn't really good for maintenance for a long
term.  I prefer a bit more straight way if we really change
something.  And, indeed we do need to change the stuff for rate
settings.

> > How to set stream-specific hw_params is another question.  But surely
> > we can cut off a bit more.
> 
> We probably can, by rewriting portions of the original well-tested 
> ice1724 code. I really wanted to avoid that and changed by callbacks 
> only the card-specific portions.
> 
> OK, I will remove the rate_code conversions, the new overhead will be 
> low and one abstraction will be removed.
> 
> For the rest, please state you objectives. Either cutting a few of the 
> callbacks by non-trivial rewrite of the original ice1724 code, or 
> keeping the remaining callbacks and the well-tested code.

Don't be too nervous about changing the ice1724 code right now :)
We would need the rewrite of core codes anyway because of other
problems in Maya44.  And, I believe we can fix more than we might
break by such a restructuring in the end.  The current ice1724.c is
way too complex due to its history, derived from ice1712.c.


Thanks,

Takashi

  reply	other threads:[~2008-03-17 15:18 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-16 12:57 PATCH - ESI Juli driver Pavel Hofman
2008-03-17  7:59 ` Takashi Iwai
2008-03-17  8:57   ` Pavel Hofman
2008-03-17  9:24     ` Takashi Iwai
2008-03-17  9:37       ` Pavel Hofman
2008-03-17 13:04         ` Takashi Iwai
2008-03-17 14:08           ` Pavel Hofman
2008-03-17 15:17             ` Takashi Iwai [this message]
2008-03-17 15:50               ` Pavel Hofman
2008-03-17 15:59                 ` Takashi Iwai
2008-03-17 16:39                   ` Pavel Hofman
2008-03-17 23:28                   ` Pavel Hofman
2008-03-18  6:56                   ` PATCH - ESI Juli driver - removed debugs Pavel Hofman
2008-03-18 14:59                     ` Takashi Iwai
2008-03-18 15:59                       ` Pavel Hofman
2008-03-20 14:20                         ` Pavel Hofman
2008-03-20 21:49                           ` PATCH - ESI Juli driver - OK Pavel Hofman
2008-03-18 19:24                       ` PATCH - ESI Juli driver - works OK Pavel Hofman
2008-03-20 11:37                         ` Takashi Iwai
  -- strict thread matches above, loose matches on Subject: below --
2008-03-17 17:08 PATCH - ESI Juli driver Demian Martin
2008-03-21 16:02 ` Pavel Hofman
2008-03-25  6:30 Demian Martin

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=s5hd4ptpefs.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=mail@lightshed.de \
    --cc=pavel.hofman@insite.cz \
    /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