* Re: [alsa-devel] [PATCH v2] ASoC: da7210: Add support for PLL and SRM [not found] <1334666046.32225.8.camel@matrix> @ 2012-04-17 13:43 ` Mark Brown [not found] ` <1334672460.13279.3.camel@matrix> 0 siblings, 1 reply; 4+ messages in thread From: Mark Brown @ 2012-04-17 13:43 UTC (permalink / raw) To: Ashish Chavan Cc: lrg, alsa-devel, David Dajun Chen, kuninori.morimoto.gx, linux-kernel [-- Attachment #1: Type: text/plain, Size: 495 bytes --] On Tue, Apr 17, 2012 at 06:04:06PM +0530, Ashish Chavan wrote: > + /* Search pll div array for correct divisors */ > + for (cnt = 0; cnt < ARRAY_SIZE(da7210_pll_div); cnt++) { > + /* check fref */ > + if (fref == da7210_pll_div[cnt].fref) { > + /* check mode */ > + if (da7210->master == da7210_pll_div[cnt].mode) { > + /* check fout */ > + if (fout == da7210_pll_div[cnt].fout) { I've applied but this would be a lot clearer if it were writen as a single if statement with &&s. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <1334672460.13279.3.camel@matrix>]
* Re: [alsa-devel] [PATCH v2] ASoC: da7210: Add support for PLL and SRM [not found] ` <1334672460.13279.3.camel@matrix> @ 2012-04-17 14:11 ` Mark Brown 0 siblings, 0 replies; 4+ messages in thread From: Mark Brown @ 2012-04-17 14:11 UTC (permalink / raw) To: Ashish Chavan Cc: lrg, alsa-devel, David Dajun Chen, kuninori.morimoto.gx, linux-kernel [-- Attachment #1: Type: text/plain, Size: 595 bytes --] On Tue, Apr 17, 2012 at 07:51:00PM +0530, Ashish Chavan wrote: > On Tue, 2012-04-17 at 14:43 +0100, Mark Brown wrote: > > I've applied but this would be a lot clearer if it were writen as a > > single if statement with &&s. > Actually I implemented it like that first. But then realized that > because of the 80 chars limit and long conditions, readability was > hampered. Let me submit a patch to convert it to single if, if that is > preferred way of doing it. Hrm? The major problem with multiple if statements is that it introduces massive levels of indentation which are hard to parse. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <1327313241.31594.12.camel@matrix>]
* Re: [alsa-devel] [PATCH v2] ASoC: da7210: Add support for PLL and SRM [not found] <1327313241.31594.12.camel@matrix> @ 2012-01-23 11:21 ` Mark Brown [not found] ` <1327320561.31594.23.camel@matrix> 0 siblings, 1 reply; 4+ messages in thread From: Mark Brown @ 2012-01-23 11:21 UTC (permalink / raw) To: Ashish Chavan Cc: lrg, alsa-devel, David Dajun Chen, kuninori.morimoto.gx, linux-kernel On Mon, Jan 23, 2012 at 03:37:21PM +0530, Ashish Chavan wrote: > +/* PLL out frequency values */ > +#define FOUT_2822400 2822400 > +#define FOUT_3072000 3072000 It's difficult to see what these defines are adding. > +static const u32 da7210_fout_2822400_div[][DIV_CNT + 1] = { > + { 12000000, 0xE8, 0x6C, 0x2, }, /* MCLK=12Mhz Fs=44.1Khz */ You're still using magic numbers to find the dividers, and clearly the same rate comment should apply to the whole table not specific entries. > + /* In PLL master mode, use master mode PLL dividers */ > + if (fout == FOUT_2822400) { > + } else if (fout == FOUT_3072000) { This looks like a switch statement and... > + for (row_idx = 0; row_idx < FREF_CNT; row_idx++) { ARRAY_SIZE() > + if (fref == da7210_fout_3072000_div[row_idx] > + [FREF_IDX]) { > + pll_div1 = > + da7210_fout_3072000_div[row_idx] > + [DIV1_IDX]; ...this code is shared between both branches (as well as the SRM case) and should be factored out between them. ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <1327320561.31594.23.camel@matrix>]
* Re: [alsa-devel] [PATCH v2] ASoC: da7210: Add support for PLL and SRM [not found] ` <1327320561.31594.23.camel@matrix> @ 2012-01-23 12:03 ` Mark Brown 0 siblings, 0 replies; 4+ messages in thread From: Mark Brown @ 2012-01-23 12:03 UTC (permalink / raw) To: Ashish Chavan Cc: lrg, alsa-devel, David Dajun Chen, kuninori.morimoto.gx, linux-kernel On Mon, Jan 23, 2012 at 05:39:21PM +0530, Ashish Chavan wrote: > On Mon, 2012-01-23 at 11:21 +0000, Mark Brown wrote: > > On Mon, Jan 23, 2012 at 03:37:21PM +0530, Ashish Chavan wrote: > > ...this code is shared between both branches (as well as the SRM case) > > and should be factored out between them. > We are picking values from three different tables in three cases. Even > if we factor out this code, we will need a switch or if-else to identify > correct table. As we are already checking those conditions, I put the > code there. Can you please elaborate a bit, in case if I misunderstood > your point? The only difference between these relatively large chunks of code is the table that's being referenced. Either use a single table or factor things out so that you're sharing all the code that doesn't pick the table. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-04-17 14:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1334666046.32225.8.camel@matrix>
2012-04-17 13:43 ` [alsa-devel] [PATCH v2] ASoC: da7210: Add support for PLL and SRM Mark Brown
[not found] ` <1334672460.13279.3.camel@matrix>
2012-04-17 14:11 ` Mark Brown
[not found] <1327313241.31594.12.camel@matrix>
2012-01-23 11:21 ` Mark Brown
[not found] ` <1327320561.31594.23.camel@matrix>
2012-01-23 12:03 ` Mark Brown
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox