All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Vinod Koul <vkoul@kernel.org>,
	Cezary Rojewski <cezary.rojewski@intel.com>
Cc: alsa-devel@alsa-project.org, Blauciak@vger.kernel.org,
	tiwai@suse.de, gregkh@linuxfoundation.org,
	linux-kernel@vger.kernel.org, broonie@kernel.org,
	srinivas.kandagatla@linaro.org, jank@cadence.com,
	Slawomir <slawomir.blauciak@intel.com>,
	Sanyog Kale <sanyog.r.kale@intel.com>
Subject: Re: [alsa-devel] [PATCH 06/17] soundwire: cadence_master: use firmware defaults for frame shape
Date: Wed, 14 Aug 2019 09:03:44 -0500	[thread overview]
Message-ID: <0e40ecee-d081-3cee-3e95-cd3c0f3e5b30@linux.intel.com> (raw)
In-Reply-To: <20190814043139.GV12733@vkoul-mobl.Dlink>


>>>>> +static u32 cdns_set_initial_frame_shape(int n_rows, int n_cols)
>>>>> +{
>>>>> +    u32 val;
>>>>> +    int c;
>>>>> +    int r;
>>>>> +
>>>>> +    r = sdw_find_row_index(n_rows);
>>>>> +    c = sdw_find_col_index(n_cols) & CDNS_MCP_FRAME_SHAPE_COL_MASK;
>>>>> +
>>>>> +    val = (r << CDNS_MCP_FRAME_SHAPE_ROW_OFFSET) | c;
>>>>> +
>>>>> +    return val;
>>>>> +}
>>>>> +
>>>>
>>>> Guess this have been said already, but this function could be
>>>> simplified - unless you really want to keep explicit variable
>>>> declaration. Both "c" and "r" declarations could be merged into
>>>> single line while "val" is not needed at all.
>>>>
>>>> One more thing - is AND bitwise op really needed for cols
>>>> explicitly? We know all col values upfront - these are static and
>>>> declared in global table nearby. Static declaration takes care of
>>>> "initial range-check". Is another one necessary?
>>>>
>>>> Moreover, this is a _get_ and certainly not a _set_ type of
>>>> function. I'd even consider renaming it to: "cdns_get_frame_shape"
>>>> as this is neither a _set_ nor an explicit initial frame shape
>>>> setter.
>>>>
>>>> It might be even helpful to split two usages:
>>>>
>>>> #define sdw_frame_shape(col_idx, row_idx) \
>>>>       ((row_idx << CDNS_MCP_FRAME_SHAPE_ROW_OFFSET) | col_idx)
>>>>
>>>> u32 cdns_get_frame_shape(u16 rows, u16 cols)
>>>> {
>>>>       u16 c, r;
>>>>
>>>>       r = sdw_find_row_index(rows);
>>>>       c = sdw_find_col_index(cols);
>>>>
>>>>       return sdw_frame_shape(c, r);
>>>> }
>>>>
>>>> The above may even be simplified into one-liner.
>>>
>>> This is a function used once on startup, there is no real need to
>>> simplify further. The separate variables help add debug traces as needed
>>> and keep the code readable while showing how the values are encoded into
>>> a register.
>>
>> Eh, I've thought it's gonna be exposed to userspace (via uapi) so it can be
>> fetched by tests or tools.
> 
> Uapi? I dont see anything in this or other series posted, did I miss
> something? Also I am not sure I like the idea of exposing these to
> userland!

Vinod, that was never the intent, and Cezary agreed, see following line

> 
>>
>> In such case - if there is a single usage only - guess function is fine as
>> is.
> 

  reply	other threads:[~2019-08-14 14:03 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-06  0:55 [PATCH 00/17] soundwire: fixes for 5.4 Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 01/17] soundwire: intel: prevent possible dereference in hw_params Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 02/17] soundwire: intel: fix channel number reported by hardware Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 03/17] soundwire: cadence_master: revisit interrupt settings Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 04/17] soundwire: bus: improve dynamic debug comments for enumeration Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 05/17] soundwire: export helpers to find row and column values Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 06/17] soundwire: cadence_master: use firmware defaults for frame shape Pierre-Louis Bossart
2019-08-06 15:27   ` Cezary Rojewski
2019-08-06 15:36     ` [alsa-devel] " Pierre-Louis Bossart
2019-08-06 16:06       ` Cezary Rojewski
2019-08-06 16:06         ` [alsa-devel] " Cezary Rojewski
2019-08-14  4:31         ` Vinod Koul
2019-08-14 14:03           ` Pierre-Louis Bossart [this message]
2019-08-06  0:55 ` [PATCH 07/17] soundwire: include mod_devicetable.h to avoid compiling warnings Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 08/17] soundwire: stream: fix disable sequence Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 09/17] soundwire: stream: remove unnecessary variable initializations Pierre-Louis Bossart
2019-08-06 15:31   ` Cezary Rojewski
2019-08-06 15:39     ` Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 10/17] soundwire: add new mclk_freq field for properties Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 11/17] soundwire: intel: read mclk_freq property from firmware Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 12/17] soundwire: cadence_master: make use of mclk_freq property Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 13/17] soundwire: cadence_master: fix divider setting in clock register Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 14/17] soundwire: intel: handle disabled links Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 15/17] soundwire: intel_init: add kernel module parameter to filter out links Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 16/17] soundwire: cadence_master: add kernel parameter to override interrupt mask Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 17/17] soundwire: intel: move shutdown() callback and don't export symbol Pierre-Louis Bossart
2019-08-21  9:07 ` [PATCH 00/17] soundwire: fixes for 5.4 Vinod Koul
2019-08-21 14:03   ` [alsa-devel] " Pierre-Louis Bossart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0e40ecee-d081-3cee-3e95-cd3c0f3e5b30@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=Blauciak@vger.kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=cezary.rojewski@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jank@cadence.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sanyog.r.kale@intel.com \
    --cc=slawomir.blauciak@intel.com \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=tiwai@suse.de \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.