All of 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.