[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <42bbf464-2bc9-2b13-5f08-a19ad1848277@linux.intel.com>
Date: Wed, 16 Sep 2020 09:36:00 -0500
From: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To: Vinod Koul <vkoul@...nel.org>
Cc: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
yung-chuan.liao@...ux.intel.com, sanyog.r.kale@...el.com,
alsa-devel@...a-project.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/3] soundwire: qcom: clear BIT FIELDs before value
set.
On 9/16/20 9:29 AM, Vinod Koul wrote:
> On 16-09-20, 08:18, Pierre-Louis Bossart wrote:
>>
>>>> According to usage (bitfields.h) of REG_FIELDS,
>>>> Modify is:
>>>> reg &= ~REG_FIELD_C;
>>>> reg |= FIELD_PREP(REG_FIELD_C, c);
>>
>>
>> if this is indeed the case, all the code in cadence_master.c is also broken,
>> e.g:
>>
>> dpn_config = cdns_readl(cdns, dpn_config_off);
>>
>> dpn_config |= FIELD_PREP(CDNS_DPN_CONFIG_WL, (p_params->bps - 1));
>> dpn_config |= FIELD_PREP(CDNS_DPN_CONFIG_PORT_FLOW, p_params->flow_mode);
>> dpn_config |= FIELD_PREP(CDNS_DPN_CONFIG_PORT_DAT, p_params->data_mode);
>
> This should be replaced with u32_replace_bits(), i am sending the fix
wondering if we should replace all uses of FIELD_PREP with either
u32_insert_bits() or u32_encode_bits() then?
Powered by blists - more mailing lists