Message ID | 1460454977-30057-3-git-send-email-subhransu.s.prusty@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, 12 Apr 2016 11:56:10 +0200, Subhransu S. Prusty wrote: > > This helper is copied from legacy hda driver. > > Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> > Signed-off-by: Vinod Koul <vinod.koul@intel.com> > --- > sound/hda/local.h | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/sound/hda/local.h b/sound/hda/local.h > index d692f41..57f07d7 100644 > --- a/sound/hda/local.h > +++ b/sound/hda/local.h > @@ -16,6 +16,16 @@ static inline int get_wcaps_type(unsigned int wcaps) > return (wcaps & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT; > } > > +static inline unsigned int get_wcaps_channels(u32 wcaps) > +{ > + unsigned int chans; > + > + chans = (wcaps & AC_WCAP_CHAN_CNT_EXT) >> 13; > + chans = ((chans << 1) | 1) + 1; Let's make it simple. This is equivalent with chans = (chans + 1) * 2; Takashi
On Tue, Apr 12, 2016 at 12:10:48PM +0200, Takashi Iwai wrote: > On Tue, 12 Apr 2016 11:56:10 +0200, > Subhransu S. Prusty wrote: > > > > This helper is copied from legacy hda driver. > > > > Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> > > Signed-off-by: Vinod Koul <vinod.koul@intel.com> > > --- > > sound/hda/local.h | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/sound/hda/local.h b/sound/hda/local.h > > index d692f41..57f07d7 100644 > > --- a/sound/hda/local.h > > +++ b/sound/hda/local.h > > @@ -16,6 +16,16 @@ static inline int get_wcaps_type(unsigned int wcaps) > > return (wcaps & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT; > > } > > > > +static inline unsigned int get_wcaps_channels(u32 wcaps) > > +{ > > + unsigned int chans; > > + > > + chans = (wcaps & AC_WCAP_CHAN_CNT_EXT) >> 13; > > + chans = ((chans << 1) | 1) + 1; > > Let's make it simple. This is equivalent with > chans = (chans + 1) * 2; Sure. Regards, Subhransu > > > Takashi
diff --git a/sound/hda/local.h b/sound/hda/local.h index d692f41..57f07d7 100644 --- a/sound/hda/local.h +++ b/sound/hda/local.h @@ -16,6 +16,16 @@ static inline int get_wcaps_type(unsigned int wcaps) return (wcaps & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT; } +static inline unsigned int get_wcaps_channels(u32 wcaps) +{ + unsigned int chans; + + chans = (wcaps & AC_WCAP_CHAN_CNT_EXT) >> 13; + chans = ((chans << 1) | 1) + 1; + + return chans; +} + extern const struct attribute_group *hdac_dev_attr_groups[]; int hda_widget_sysfs_init(struct hdac_device *codec); void hda_widget_sysfs_exit(struct hdac_device *codec);