lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Thu, 21 Aug 2014 13:01:51 +0100
From:	Lee Jones <lee.jones@...aro.org>
To:	Charles Keepax <ckeepax@...nsource.wolfsonmicro.com>
Cc:	sameo@...ux.intel.com, broonie@...nel.org,
	patches@...nsource.wolfsonmicro.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2 v2] mfd: arizona: Mark additional registers as
 volatile

On Wed, 13 Aug 2014, Charles Keepax wrote:

> Mark some additional registers as volatile. The write sequencer control
> registers should not be cached, as we don't ever want their value
> synchronised as this might cause a write sequence to be accidentally
> initiated.
> 
> Additionally, the DAC_COMP registers require special preconditions to
> write so there values wouldn't be updated accurately during a register
> sync.
> 
> Signed-off-by: Charles Keepax <ckeepax@...nsource.wolfsonmicro.com>
> ---
>  drivers/mfd/wm5102-tables.c |   11 ++++++++---
>  drivers/mfd/wm5110-tables.c |    6 +++---
>  2 files changed, 11 insertions(+), 6 deletions(-)

Applied, thanks.

> diff --git a/drivers/mfd/wm5102-tables.c b/drivers/mfd/wm5102-tables.c
> index c18d527..191f224 100644
> --- a/drivers/mfd/wm5102-tables.c
> +++ b/drivers/mfd/wm5102-tables.c
> @@ -245,9 +245,6 @@ const struct regmap_irq_chip wm5102_irq = {
>  static const struct reg_default wm5102_reg_default[] = {
>  	{ 0x00000008, 0x0019 },   /* R8     - Ctrl IF SPI CFG 1 */ 
>  	{ 0x00000009, 0x0001 },   /* R9     - Ctrl IF I2C1 CFG 1 */ 
> -	{ 0x00000016, 0x0000 },   /* R22    - Write Sequencer Ctrl 0 */ 
> -	{ 0x00000017, 0x0000 },   /* R23    - Write Sequencer Ctrl 1 */ 
> -	{ 0x00000018, 0x0000 },   /* R24    - Write Sequencer Ctrl 2 */ 
>  	{ 0x00000020, 0x0000 },   /* R32    - Tone Generator 1 */ 
>  	{ 0x00000021, 0x1000 },   /* R33    - Tone Generator 2 */ 
>  	{ 0x00000022, 0x0000 },   /* R34    - Tone Generator 3 */ 
> @@ -1881,6 +1878,10 @@ static bool wm5102_volatile_register(struct device *dev, unsigned int reg)
>  	switch (reg) {
>  	case ARIZONA_SOFTWARE_RESET:
>  	case ARIZONA_DEVICE_REVISION:
> +	case ARIZONA_WRITE_SEQUENCER_CTRL_0:
> +	case ARIZONA_WRITE_SEQUENCER_CTRL_1:
> +	case ARIZONA_WRITE_SEQUENCER_CTRL_2:
> +	case ARIZONA_WRITE_SEQUENCER_CTRL_3:
>  	case ARIZONA_OUTPUT_STATUS_1:
>  	case ARIZONA_RAW_OUTPUT_STATUS_1:
>  	case ARIZONA_SLIMBUS_RX_PORT_STATUS:
> @@ -1892,6 +1893,10 @@ static bool wm5102_volatile_register(struct device *dev, unsigned int reg)
>  	case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
>  	case ARIZONA_FLL1_NCO_TEST_0:
>  	case ARIZONA_FLL2_NCO_TEST_0:
> +	case ARIZONA_DAC_COMP_1:
> +	case ARIZONA_DAC_COMP_2:
> +	case ARIZONA_DAC_COMP_3:
> +	case ARIZONA_DAC_COMP_4:
>  	case ARIZONA_FX_CTRL2:
>  	case ARIZONA_INTERRUPT_STATUS_1:
>  	case ARIZONA_INTERRUPT_STATUS_2:
> diff --git a/drivers/mfd/wm5110-tables.c b/drivers/mfd/wm5110-tables.c
> index 9b98ee5..beae0a3 100644
> --- a/drivers/mfd/wm5110-tables.c
> +++ b/drivers/mfd/wm5110-tables.c
> @@ -666,9 +666,6 @@ static const struct reg_default wm5110_reg_default[] = {
>  	{ 0x0000000A, 0x0001 },    /* R10    - Ctrl IF I2C2 CFG 1 */
>  	{ 0x0000000B, 0x0036 },    /* R11    - Ctrl IF I2C1 CFG 2 */
>  	{ 0x0000000C, 0x0036 },    /* R12    - Ctrl IF I2C2 CFG 2 */
> -	{ 0x00000016, 0x0000 },    /* R22    - Write Sequencer Ctrl 0 */
> -	{ 0x00000017, 0x0000 },    /* R23    - Write Sequencer Ctrl 1 */
> -	{ 0x00000018, 0x0000 },    /* R24    - Write Sequencer Ctrl 2 */
>  	{ 0x00000020, 0x0000 },    /* R32    - Tone Generator 1 */
>  	{ 0x00000021, 0x1000 },    /* R33    - Tone Generator 2 */
>  	{ 0x00000022, 0x0000 },    /* R34    - Tone Generator 3 */
> @@ -2815,6 +2812,9 @@ static bool wm5110_volatile_register(struct device *dev, unsigned int reg)
>  	switch (reg) {
>  	case ARIZONA_SOFTWARE_RESET:
>  	case ARIZONA_DEVICE_REVISION:
> +	case ARIZONA_WRITE_SEQUENCER_CTRL_0:
> +	case ARIZONA_WRITE_SEQUENCER_CTRL_1:
> +	case ARIZONA_WRITE_SEQUENCER_CTRL_2:
>  	case ARIZONA_HAPTICS_STATUS:
>  	case ARIZONA_SAMPLE_RATE_1_STATUS:
>  	case ARIZONA_SAMPLE_RATE_2_STATUS:

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists