2018-06-06 12:39:54

by Julia Lawall

[permalink] [raw]
Subject: unnecessary test?

In the file sound/pci/ctxfi/cthw20k1.c, the function daio_mgr_dao_init
contains:

set_field(&ctl->spoctl, SPOCTL_OS << (idx*8),
((conf >> 3) & 0x1) ? 2 : 2); /* Raw */

Could the second argument just be 2? It's true that the preceeding call
contains conf >> ..., but in a more useful way, so perhaps it could be
useful for uniformity?

thanks,
julia



2018-06-06 12:44:51

by Julia Lawall

[permalink] [raw]
Subject: Re: unnecessary test?



On Wed, 6 Jun 2018, Julia Lawall wrote:

> In the file sound/pci/ctxfi/cthw20k1.c, the function daio_mgr_dao_init
> contains:
>
> set_field(&ctl->spoctl, SPOCTL_OS << (idx*8),
> ((conf >> 3) & 0x1) ? 2 : 2); /* Raw */
>
> Could the second argument just be 2? It's true that the preceeding call
> contains conf >> ..., but in a more useful way, so perhaps it could be
> useful for uniformity?

There is similar code in daio_mgr_dao_init in sound/pci/ctxfi/cthw20k2.c:

set_field(&ctl->txctl[idx], ATXCTL_RAW,
((conf >> 3) & 0x1) ? 0 : 0);


julia

2018-06-06 13:05:50

by Takashi Iwai

[permalink] [raw]
Subject: Re: unnecessary test?

On Wed, 06 Jun 2018 14:39:05 +0200,
Julia Lawall wrote:
>
> In the file sound/pci/ctxfi/cthw20k1.c, the function daio_mgr_dao_init
> contains:
>
> set_field(&ctl->spoctl, SPOCTL_OS << (idx*8),
> ((conf >> 3) & 0x1) ? 2 : 2); /* Raw */
>
> Could the second argument just be 2? It's true that the preceeding call
> contains conf >> ..., but in a more useful way, so perhaps it could be
> useful for uniformity?

I guess this is a typo of "2 : 0". The code seems toggling the
control bit depending on the S/PDIF passthru mode. It might be
reversed, but I bet 1 for non-audio from a common sense.

Ditto for cthw20k1.c. This one is likely 1, not 2, though.


thanks,

Takashi

2018-06-06 13:07:41

by Julia Lawall

[permalink] [raw]
Subject: Re: unnecessary test?



On Wed, 6 Jun 2018, Takashi Iwai wrote:

> On Wed, 06 Jun 2018 14:39:05 +0200,
> Julia Lawall wrote:
> >
> > In the file sound/pci/ctxfi/cthw20k1.c, the function daio_mgr_dao_init
> > contains:
> >
> > set_field(&ctl->spoctl, SPOCTL_OS << (idx*8),
> > ((conf >> 3) & 0x1) ? 2 : 2); /* Raw */
> >
> > Could the second argument just be 2? It's true that the preceeding call
> > contains conf >> ..., but in a more useful way, so perhaps it could be
> > useful for uniformity?
>
> I guess this is a typo of "2 : 0". The code seems toggling the
> control bit depending on the S/PDIF passthru mode. It might be
> reversed, but I bet 1 for non-audio from a common sense.
>
> Ditto for cthw20k1.c. This one is likely 1, not 2, though.

OK, should I send a patch? I have no way to test it.

julia

>
>
> thanks,
>
> Takashi
>

2018-06-06 13:11:10

by Takashi Iwai

[permalink] [raw]
Subject: Re: unnecessary test?

On Wed, 06 Jun 2018 15:06:28 +0200,
Julia Lawall wrote:
>
>
>
> On Wed, 6 Jun 2018, Takashi Iwai wrote:
>
> > On Wed, 06 Jun 2018 14:39:05 +0200,
> > Julia Lawall wrote:
> > >
> > > In the file sound/pci/ctxfi/cthw20k1.c, the function daio_mgr_dao_init
> > > contains:
> > >
> > > set_field(&ctl->spoctl, SPOCTL_OS << (idx*8),
> > > ((conf >> 3) & 0x1) ? 2 : 2); /* Raw */
> > >
> > > Could the second argument just be 2? It's true that the preceeding call
> > > contains conf >> ..., but in a more useful way, so perhaps it could be
> > > useful for uniformity?
> >
> > I guess this is a typo of "2 : 0". The code seems toggling the
> > control bit depending on the S/PDIF passthru mode. It might be
> > reversed, but I bet 1 for non-audio from a common sense.
> >
> > Ditto for cthw20k1.c. This one is likely 1, not 2, though.
>
> OK, should I send a patch? I have no way to test it.

Me neither :)

Feel free to submit the patch. The SPDIF output seems very rarely
used on these devices (otherwise people must have noticed it), so the
chance to break anything must be small.


thanks,

Takashi