From: Nicholas Mc Guire <der.herr@hofr.at>
To: Patrick Boettcher <patrick.boettcher@posteo.de>
Cc: Olivier Grenie <olivier.grenie@dibcom.fr>,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: RFC - unclear change in "[media] DiBxxxx: Codingstype updates"
Date: Sun, 16 Oct 2016 13:55:28 +0000 [thread overview]
Message-ID: <20161016135528.GA24611@osadl.at> (raw)
In-Reply-To: <20161010083112.78aa2585@posteo.de>
On Mon, Oct 10, 2016 at 08:31:12AM +0200, Patrick Boettcher wrote:
> Hi, der Herr Hofrat ;-)
>
> On Sat, 8 Oct 2016 13:57:14 +0000
> Nicholas Mc Guire <der.herr@hofr.at> wrote:
> > - lo6 |= (1 << 2) | 2;
> > - else
> > - lo6 |= (1 << 2) | 1;
> > + lo6 |= (1 << 2) | 2; //SigmaDelta and Dither
> > + else {
> > + if (state->identity.in_soc)
> > + lo6 |= (1 << 2) | 2; //SigmaDelta and
> > Dither
> > + else
> > + lo6 |= (1 << 2) | 2; //SigmaDelta and
> > Dither
> > + }
> >
> > resulting in the current code-base of:
> >
> > if (Rest > 0) {
> > if (state->config->analog_output)
> > lo6 |= (1 << 2) | 2;
> > else {
> > if (state->identity.in_soc)
> > lo6 |= (1 << 2) | 2;
> > else
> > lo6 |= (1 << 2) | 2;
> > }
> > Den = 255;
> > }
> >
> > The problem now is that the if and the else(if/else) are
> > all the same and thus the conditions have no effect. Further
> > the origninal code actually had different if/else - so I
> > wonder if this is a cut&past bug here ?
>
> I may answer on behalf of Olivier (didn't his address bounce?).
>
> I don't remember the details, this patch must date from 2011 or
> before, but at that time we generated the linux-driver from our/their
> internal sources.
>
> Updates in this area were achieved by a lot of thinking + a mix of trial
> and error (after hours/days/weeks of RF hardware validation).
>
> This logic above has 3 possibilities:
>
> - we use the analog-output, or
> - we are using the digital one, then there is whether we are being in
> a SoC or not (SIP or sinlge chip).
>
> At some point in time all values have been different. In the end, they
> aren't anymore, but in case someone wants to try a different value,
> there are placeholders in the code to easily inject these values.
>
> Now the device is stable, maybe even obsolete. We could remove all the
> branches resulting in the same value for lo6.
>
ok - so as the value for lo6 effectively is the same for all conditions
given (1 << 2) | 2 == 6
this might be simplified to and commented as:
if (Rest > 0) {
/* Based on trial and error */
lo6 |= 6;
Den = 255;
}
let me know if that sounds resonable - just plugging in a magic number
sounds like a bad idea - even if this comment might not be wildly enlightening
it atleast indicates that it is known "magic".
thx!
Der Herr Hofrat
prev parent reply other threads:[~2016-10-16 13:55 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-08 13:57 RFC - unclear change in "[media] DiBxxxx: Codingstype updates" Nicholas Mc Guire
2016-10-10 6:31 ` Patrick Boettcher
2016-10-16 13:55 ` Nicholas Mc Guire [this message]
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=20161016135528.GA24611@osadl.at \
--to=der.herr@hofr.at \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=olivier.grenie@dibcom.fr \
--cc=patrick.boettcher@posteo.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 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.