Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1311097

Re: [PATCH 3/3] ASoC: fsl_ssi: remove register defaults

From "Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
Newsgroups linux.kernel
Subject Re: [PATCH 3/3] ASoC: fsl_ssi: remove register defaults
Date 2016-01-17 02:10 +0100
Message-ID <qRK0W-3PD-13@gated-at.bofh.it> (permalink)
References (2 earlier) <qPJC2-2eG-13@gated-at.bofh.it> <qPLaR-38k-67@gated-at.bofh.it> <qPLkw-3rc-37@gated-at.bofh.it> <qRIVb-2W2-5@gated-at.bofh.it> <qRJey-3hR-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 17.01.2016 01:10, Timur Tabi wrote:
> Maciej S. Szmigiero wrote:
>> +static const struct regmap_config fsl_ssi_regconfig_imx21 = {
>> +    .max_register = CCSR_SSI_SRMSK,
>> +    .reg_bits = 32,
>> +    .val_bits = 32,
>> +    .reg_stride = 4,
>> +    .val_format_endian = REGMAP_ENDIAN_NATIVE,
>> +    .num_reg_defaults_raw = CCSR_SSI_SRMSK / 4 + 1,
>> +    .readable_reg = fsl_ssi_readable_reg,
>> +    .volatile_reg = fsl_ssi_volatile_reg,
>> +    .precious_reg = fsl_ssi_precious_reg,
>> +    .writeable_reg = fsl_ssi_writeable_reg,
>> +    .cache_type = REGCACHE_RBTREE,
>> +};
>> +
>>   static const struct regmap_config fsl_ssi_regconfig = {
>>       .max_register = CCSR_SSI_SACCDIS,
>>       .reg_bits = 32,
>>       .val_bits = 32,
>>       .reg_stride = 4,
>>       .val_format_endian = REGMAP_ENDIAN_NATIVE,
>> -    .reg_defaults = fsl_ssi_reg_defaults,
>> -    .num_reg_defaults = ARRAY_SIZE(fsl_ssi_reg_defaults),
>> +    .num_reg_defaults_raw = CCSR_SSI_SACCDIS / 4 + 1,
>>       .readable_reg = fsl_ssi_readable_reg,
>>       .volatile_reg = fsl_ssi_volatile_reg,
>>       .precious_reg = fsl_ssi_precious_reg,
> 
> Is this really necessary?  Why do we need separate register configs for one specific SOC?
> There are already too many "if (some_stupid_imx_variant)" blocks in this driver.

This is because (at least according to the datasheet) imx21-class SSI
registers end at CCSR_SSI_SRMSK (no SACC{ST,EN,DIS} regs), so
reading them for cache initialization may not be safe.

Also, a "MXC 91221 only" comment before these regs in FSL tree
(drivers/mxc/ssi/registers.h) seems to confirm that these registers
aren't present at least on some SSI (or SoC) models.

Best regards,
Maciej Szmigiero

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH 3/3] ASoC: fsl_ssi: remove register defaults "Maciej S. Szmigiero" <mail@maciej.szmigiero.name> - 2016-01-17 01:00 +0100
  Re: [PATCH 3/3] ASoC: fsl_ssi: remove register defaults Timur Tabi <timur@tabi.org> - 2016-01-17 01:20 +0100
    Re: [PATCH 3/3] ASoC: fsl_ssi: remove register defaults "Maciej S. Szmigiero" <mail@maciej.szmigiero.name> - 2016-01-17 02:10 +0100
      Re: [PATCH 3/3] ASoC: fsl_ssi: remove register defaults Timur Tabi <timur@tabi.org> - 2016-01-17 06:20 +0100
        Re: [PATCH 3/3] ASoC: fsl_ssi: remove register defaults "Maciej S. Szmigiero" <mail@maciej.szmigiero.name> - 2016-01-17 15:20 +0100
          Re: [PATCH 3/3] ASoC: fsl_ssi: remove register defaults "Maciej S. Szmigiero" <mail@maciej.szmigiero.name> - 2016-01-17 15:40 +0100
            Re: [PATCH 3/3] ASoC: fsl_ssi: remove register defaults Timur Tabi <timur@tabi.org> - 2016-01-17 19:40 +0100
              Re: [PATCH 3/3] ASoC: fsl_ssi: remove register defaults "Maciej S. Szmigiero" <mail@maciej.szmigiero.name> - 2016-01-17 23:10 +0100
                Re: [PATCH 3/3] ASoC: fsl_ssi: remove register defaults Fabio Estevam <festevam@gmail.com> - 2016-01-18 14:00 +0100
                Re: [PATCH 3/3] ASoC: fsl_ssi: remove register defaults "Maciej S. Szmigiero" <mail@maciej.szmigiero.name> - 2016-01-18 20:10 +0100

csiph-web