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] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 19 Sep 2022 15:56:33 -0500
From:   Bjorn Andersson <andersson@...nel.org>
To:     Guru Das Srinagesh <quic_gurus@...cinc.com>
Cc:     Andy Gross <agross@...nel.org>,
        Konrad Dybcio <konrad.dybcio@...ainline.org>,
        linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/1] soc: qcom: llcc: Move struct llcc_slice_config to
 header

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@...cinc.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
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