All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Stephen Boyd <swboyd@chromium.org>
Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com,
	linux-arm-msm@vger.kernel.org,
	Douglas Anderson <dianders@chromium.org>,
	linux-kernel@vger.kernel.org,
	"Isaac J. Manjarres" <isaacm@codeaurora.org>,
	Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Subject: Re: [PATCH] soc: qcom: llcc: Support chipsets that can write to llcc registers
Date: Mon, 17 Aug 2020 20:43:09 +0800	[thread overview]
Message-ID: <202008172052.mtVMHotl%lkp@intel.com> (raw)
In-Reply-To: <20200817081138.6755-1-saiprakash.ranjan@codeaurora.org>

[-- Attachment #1: Type: text/plain, Size: 5435 bytes --]

Hi Sai,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linux/master]
[also build test WARNING on linus/master v5.9-rc1 next-20200817]
[cannot apply to agross-msm/qcom/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Sai-Prakash-Ranjan/soc-qcom-llcc-Support-chipsets-that-can-write-to-llcc-registers/20200817-161342
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bcf876870b95592b52519ed4aafcf9d95999bc9c
config: mips-randconfig-r006-20200817 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project de71b46a519db014ce906a39f8a0e1b235ef1568)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install mips cross compiling tool for clang build
        # apt-get install binutils-mips-linux-gnu
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/soc/qcom/llcc-qcom.c:343:28: warning: unused variable 'np' [-Wunused-variable]
           const struct device_node *np = dev_of_node(&pdev->dev);
                                     ^
>> drivers/soc/qcom/llcc-qcom.c:324:34: warning: unused variable 'qcom_llcc_configure_of_match' [-Wunused-const-variable]
   static const struct of_device_id qcom_llcc_configure_of_match[] = {
                                    ^
   2 warnings generated.

# https://github.com/0day-ci/linux/commit/69ff7ebbde628483bfe9eacd588984bdae4d6121
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sai-Prakash-Ranjan/soc-qcom-llcc-Support-chipsets-that-can-write-to-llcc-registers/20200817-161342
git checkout 69ff7ebbde628483bfe9eacd588984bdae4d6121
vim +/qcom_llcc_configure_of_match +324 drivers/soc/qcom/llcc-qcom.c

   323	
 > 324	static const struct of_device_id qcom_llcc_configure_of_match[] = {
   325		{ .compatible = "qcom,sc7180-llcc" },
   326		{ }
   327	};
   328	
   329	static int qcom_llcc_cfg_program(struct platform_device *pdev)
   330	{
   331		int i;
   332		u32 attr1_cfg;
   333		u32 attr0_cfg;
   334		u32 attr1_val;
   335		u32 attr0_val;
   336		u32 max_cap_cacheline;
   337		u32 sz;
   338		u32 disable_cap_alloc = 0, retain_pc = 0;
   339		int ret = 0;
   340		const struct llcc_slice_config *llcc_table;
   341		struct llcc_slice_desc desc;
   342		const struct of_device_id *llcc_configure;
 > 343		const struct device_node *np = dev_of_node(&pdev->dev);
   344	
   345		sz = drv_data->cfg_size;
   346		llcc_table = drv_data->cfg;
   347	
   348		llcc_configure = of_match_node(qcom_llcc_configure_of_match, np);
   349	
   350		for (i = 0; i < sz; i++) {
   351			attr1_cfg = LLCC_TRP_ATTR1_CFGn(llcc_table[i].slice_id);
   352			attr0_cfg = LLCC_TRP_ATTR0_CFGn(llcc_table[i].slice_id);
   353	
   354			attr1_val = llcc_table[i].cache_mode;
   355			attr1_val |= llcc_table[i].probe_target_ways <<
   356					ATTR1_PROBE_TARGET_WAYS_SHIFT;
   357			attr1_val |= llcc_table[i].fixed_size <<
   358					ATTR1_FIXED_SIZE_SHIFT;
   359			attr1_val |= llcc_table[i].priority <<
   360					ATTR1_PRIORITY_SHIFT;
   361	
   362			max_cap_cacheline = MAX_CAP_TO_BYTES(llcc_table[i].max_cap);
   363	
   364			/* LLCC instances can vary for each target.
   365			 * The SW writes to broadcast register which gets propagated
   366			 * to each llcc instace (llcc0,.. llccN).
   367			 * Since the size of the memory is divided equally amongst the
   368			 * llcc instances, we need to configure the max cap accordingly.
   369			 */
   370			max_cap_cacheline = max_cap_cacheline / drv_data->num_banks;
   371			max_cap_cacheline >>= CACHE_LINE_SIZE_SHIFT;
   372			attr1_val |= max_cap_cacheline << ATTR1_MAX_CAP_SHIFT;
   373	
   374			attr0_val = llcc_table[i].res_ways & ATTR0_RES_WAYS_MASK;
   375			attr0_val |= llcc_table[i].bonus_ways << ATTR0_BONUS_WAYS_SHIFT;
   376	
   377			ret = regmap_write(drv_data->bcast_regmap, attr1_cfg,
   378						attr1_val);
   379			if (ret)
   380				return ret;
   381			ret = regmap_write(drv_data->bcast_regmap, attr0_cfg,
   382						attr0_val);
   383			if (ret)
   384				return ret;
   385	
   386			if (llcc_configure) {
   387				disable_cap_alloc |= llcc_table[i].dis_cap_alloc << llcc_table[i].slice_id;
   388				ret = regmap_write(drv_data->bcast_regmap,
   389							LLCC_TRP_SCID_DIS_CAP_ALLOC, disable_cap_alloc);
   390				if (ret)
   391					return ret;
   392	
   393				retain_pc |= llcc_table[i].retain_on_pc << llcc_table[i].slice_id;
   394				ret = regmap_write(drv_data->bcast_regmap,
   395							LLCC_TRP_PCB_ACT, retain_pc);
   396				if (ret)
   397					return ret;
   398			}
   399	
   400			if (llcc_table[i].activate_on_init) {
   401				desc.slice_id = llcc_table[i].slice_id;
   402				ret = llcc_slice_activate(&desc);
   403			}
   404		}
   405		return ret;
   406	}
   407	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 27214 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH] soc: qcom: llcc: Support chipsets that can write to llcc registers
