Message ID | 20180205154403.13520-5-s.nawrocki@samsung.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On Mon, Feb 5, 2018 at 4:43 PM, Sylwester Nawrocki <s.nawrocki@samsung.com> wrote: > The SAMSUNG_I2S_OPCLK is not currently used by any card driver thus we can > safely change semantics of 'dir' argument of the I2S set_sysclk() callback. > Now an anumeration is exported instead of directly using register bitfield > values. > > Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> > --- > sound/soc/samsung/i2s-regs.h | 11 ++++++----- > sound/soc/samsung/i2s.c | 2 +- > sound/soc/samsung/i2s.h | 11 ++++++++--- > 3 files changed, 15 insertions(+), 9 deletions(-) > > diff --git a/sound/soc/samsung/i2s-regs.h b/sound/soc/samsung/i2s-regs.h > index fe6914005494..964985ea2e80 100644 > --- a/sound/soc/samsung/i2s-regs.h > +++ b/sound/soc/samsung/i2s-regs.h > @@ -65,11 +65,12 @@ > #define CON_RXDMA_ACTIVE (1 << 1) > #define CON_ACTIVE (1 << 0) > > -#define MOD_OPCLK_CDCLK_OUT (0 << 30) > -#define MOD_OPCLK_CDCLK_IN (1 << 30) > -#define MOD_OPCLK_BCLK_OUT (2 << 30) > -#define MOD_OPCLK_PCLK (3 << 30) > -#define MOD_OPCLK_MASK (3 << 30) > +#define MOD_OPCLK_SHIFT 30 > +#define MOD_OPCLK_CDCLK_OUT (0 << MOD_OPCLK_SHIFT) > +#define MOD_OPCLK_CDCLK_IN (1 << MOD_OPCLK_SHIFT) > +#define MOD_OPCLK_BCLK_OUT (2 << MOD_OPCLK_SHIFT) > +#define MOD_OPCLK_PCLK (3 << MOD_OPCLK_SHIFT) > +#define MOD_OPCLK_MASK (3 << MOD_OPCLK_SHIFT) > #define MOD_TXS_IDMA (1 << 28) /* Sec_TXFIFO use I-DMA */ > > #define MOD_BLCS_SHIFT 26 > diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c > index 1c05170e4999..6d768cdb4326 100644 > --- a/sound/soc/samsung/i2s.c > +++ b/sound/soc/samsung/i2s.c > @@ -489,7 +489,7 @@ static int i2s_set_sysclk(struct snd_soc_dai *dai, > switch (clk_id) { > case SAMSUNG_I2S_OPCLK: > mask = MOD_OPCLK_MASK; > - val = dir; > + val = (dir << MOD_OPCLK_SHIFT) & MOD_OPCLK_MASK; > break; > case SAMSUNG_I2S_CDCLK: > mask = 1 << i2s_regs->cdclkcon_off; > diff --git a/sound/soc/samsung/i2s.h b/sound/soc/samsung/i2s.h > index 79781de2f247..a9832a9555cb 100644 > --- a/sound/soc/samsung/i2s.h > +++ b/sound/soc/samsung/i2s.h > @@ -16,11 +16,16 @@ > #define SAMSUNG_I2S_DAI "samsung-i2s" > #define SAMSUNG_I2S_DAI_SEC "samsung-i2s-sec" > > -#define SAMSUNG_I2S_DIV_BCLK 1 > +#define SAMSUNG_I2S_DIV_BCLK 1 > > -#define SAMSUNG_I2S_RCLKSRC_0 0 > -#define SAMSUNG_I2S_RCLKSRC_1 1 > +#define SAMSUNG_I2S_RCLKSRC_0 0 > +#define SAMSUNG_I2S_RCLKSRC_1 1 > #define SAMSUNG_I2S_CDCLK 2 > +/* Operation clock for IIS logic */ > #define SAMSUNG_I2S_OPCLK 3 > +#define SAMSUNG_I2S_OPCLK_CDCLK_OUT 0 /* CODEC clock out */ > +#define SAMSUNG_I2S_OPCLK_CDCLK_IN 1 /* CODEC clock in */ > +#define SAMSUNG_I2S_OPCLK_BCLK_OUT 2 /* Bit clock out */ > +#define SAMSUNG_I2S_OPCLK_PCLK 3 /* Audio bus clock */ > > #endif /* __SND_SOC_SAMSUNG_I2S_H */ This part of patch seems to be unrelated (and it includes some cleanups). Best regards, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 02/06/2018 01:26 PM, Krzysztof Kozlowski wrote: > On Mon, Feb 5, 2018 at 4:43 PM, Sylwester Nawrocki > <s.nawrocki@samsung.com> wrote: >> diff --git a/sound/soc/samsung/i2s.h b/sound/soc/samsung/i2s.h >> index 79781de2f247..a9832a9555cb 100644 >> --- a/sound/soc/samsung/i2s.h >> +++ b/sound/soc/samsung/i2s.h >> @@ -16,11 +16,16 @@ >> #define SAMSUNG_I2S_DAI "samsung-i2s" >> #define SAMSUNG_I2S_DAI_SEC "samsung-i2s-sec" >> >> -#define SAMSUNG_I2S_DIV_BCLK 1 >> +#define SAMSUNG_I2S_DIV_BCLK 1 >> >> -#define SAMSUNG_I2S_RCLKSRC_0 0 >> -#define SAMSUNG_I2S_RCLKSRC_1 1 >> +#define SAMSUNG_I2S_RCLKSRC_0 0 >> +#define SAMSUNG_I2S_RCLKSRC_1 1 >> #define SAMSUNG_I2S_CDCLK 2 >> +/* Operation clock for IIS logic */ >> #define SAMSUNG_I2S_OPCLK 3 >> +#define SAMSUNG_I2S_OPCLK_CDCLK_OUT 0 /* CODEC clock out */ >> +#define SAMSUNG_I2S_OPCLK_CDCLK_IN 1 /* CODEC clock in */ >> +#define SAMSUNG_I2S_OPCLK_BCLK_OUT 2 /* Bit clock out */ >> +#define SAMSUNG_I2S_OPCLK_PCLK 3 /* Audio bus clock */ >> >> #endif /* __SND_SOC_SAMSUNG_I2S_H */ > > This part of patch seems to be unrelated (and it includes some cleanups). This is actually the main part of the patch, an API exported to other drivers. The whitespace changes are for keeping the alignment uniform, I could just drop them.
On Wed, Feb 7, 2018 at 5:23 PM, Sylwester Nawrocki <s.nawrocki@samsung.com> wrote: > On 02/06/2018 01:26 PM, Krzysztof Kozlowski wrote: >> On Mon, Feb 5, 2018 at 4:43 PM, Sylwester Nawrocki >> <s.nawrocki@samsung.com> wrote: > >>> diff --git a/sound/soc/samsung/i2s.h b/sound/soc/samsung/i2s.h >>> index 79781de2f247..a9832a9555cb 100644 >>> --- a/sound/soc/samsung/i2s.h >>> +++ b/sound/soc/samsung/i2s.h >>> @@ -16,11 +16,16 @@ >>> #define SAMSUNG_I2S_DAI "samsung-i2s" >>> #define SAMSUNG_I2S_DAI_SEC "samsung-i2s-sec" >>> >>> -#define SAMSUNG_I2S_DIV_BCLK 1 >>> +#define SAMSUNG_I2S_DIV_BCLK 1 >>> >>> -#define SAMSUNG_I2S_RCLKSRC_0 0 >>> -#define SAMSUNG_I2S_RCLKSRC_1 1 >>> +#define SAMSUNG_I2S_RCLKSRC_0 0 >>> +#define SAMSUNG_I2S_RCLKSRC_1 1 >>> #define SAMSUNG_I2S_CDCLK 2 >>> +/* Operation clock for IIS logic */ >>> #define SAMSUNG_I2S_OPCLK 3 >>> +#define SAMSUNG_I2S_OPCLK_CDCLK_OUT 0 /* CODEC clock out */ >>> +#define SAMSUNG_I2S_OPCLK_CDCLK_IN 1 /* CODEC clock in */ >>> +#define SAMSUNG_I2S_OPCLK_BCLK_OUT 2 /* Bit clock out */ >>> +#define SAMSUNG_I2S_OPCLK_PCLK 3 /* Audio bus clock */ >>> >>> #endif /* __SND_SOC_SAMSUNG_I2S_H */ >> >> This part of patch seems to be unrelated (and it includes some cleanups). > > This is actually the main part of the patch, an API exported to other > drivers. You are right, I looked at it without the context of 5/8 and I assumed you are changing existing user of the defines... > The whitespace changes are for keeping the alignment uniform, > I could just drop them. Let it be then. Acked-by: Krzysztof Kozlowski <krzk@kernel.org> Best regards, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/sound/soc/samsung/i2s-regs.h b/sound/soc/samsung/i2s-regs.h index fe6914005494..964985ea2e80 100644 --- a/sound/soc/samsung/i2s-regs.h +++ b/sound/soc/samsung/i2s-regs.h @@ -65,11 +65,12 @@ #define CON_RXDMA_ACTIVE (1 << 1) #define CON_ACTIVE (1 << 0) -#define MOD_OPCLK_CDCLK_OUT (0 << 30) -#define MOD_OPCLK_CDCLK_IN (1 << 30) -#define MOD_OPCLK_BCLK_OUT (2 << 30) -#define MOD_OPCLK_PCLK (3 << 30) -#define MOD_OPCLK_MASK (3 << 30) +#define MOD_OPCLK_SHIFT 30 +#define MOD_OPCLK_CDCLK_OUT (0 << MOD_OPCLK_SHIFT) +#define MOD_OPCLK_CDCLK_IN (1 << MOD_OPCLK_SHIFT) +#define MOD_OPCLK_BCLK_OUT (2 << MOD_OPCLK_SHIFT) +#define MOD_OPCLK_PCLK (3 << MOD_OPCLK_SHIFT) +#define MOD_OPCLK_MASK (3 << MOD_OPCLK_SHIFT) #define MOD_TXS_IDMA (1 << 28) /* Sec_TXFIFO use I-DMA */ #define MOD_BLCS_SHIFT 26 diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c index 1c05170e4999..6d768cdb4326 100644 --- a/sound/soc/samsung/i2s.c +++ b/sound/soc/samsung/i2s.c @@ -489,7 +489,7 @@ static int i2s_set_sysclk(struct snd_soc_dai *dai, switch (clk_id) { case SAMSUNG_I2S_OPCLK: mask = MOD_OPCLK_MASK; - val = dir; + val = (dir << MOD_OPCLK_SHIFT) & MOD_OPCLK_MASK; break; case SAMSUNG_I2S_CDCLK: mask = 1 << i2s_regs->cdclkcon_off; diff --git a/sound/soc/samsung/i2s.h b/sound/soc/samsung/i2s.h index 79781de2f247..a9832a9555cb 100644 --- a/sound/soc/samsung/i2s.h +++ b/sound/soc/samsung/i2s.h @@ -16,11 +16,16 @@ #define SAMSUNG_I2S_DAI "samsung-i2s" #define SAMSUNG_I2S_DAI_SEC "samsung-i2s-sec" -#define SAMSUNG_I2S_DIV_BCLK 1 +#define SAMSUNG_I2S_DIV_BCLK 1 -#define SAMSUNG_I2S_RCLKSRC_0 0 -#define SAMSUNG_I2S_RCLKSRC_1 1 +#define SAMSUNG_I2S_RCLKSRC_0 0 +#define SAMSUNG_I2S_RCLKSRC_1 1 #define SAMSUNG_I2S_CDCLK 2 +/* Operation clock for IIS logic */ #define SAMSUNG_I2S_OPCLK 3 +#define SAMSUNG_I2S_OPCLK_CDCLK_OUT 0 /* CODEC clock out */ +#define SAMSUNG_I2S_OPCLK_CDCLK_IN 1 /* CODEC clock in */ +#define SAMSUNG_I2S_OPCLK_BCLK_OUT 2 /* Bit clock out */ +#define SAMSUNG_I2S_OPCLK_PCLK 3 /* Audio bus clock */ #endif /* __SND_SOC_SAMSUNG_I2S_H */
The SAMSUNG_I2S_OPCLK is not currently used by any card driver thus we can safely change semantics of 'dir' argument of the I2S set_sysclk() callback. Now an anumeration is exported instead of directly using register bitfield values. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> --- sound/soc/samsung/i2s-regs.h | 11 ++++++----- sound/soc/samsung/i2s.c | 2 +- sound/soc/samsung/i2s.h | 11 ++++++++--- 3 files changed, 15 insertions(+), 9 deletions(-)