linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bjorn Andersson <andersson@kernel.org>
To: Guru Das Srinagesh <quic_gurus@quicinc.com>
Cc: Andy Gross <agross@kernel.org>,
	Konrad Dybcio <konrad.dybcio@somainline.org>,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/1] soc: qcom: llcc: Move struct llcc_slice_config to header
Date: Mon, 19 Sep 2022 15:56:33 -0500	[thread overview]
Message-ID: <20220919205633.qw5ucwjtyt4vjsro@builder.lan> (raw)
In-Reply-To: <1663384000-8097-1-git-send-email-quic_gurus@quicinc.com>

On Fri, Sep 16, 2022 at 08:06:40PM -0700, Guru Das Srinagesh wrote:
> Move struct llcc_slice_config to header so that it can be reused by
> other kernel modules.

Can you please continue this sentence to provide some concrete examples?
Will we see those other users posted upstream?

Thanks,
Bjorn

> 
> Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
> ---
>  drivers/soc/qcom/llcc-qcom.c       | 44 --------------------------------------
>  include/linux/soc/qcom/llcc-qcom.h | 44 ++++++++++++++++++++++++++++++++++++++
>  2 files changed, 44 insertions(+), 44 deletions(-)
> 
> diff --git a/drivers/soc/qcom/llcc-qcom.c b/drivers/soc/qcom/llcc-qcom.c
> index 38d7296..3e7326f 100644
> --- a/drivers/soc/qcom/llcc-qcom.c
> +++ b/drivers/soc/qcom/llcc-qcom.c
> @@ -55,50 +55,6 @@
>  #define LLCC_VERSION_2_0_0_0          0x02000000
>  #define LLCC_VERSION_2_1_0_0          0x02010000
>  
> -/**
> - * struct llcc_slice_config - Data associated with the llcc slice
> - * @usecase_id: Unique id for the client's use case
> - * @slice_id: llcc slice id for each client
> - * @max_cap: The maximum capacity of the cache slice provided in KB
> - * @priority: Priority of the client used to select victim line for replacement
> - * @fixed_size: Boolean indicating if the slice has a fixed capacity
> - * @bonus_ways: Bonus ways are additional ways to be used for any slice,
> - *		if client ends up using more than reserved cache ways. Bonus
> - *		ways are allocated only if they are not reserved for some
> - *		other client.
> - * @res_ways: Reserved ways for the cache slice, the reserved ways cannot
> - *		be used by any other client than the one its assigned to.
> - * @cache_mode: Each slice operates as a cache, this controls the mode of the
> - *             slice: normal or TCM(Tightly Coupled Memory)
> - * @probe_target_ways: Determines what ways to probe for access hit. When
> - *                    configured to 1 only bonus and reserved ways are probed.
> - *                    When configured to 0 all ways in llcc are probed.
> - * @dis_cap_alloc: Disable capacity based allocation for a client
> - * @retain_on_pc: If this bit is set and client has maintained active vote
> - *               then the ways assigned to this client are not flushed on power
> - *               collapse.
> - * @activate_on_init: Activate the slice immediately after it is programmed
> - * @write_scid_en: Bit enables write cache support for a given scid.
> - * @write_scid_cacheable_en: Enables write cache cacheable support for a
> - *			     given scid (not supported on v2 or older hardware).
> - */
> -struct llcc_slice_config {
> -	u32 usecase_id;
> -	u32 slice_id;
> -	u32 max_cap;
> -	u32 priority;
> -	bool fixed_size;
> -	u32 bonus_ways;
> -	u32 res_ways;
> -	u32 cache_mode;
> -	u32 probe_target_ways;
> -	bool dis_cap_alloc;
> -	bool retain_on_pc;
> -	bool activate_on_init;
> -	bool write_scid_en;
> -	bool write_scid_cacheable_en;
> -};
> -
>  struct qcom_llcc_config {
>  	const struct llcc_slice_config *sct_data;
>  	int size;
> diff --git a/include/linux/soc/qcom/llcc-qcom.h b/include/linux/soc/qcom/llcc-qcom.h
> index 9ed5384..e84cd87 100644
> --- a/include/linux/soc/qcom/llcc-qcom.h
> +++ b/include/linux/soc/qcom/llcc-qcom.h
> @@ -106,6 +106,50 @@ struct llcc_drv_data {
>  	u32 version;
>  };
>  
> +/**
> + * struct llcc_slice_config - Data associated with the llcc slice
> + * @usecase_id: Unique id for the client's use case
> + * @slice_id: llcc slice id for each client
> + * @max_cap: The maximum capacity of the cache slice provided in KB
> + * @priority: Priority of the client used to select victim line for replacement
> + * @fixed_size: Boolean indicating if the slice has a fixed capacity
> + * @bonus_ways: Bonus ways are additional ways to be used for any slice,
> + *		if client ends up using more than reserved cache ways. Bonus
> + *		ways are allocated only if they are not reserved for some
> + *		other client.
> + * @res_ways: Reserved ways for the cache slice, the reserved ways cannot
> + *		be used by any other client than the one its assigned to.
> + * @cache_mode: Each slice operates as a cache, this controls the mode of the
> + *             slice: normal or TCM(Tightly Coupled Memory)
> + * @probe_target_ways: Determines what ways to probe for access hit. When
> + *                    configured to 1 only bonus and reserved ways are probed.
> + *                    When configured to 0 all ways in llcc are probed.
> + * @dis_cap_alloc: Disable capacity based allocation for a client
> + * @retain_on_pc: If this bit is set and client has maintained active vote
> + *               then the ways assigned to this client are not flushed on power
> + *               collapse.
> + * @activate_on_init: Activate the slice immediately after it is programmed
> + * @write_scid_en: Bit enables write cache support for a given scid.
> + * @write_scid_cacheable_en: Enables write cache cacheable support for a
> + *			     given scid (not supported on v2 or older hardware).
> + */
> +struct llcc_slice_config {
> +	u32 usecase_id;
> +	u32 slice_id;
> +	u32 max_cap;
> +	u32 priority;
> +	bool fixed_size;
> +	u32 bonus_ways;
> +	u32 res_ways;
> +	u32 cache_mode;
> +	u32 probe_target_ways;
> +	bool dis_cap_alloc;
> +	bool retain_on_pc;
> +	bool activate_on_init;
> +	bool write_scid_en;
> +	bool write_scid_cacheable_en;
> +};
> +
>  #if IS_ENABLED(CONFIG_QCOM_LLCC)
>  /**
>   * llcc_slice_getd - get llcc slice descriptor
> -- 
> 2.7.4
> 

  reply	other threads:[~2022-09-19 20:56 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-17  3:06 [PATCH 1/1] soc: qcom: llcc: Move struct llcc_slice_config to header Guru Das Srinagesh
2022-09-19 20:56 ` Bjorn Andersson [this message]
2022-09-20 16:28   ` Guru Das Srinagesh

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=20220919205633.qw5ucwjtyt4vjsro@builder.lan \
    --to=andersson@kernel.org \
    --cc=agross@kernel.org \
    --cc=konrad.dybcio@somainline.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quic_gurus@quicinc.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).