Date: Mon, 17 Aug 2020 20:43:09 +0800	[thread overview]
Message-ID: <202008172052.mtVMHotl%lkp@intel.com> (raw)
In-Reply-To: <20200817081138.6755-1-saiprakash.ranjan@codeaurora.org>

[-- Attachment #1: Type: text/plain, Size: 5568 bytes --]

Hi Sai,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linux/master]
[also build test WARNING on linus/master v5.9-rc1 next-20200817]
[cannot apply to agross-msm/qcom/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Sai-Prakash-Ranjan/soc-qcom-llcc-Support-chipsets-that-can-write-to-llcc-registers/20200817-161342
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bcf876870b95592b52519ed4aafcf9d95999bc9c
config: mips-randconfig-r006-20200817 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project de71b46a519db014ce906a39f8a0e1b235ef1568)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install mips cross compiling tool for clang build
        # apt-get install binutils-mips-linux-gnu
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/soc/qcom/llcc-qcom.c:343:28: warning: unused variable 'np' [-Wunused-variable]
           const struct device_node *np = dev_of_node(&pdev->dev);
                                     ^
>> drivers/soc/qcom/llcc-qcom.c:324:34: warning: unused variable 'qcom_llcc_configure_of_match' [-Wunused-const-variable]
   static const struct of_device_id qcom_llcc_configure_of_match[] = {
                                    ^
   2 warnings generated.

# https://github.com/0day-ci/linux/commit/69ff7ebbde628483bfe9eacd588984bdae4d6121
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sai-Prakash-Ranjan/soc-qcom-llcc-Support-chipsets-that-can-write-to-llcc-registers/20200817-161342
git checkout 69ff7ebbde628483bfe9eacd588984bdae4d6121
vim +/qcom_llcc_configure_of_match +324 drivers/soc/qcom/llcc-qcom.c

   323	
 > 324	static const struct of_device_id qcom_llcc_configure_of_match[] = {
   325		{ .compatible = "qcom,sc7180-llcc" },
   326		{ }
   327	};
   328	
   329	static int qcom_llcc_cfg_program(struct platform_device *pdev)
   330	{
   331		int i;
   332		u32 attr1_cfg;
   333		u32 attr0_cfg;
   334		u32 attr1_val;
   335		u32 attr0_val;
   336		u32 max_cap_cacheline;
   337		u32 sz;
   338		u32 disable_cap_alloc = 0, retain_pc = 0;
   339		int ret = 0;
   340		const struct llcc_slice_config *llcc_table;
   341		struct llcc_slice_desc desc;
   342		const struct of_device_id *llcc_configure;
 > 343		const struct device_node *np = dev_of_node(&pdev->dev);
   344	
   345		sz = drv_data->cfg_size;
   346		llcc_table = drv_data->cfg;
   347	
   348		llcc_configure = of_match_node(qcom_llcc_configure_of_match, np);
   349	
   350		for (i = 0; i < sz; i++) {
   351			attr1_cfg = LLCC_TRP_ATTR1_CFGn(llcc_table[i].slice_id);
   352			attr0_cfg = LLCC_TRP_ATTR0_CFGn(llcc_table[i].slice_id);
   353	
   354			attr1_val = llcc_table[i].cache_mode;
   355			attr1_val |= llcc_table[i].probe_target_ways <<
   356					ATTR1_PROBE_TARGET_WAYS_SHIFT;
   357			attr1_val |= llcc_table[i].fixed_size <<
   358					ATTR1_FIXED_SIZE_SHIFT;
   359			attr1_val |= llcc_table[i].priority <<
   360					ATTR1_PRIORITY_SHIFT;
   361	
   362			max_cap_cacheline = MAX_CAP_TO_BYTES(llcc_table[i].max_cap);
   363	
   364			/* LLCC instances can vary for each target.
   365			 * The SW writes to broadcast register which gets propagated
   366			 * to each llcc instace (llcc0,.. llccN).
   367			 * Since the size of the memory is divided equally amongst the
   368			 * llcc instances, we need to configure the max cap accordingly.
   369			 */
   370			max_cap_cacheline = max_cap_cacheline / drv_data->num_banks;
   371			max_cap_cacheline >>= CACHE_LINE_SIZE_SHIFT;
   372			attr1_val |= max_cap_cacheline << ATTR1_MAX_CAP_SHIFT;
   373	
   374			attr0_val = llcc_table[i].res_ways & ATTR0_RES_WAYS_MASK;
   375			attr0_val |= llcc_table[i].bonus_ways << ATTR0_BONUS_WAYS_SHIFT;
   376	
   377			ret = regmap_write(drv_data->bcast_regmap, attr1_cfg,
   378						attr1_val);
   379			if (ret)
   380				return ret;
   381			ret = regmap_write(drv_data->bcast_regmap, attr0_cfg,
   382						attr0_val);
   383			if (ret)
   384				return ret;
   385	
   386			if (llcc_configure) {
   387				disable_cap_alloc |= llcc_table[i].dis_cap_alloc << llcc_table[i].slice_id;
   388				ret = regmap_write(drv_data->bcast_regmap,
   389							LLCC_TRP_SCID_DIS_CAP_ALLOC, disable_cap_alloc);
   390				if (ret)
   391					return ret;
   392	
   393				retain_pc |= llcc_table[i].retain_on_pc << llcc_table[i].slice_id;
   394				ret = regmap_write(drv_data->bcast_regmap,
   395							LLCC_TRP_PCB_ACT, retain_pc);
   396				if (ret)
   397					return ret;
   398			}
   399	
   400			if (llcc_table[i].activate_on_init) {
   401				desc.slice_id = llcc_table[i].slice_id;
   402				ret = llcc_slice_activate(&desc);
   403			}
   404		}
   405		return ret;
   406	}
   407	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 27214 bytes --]

  reply	other threads:[~2020-08-17 12:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-17  8:11 [PATCH] soc: qcom: llcc: Support chipsets that can write to llcc registers Sai Prakash Ranjan
2020-08-17 12:43 ` kernel test robot [this message]
2020-08-17 12:43   ` kernel test robot
2020-08-17 14:08   ` Sai Prakash Ranjan
2020-08-17 14:08     ` Sai Prakash Ranjan

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=202008172052.mtVMHotl%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=clang-built-linux@googlegroups.com \
    --cc=dianders@chromium.org \
    --cc=isaacm@codeaurora.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=saiprakash.ranjan@codeaurora.org \
    --cc=swboyd@chromium.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.