[linux-arm:cex7 105/110] dpaa2-mac.c:undefined reference to `xgmac_mdio_bus_create'
by kbuild test robot
tree: git://git.armlinux.org.uk/~rmk/linux-arm cex7
head: 2f4b0dc6be9d81ca9c8a3c93f5086612feec5719
commit: 18e64856eb42d0b36fdde78b51d2dcb7a19df654 [105/110] dpaa2-mac: add PCS support [*experimental*]
config: x86_64-randconfig-h002-20200228 (attached as .config)
compiler: gcc-7 (Debian 7.5.0-5) 7.5.0
reproduce:
git checkout 18e64856eb42d0b36fdde78b51d2dcb7a19df654
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.o: in function `dpaa2_mac_connect':
>> dpaa2-mac.c:(.text+0xb45): undefined reference to `xgmac_mdio_bus_create'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[luto:x86/fixes 1/1] arch/x86/kernel/kvm.c:317:3: warning: ISO C90 forbids mixed declarations and code
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git x86/fixes
head: cbf296087190a1b9172fe419a5df194302829bf7
commit: cbf296087190a1b9172fe419a5df194302829bf7 [1/1] x86/kvm: Handle async page faults directly through do_page_fault()
config: x86_64-randconfig-b001-20200228 (attached as .config)
compiler: gcc-7 (Debian 7.5.0-5) 7.5.0
reproduce:
git checkout cbf296087190a1b9172fe419a5df194302829bf7
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
arch/x86/kernel/kvm.c: In function 'kvm_guest_cpu_init':
>> arch/x86/kernel/kvm.c:317:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 pa = slow_virt_to_phys(this_cpu_ptr(&apf_reason));
^~~
vim +317 arch/x86/kernel/kvm.c
ab9cf4996bb989 Michael S. Tsirkin 2012-06-24 311
ed3cf15271fa15 Nicholas Krause 2015-05-20 312 static void kvm_guest_cpu_init(void)
fd10cde9294f73 Gleb Natapov 2010-10-14 313 {
fd10cde9294f73 Gleb Natapov 2010-10-14 314 if (kvm_para_has_feature(KVM_FEATURE_ASYNC_PF) && kvmapf) {
cbf296087190a1 Andy Lutomirski 2020-01-19 315 WARN_ON_ONCE(!static_branch_likely(&kvm_async_pf_enabled));
cbf296087190a1 Andy Lutomirski 2020-01-19 316
89cbc76768c2fa Christoph Lameter 2014-08-17 @317 u64 pa = slow_virt_to_phys(this_cpu_ptr(&apf_reason));
fd10cde9294f73 Gleb Natapov 2010-10-14 318
:::::: The code at line 317 was first introduced by commit
:::::: 89cbc76768c2fa4ed95545bf961f3a14ddfeed21 x86: Replace __get_cpu_var uses
:::::: TO: Christoph Lameter <cl(a)linux.com>
:::::: CC: Tejun Heo <tj(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[meghadey-crypto:iommu_debugfs_improvements 2/2] drivers//iommu/intel-iommu.c:5137:2: note: in expansion of macro 'if'
by kbuild test robot
tree: https://github.com/meghadey/crypto iommu_debugfs_improvements
head: 54d8336f22d5d2c374d54ed5db5e38da5e350370
commit: 54d8336f22d5d2c374d54ed5db5e38da5e350370 [2/2] iommu/vt-d: Populate debugfs if either dma or interrupt remapping is enabled
config: i386-randconfig-c003-20200228 (attached as .config)
compiler: gcc-7 (Debian 7.5.0-5) 7.5.0
reproduce:
git checkout 54d8336f22d5d2c374d54ed5db5e38da5e350370
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/init.h:5:0,
from drivers//iommu/intel-iommu.c:16:
drivers//iommu/intel-iommu.c: In function 'intel_iommu_init':
drivers//iommu/intel-iommu.c:5137:21: error: 'disable_irq_remap' undeclared (first use in this function); did you mean 'disable_irq_wake'?
if (!no_iommu && (!disable_irq_remap || !dmar_disabled))
^
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
>> drivers//iommu/intel-iommu.c:5137:2: note: in expansion of macro 'if'
if (!no_iommu && (!disable_irq_remap || !dmar_disabled))
^~
drivers//iommu/intel-iommu.c:5137:21: note: each undeclared identifier is reported only once for each function it appears in
if (!no_iommu && (!disable_irq_remap || !dmar_disabled))
^
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
>> drivers//iommu/intel-iommu.c:5137:2: note: in expansion of macro 'if'
if (!no_iommu && (!disable_irq_remap || !dmar_disabled))
^~
vim +/if +5137 drivers//iommu/intel-iommu.c
5091
5092 int __init intel_iommu_init(void)
5093 {
5094 int ret = -ENODEV;
5095 struct dmar_drhd_unit *drhd;
5096 struct intel_iommu *iommu;
5097
5098 /*
5099 * Intel IOMMU is required for a TXT/tboot launch or platform
5100 * opt in, so enforce that.
5101 */
5102 force_on = tboot_force_iommu() || platform_optin_force_iommu();
5103
5104 if (iommu_init_mempool()) {
5105 if (force_on)
5106 panic("tboot: Failed to initialize iommu memory\n");
5107 return -ENOMEM;
5108 }
5109
5110 down_write(&dmar_global_lock);
5111 if (dmar_table_init()) {
5112 if (force_on)
5113 panic("tboot: Failed to initialize DMAR table\n");
5114 goto out_free_dmar;
5115 }
5116
5117 if (dmar_dev_scope_init() < 0) {
5118 if (force_on)
5119 panic("tboot: Failed to initialize DMAR device scope\n");
5120 goto out_free_dmar;
5121 }
5122
5123 up_write(&dmar_global_lock);
5124
5125 /*
5126 * The bus notifier takes the dmar_global_lock, so lockdep will
5127 * complain later when we register it under the lock.
5128 */
5129 dmar_register_bus_notifier();
5130
5131 down_write(&dmar_global_lock);
5132
5133 /*
5134 * Create iommu debugfs directory if iommu is present and either DMA
5135 * or IRQ remapping is enabled.
5136 */
> 5137 if (!no_iommu && (!disable_irq_remap || !dmar_disabled))
5138 intel_iommu_debugfs_init();
5139
5140 if (no_iommu || dmar_disabled) {
5141 /*
5142 * We exit the function here to ensure IOMMU's remapping and
5143 * mempool aren't setup, which means that the IOMMU's PMRs
5144 * won't be disabled via the call to init_dmars(). So disable
5145 * it explicitly here. The PMRs were setup by tboot prior to
5146 * calling SENTER, but the kernel is expected to reset/tear
5147 * down the PMRs.
5148 */
5149 if (intel_iommu_tboot_noforce) {
5150 for_each_iommu(iommu, drhd)
5151 iommu_disable_protect_mem_regions(iommu);
5152 }
5153
5154 /*
5155 * Make sure the IOMMUs are switched off, even when we
5156 * boot into a kexec kernel and the previous kernel left
5157 * them enabled
5158 */
5159 intel_disable_iommus();
5160 goto out_free_dmar;
5161 }
5162
5163 if (list_empty(&dmar_rmrr_units))
5164 pr_info("No RMRR found\n");
5165
5166 if (list_empty(&dmar_atsr_units))
5167 pr_info("No ATSR found\n");
5168
5169 if (dmar_init_reserved_ranges()) {
5170 if (force_on)
5171 panic("tboot: Failed to reserve iommu ranges\n");
5172 goto out_free_reserved_range;
5173 }
5174
5175 if (dmar_map_gfx)
5176 intel_iommu_gfx_mapped = 1;
5177
5178 init_no_remapping_devices();
5179
5180 ret = init_dmars();
5181 if (ret) {
5182 if (force_on)
5183 panic("tboot: Failed to initialize DMARs\n");
5184 pr_err("Initialization failed\n");
5185 goto out_free_reserved_range;
5186 }
5187 up_write(&dmar_global_lock);
5188
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[chrome-os:chromeos-5.4 13/28] drivers/gpu/drm/img-rogue/1.10/rgxfwutils.c:1165:2: warning: ISO C90 forbids variable length array 'sCCBCtlName'
by kbuild test robot
Hi Luigi,
First bad commit (maybe != root cause):
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 24749eed5fac1eacc18abc523b99f9e5b5e57c06
commit: 355a9aab75d60ff9590fe424f8b1a0a9bbeb1692 [13/28] CHROMIUM: drm: add img-rogue to the drm build system
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 355a9aab75d60ff9590fe424f8b1a0a9bbeb1692
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/gpu/drm/img-rogue/1.10/rgxfwutils.c: In function 'RGXSetupCCB':
>> drivers/gpu/drm/img-rogue/1.10/rgxfwutils.c:1165:2: warning: ISO C90 forbids variable length array 'sCCBCtlName' [-Wvla]
IMG_CHAR sCCBCtlName[ui32MaxTotalStrSize];
^~~~~~~~
--
In file included from drivers/gpu/drm/img-rogue/1.10/allocmem.h:48:0,
from drivers/gpu/drm/img-rogue/1.10/ri_server.c:46:
drivers/gpu/drm/img-rogue/1.10/ri_server.c: In function 'RIGetListEntryKM':
>> drivers/gpu/drm/img-rogue/1.10/pvr_debug.h:234:33: warning: this statement may fall through [-Wimplicit-fallthrough=]
#define __PVR_DPF_0x002UL(...) PVRSRVDebugPrintf(DBGPRIV_ERROR, __VA_ARGS__)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/img-rogue/1.10/pvr_debug.h:270:30: note: in expansion of macro '__PVR_DPF_0x002UL'
#define __PVR_DPF(lvl, ...) __PVR_DPF_ ## lvl (__FILE__, __LINE__, __VA_ARGS__)
^~~~~~~~~~
>> drivers/gpu/drm/img-rogue/1.10/pvr_debug.h:276:21: note: in expansion of macro '__PVR_DPF'
#define PVR_DPF(x) __PVR_DPF x
^~~~~~~~~
>> drivers/gpu/drm/img-rogue/1.10/ri_server.c:1434:3: note: in expansion of macro 'PVR_DPF'
PVR_DPF((PVR_DBG_ERROR, "%s: Bad %d)",__func__, g_bNextGetState));
^~~~~~~
drivers/gpu/drm/img-rogue/1.10/ri_server.c:1436:2: note: here
case RI_GET_STATE_END:
^~~~
vim +/sCCBCtlName +1165 drivers/gpu/drm/img-rogue/1.10/rgxfwutils.c
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1128
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1129 /*!
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1130 *******************************************************************************
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1131 @Function RGXSetupCCB
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1132 @Description Allocate and initialise the kernel CCB
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1133 @Input psDevInfo
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1134 @Input ppsCCBCtl
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1135 @Input ppsCCBCtlMemDesc
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1136 @Input ppui8CCB
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1137 @Input ppsCCBMemDesc
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1138 @Input psCCBCtlFWAddr
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1139 @Input ui32NumCmdsLog2
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1140 @Input ui32CmdSize
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1141 @Input pszName
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1142
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1143 @Return PVRSRV_ERROR
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1144 ******************************************************************************/
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1145 static PVRSRV_ERROR RGXSetupCCB(PVRSRV_RGXDEV_INFO *psDevInfo,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1146 RGXFWIF_CCB_CTL **ppsCCBCtl,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1147 DEVMEM_MEMDESC **ppsCCBCtlMemDesc,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1148 IMG_UINT8 **ppui8CCB,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1149 DEVMEM_MEMDESC **ppsCCBMemDesc,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1150 PRGXFWIF_CCB_CTL *psCCBCtlFWAddr,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1151 PRGXFWIF_CCB *psCCBFWAddr,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1152 IMG_UINT32 ui32NumCmdsLog2,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1153 IMG_UINT32 ui32CmdSize,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1154 DEVMEM_FLAGS_T uiCCBMemAllocFlags,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1155 const IMG_CHAR *pszName)
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1156 {
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1157 const IMG_UINT32 ui32MaxInputStrSize = 13;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1158 const IMG_UINT32 ui32AppendStrSize = 7;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1159 const IMG_UINT32 ui32MaxTotalStrSize = ui32MaxInputStrSize + ui32AppendStrSize +1;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1160 const IMG_CHAR sAppend[] = "Control";
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1161 PVRSRV_ERROR eError;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1162 RGXFWIF_CCB_CTL *psCCBCtl;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1163 DEVMEM_FLAGS_T uiCCBCtlMemAllocFlags;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1164 IMG_UINT32 ui32CCBSize = (1U << ui32NumCmdsLog2);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 @1165 IMG_CHAR sCCBCtlName[ui32MaxTotalStrSize];
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1166
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1167 PVR_ASSERT(strlen(sAppend) == ui32AppendStrSize);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1168 PVR_ASSERT(strlen(pszName) <= ui32MaxInputStrSize);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1169
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1170 uiCCBCtlMemAllocFlags = PVRSRV_MEMALLOCFLAG_DEVICE_FLAG(PMMETA_PROTECT) |
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1171 PVRSRV_MEMALLOCFLAG_GPU_READABLE |
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1172 PVRSRV_MEMALLOCFLAG_GPU_WRITEABLE |
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1173 PVRSRV_MEMALLOCFLAG_CPU_READABLE |
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1174 PVRSRV_MEMALLOCFLAG_CPU_WRITEABLE |
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1175 PVRSRV_MEMALLOCFLAG_KERNEL_CPU_MAPPABLE |
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1176 PVRSRV_MEMALLOCFLAG_UNCACHED |
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1177 PVRSRV_MEMALLOCFLAG_ZERO_ON_ALLOC;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1178
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1179 /* Append "Control" to the name for the control struct. */
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1180 strcpy(sCCBCtlName, pszName);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1181 strncat(sCCBCtlName, sAppend, ui32AppendStrSize);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1182
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1183 /* Allocate memory for the CCB control.*/
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1184 PDUMPCOMMENT("Allocate memory for %s", sCCBCtlName);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1185 eError = DevmemFwAllocate(psDevInfo,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1186 sizeof(RGXFWIF_CCB_CTL),
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1187 uiCCBCtlMemAllocFlags,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1188 sCCBCtlName,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1189 ppsCCBCtlMemDesc);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1190
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1191 if (eError != PVRSRV_OK)
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1192 {
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1193 PVR_DPF((PVR_DBG_ERROR,"%s: Failed to allocate %s (%u)", __func__, sCCBCtlName, eError));
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1194 goto fail;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1195 }
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1196
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1197 /*
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1198 * Allocate memory for the CCB.
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1199 * (this will reference further command data in non-shared CCBs)
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1200 */
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1201 PDUMPCOMMENT("Allocate memory for %s", pszName);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1202 eError = DevmemFwAllocate(psDevInfo,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1203 ui32CCBSize * ui32CmdSize,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1204 uiCCBMemAllocFlags,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1205 pszName,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1206 ppsCCBMemDesc);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1207
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1208 if (eError != PVRSRV_OK)
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1209 {
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1210 PVR_DPF((PVR_DBG_ERROR,"%s: Failed to allocate %s (%u)", __func__, pszName, eError));
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1211 goto fail;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1212 }
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1213
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1214 /*
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1215 Map the CCB control to the kernel.
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1216 */
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1217 eError = DevmemAcquireCpuVirtAddr(*ppsCCBCtlMemDesc,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1218 (void **)ppsCCBCtl);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1219 if (eError != PVRSRV_OK)
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1220 {
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1221 PVR_DPF((PVR_DBG_ERROR,"%s: Failed to acquire cpu %s (%u)", __func__, sCCBCtlName, eError));
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1222 goto fail;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1223 }
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1224
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1225 /*
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1226 * Map the CCB to the kernel.
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1227 */
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1228 eError = DevmemAcquireCpuVirtAddr(*ppsCCBMemDesc,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1229 (void **)ppui8CCB);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1230 if (eError != PVRSRV_OK)
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1231 {
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1232 PVR_DPF((PVR_DBG_ERROR,"%s: Failed to acquire cpu %s (%u)", __func__, pszName, eError));
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1233 goto fail;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1234 }
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1235
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1236 /*
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1237 * Initialise the CCB control.
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1238 */
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1239 psCCBCtl = *ppsCCBCtl;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1240 psCCBCtl->ui32WriteOffset = 0;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1241 psCCBCtl->ui32ReadOffset = 0;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1242 psCCBCtl->ui32WrapMask = ui32CCBSize - 1;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1243 psCCBCtl->ui32CmdSize = ui32CmdSize;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1244
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1245 /*
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1246 * Set-up RGXFWIfCtl pointers to access the kCCB
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1247 */
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1248 RGXSetFirmwareAddress(psCCBCtlFWAddr,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1249 *ppsCCBCtlMemDesc,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1250 0, RFW_FWADDR_NOREF_FLAG);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1251
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1252 RGXSetFirmwareAddress(psCCBFWAddr,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1253 *ppsCCBMemDesc,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1254 0, RFW_FWADDR_NOREF_FLAG);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1255
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1256 /*
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1257 * Pdump the CCB control.
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1258 */
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1259 PDUMPCOMMENT("Initialise %s", sCCBCtlName);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1260 DevmemPDumpLoadMem(*ppsCCBCtlMemDesc,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1261 0,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1262 sizeof(RGXFWIF_CCB_CTL),
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1263 0);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1264
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1265 return PVRSRV_OK;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1266
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1267 fail:
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1268 RGXFreeCCB(psDevInfo,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1269 ppsCCBCtl,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1270 ppsCCBCtlMemDesc,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1271 ppui8CCB,
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1272 ppsCCBMemDesc);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1273
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1274 PVR_ASSERT(eError != PVRSRV_OK);
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1275 return eError;
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1276 }
8023dfb4dc0d07 Luigi Santivetti 2019-10-31 1277
:::::: The code at line 1165 was first introduced by commit
:::::: 8023dfb4dc0d07510b36f48b2ba2442aa99c89bf CHROMIUM: drm/img-rogue: Add 1.10 IMG PowerVR Rogue driver
:::::: TO: Luigi Santivetti <luigi.santivetti(a)imagination.corp-partner.google.com>
:::::: CC: Commit Bot <commit-bot(a)chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[peterz-queue:locking/task_work 18/38] include/linux/rcupdate.h:197:3: error: implicit declaration of function 'rcu_irq_enter_irqsave'; did you mean 'rcu_irq_enter_irqsafe'?
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/task_work
head: b9a78907dfb92b903d4d52402fc69a051cafa716
commit: a6377699039712759e256b989ffee5da7a50f791 [18/38] rcu,tracing: Create trace_rcu_{enter,exit}()
config: powerpc-mpc885_ads_defconfig (attached as .config)
compiler: powerpc-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout a6377699039712759e256b989ffee5da7a50f791
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/workqueue.h:16:0,
from include/linux/rhashtable-types.h:15,
from include/linux/ipc.h:7,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/compat.h:14,
from arch/powerpc/kernel/asm-offsets.c:14:
include/linux/rcupdate.h: In function 'trace_rcu_enter':
>> include/linux/rcupdate.h:197:3: error: implicit declaration of function 'rcu_irq_enter_irqsave'; did you mean 'rcu_irq_enter_irqsafe'? [-Werror=implicit-function-declaration]
rcu_irq_enter_irqsave();
^~~~~~~~~~~~~~~~~~~~~
rcu_irq_enter_irqsafe
include/linux/rcupdate.h: In function 'trace_rcu_exit':
>> include/linux/rcupdate.h:204:3: error: implicit declaration of function 'rcu_irq_exit_irqsave'; did you mean 'rcu_irq_exit_irqsafe'? [-Werror=implicit-function-declaration]
rcu_irq_exit_irqsave();
^~~~~~~~~~~~~~~~~~~~
rcu_irq_exit_irqsafe
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:101: arch/powerpc/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1112: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:179: sub-make] Error 2
43 real 7 user 10 sys 41.64% cpu make prepare
vim +197 include/linux/rcupdate.h
177
178 /**
179 * trace_rcu_enter - Force RCU to be active, for code that needs RCU readers
180 *
181 * Very similar to RCU_NONIDLE() above.
182 *
183 * Tracing can happen while RCU isn't active yet, for instance in the idle loop
184 * between rcu_idle_enter() and rcu_idle_exit(), or early in exception entry.
185 * RCU will happily ignore any read-side critical sections in this case.
186 *
187 * This function ensures that RCU is aware hereafter and the code can readily
188 * rely on RCU read-side critical sections working as expected.
189 *
190 * This function is NMI safe -- provided in_nmi() is correct and will nest up-to
191 * INT_MAX/2 times.
192 */
193 static inline int trace_rcu_enter(void)
194 {
195 int state = !rcu_is_watching();
196 if (state)
> 197 rcu_irq_enter_irqsave();
198 return state;
199 }
200
201 static inline void trace_rcu_exit(int state)
202 {
203 if (state)
> 204 rcu_irq_exit_irqsave();
205 }
206
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[luto:x86/fixes 1/1] arch/x86/mm/fault.c:1525:6: error: implicit declaration of function 'kvm_handle_async_pf'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git x86/fixes
head: cbf296087190a1b9172fe419a5df194302829bf7
commit: cbf296087190a1b9172fe419a5df194302829bf7 [1/1] x86/kvm: Handle async page faults directly through do_page_fault()
config: x86_64-defconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-5) 7.5.0
reproduce:
git checkout cbf296087190a1b9172fe419a5df194302829bf7
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/x86/mm/fault.c: In function 'do_page_fault':
>> arch/x86/mm/fault.c:1525:6: error: implicit declaration of function 'kvm_handle_async_pf' [-Werror=implicit-function-declaration]
if (kvm_handle_async_pf(regs, hw_error_code, address))
^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/kvm_handle_async_pf +1525 arch/x86/mm/fault.c
1503
1504 dotraplinkage void
1505 do_page_fault(struct pt_regs *regs, unsigned long hw_error_code,
1506 unsigned long address)
1507 {
1508 prefetchw(¤t->mm->mmap_sem);
1509 /*
1510 * KVM has two types of events that are, logically, interrupts, but
1511 * are unfortunately delivered using the #PF vector. These events are
1512 * "you just accessed valid memory, but the host doesn't have it right
1513 * not, so I'll put you to sleep if you continue" and "that memory
1514 * you tried to access earlier is available now."
1515 *
1516 * We are relying on the interrupted context being sane (valid
1517 * RSP, relevant locks not held, etc.), which is fine as long as
1518 * the the interrupted context had IF=1. We are also relying on
1519 * the KVM async pf type field and CR2 being read consistently
1520 * instead of getting values from real and async page faults
1521 * mixed up.
1522 *
1523 * Fingers crossed.
1524 */
> 1525 if (kvm_handle_async_pf(regs, hw_error_code, address))
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[meghadey-crypto:iommu_debugfs_improvements 2/2] drivers/iommu/intel-iommu.c:5137:21: error: use of undeclared identifier 'disable_irq_remap'; did you mean 'disable_irq_wake'?
by kbuild test robot
tree: https://github.com/meghadey/crypto iommu_debugfs_improvements
head: 54d8336f22d5d2c374d54ed5db5e38da5e350370
commit: 54d8336f22d5d2c374d54ed5db5e38da5e350370 [2/2] iommu/vt-d: Populate debugfs if either dma or interrupt remapping is enabled
config: x86_64-defconfig (attached as .config)
compiler: clang version 11.0.0 (git://gitmirror/llvm_project 949134e2fefd34a38ed71de90dffe2300e2e1139)
reproduce:
# FIXME the reproduce steps for clang is not ready yet
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
>> drivers/iommu/intel-iommu.c:5137:21: error: use of undeclared identifier 'disable_irq_remap'; did you mean 'disable_irq_wake'?
if (!no_iommu && (!disable_irq_remap || !dmar_disabled))
^~~~~~~~~~~~~~~~~
disable_irq_wake
include/linux/interrupt.h:468:19: note: 'disable_irq_wake' declared here
static inline int disable_irq_wake(unsigned int irq)
^
>> drivers/iommu/intel-iommu.c:5137:21: warning: address of function 'disable_irq_wake' will always evaluate to 'true' [-Wpointer-bool-conversion]
if (!no_iommu && (!disable_irq_remap || !dmar_disabled))
~^~~~~~~~~~~~~~~~~
drivers/iommu/intel-iommu.c:5137:21: note: prefix with the address-of operator to silence this warning
if (!no_iommu && (!disable_irq_remap || !dmar_disabled))
^
&
1 warning and 1 error generated.
vim +5137 drivers/iommu/intel-iommu.c
5091
5092 int __init intel_iommu_init(void)
5093 {
5094 int ret = -ENODEV;
5095 struct dmar_drhd_unit *drhd;
5096 struct intel_iommu *iommu;
5097
5098 /*
5099 * Intel IOMMU is required for a TXT/tboot launch or platform
5100 * opt in, so enforce that.
5101 */
5102 force_on = tboot_force_iommu() || platform_optin_force_iommu();
5103
5104 if (iommu_init_mempool()) {
5105 if (force_on)
5106 panic("tboot: Failed to initialize iommu memory\n");
5107 return -ENOMEM;
5108 }
5109
5110 down_write(&dmar_global_lock);
5111 if (dmar_table_init()) {
5112 if (force_on)
5113 panic("tboot: Failed to initialize DMAR table\n");
5114 goto out_free_dmar;
5115 }
5116
5117 if (dmar_dev_scope_init() < 0) {
5118 if (force_on)
5119 panic("tboot: Failed to initialize DMAR device scope\n");
5120 goto out_free_dmar;
5121 }
5122
5123 up_write(&dmar_global_lock);
5124
5125 /*
5126 * The bus notifier takes the dmar_global_lock, so lockdep will
5127 * complain later when we register it under the lock.
5128 */
5129 dmar_register_bus_notifier();
5130
5131 down_write(&dmar_global_lock);
5132
5133 /*
5134 * Create iommu debugfs directory if iommu is present and either DMA
5135 * or IRQ remapping is enabled.
5136 */
> 5137 if (!no_iommu && (!disable_irq_remap || !dmar_disabled))
5138 intel_iommu_debugfs_init();
5139
5140 if (no_iommu || dmar_disabled) {
5141 /*
5142 * We exit the function here to ensure IOMMU's remapping and
5143 * mempool aren't setup, which means that the IOMMU's PMRs
5144 * won't be disabled via the call to init_dmars(). So disable
5145 * it explicitly here. The PMRs were setup by tboot prior to
5146 * calling SENTER, but the kernel is expected to reset/tear
5147 * down the PMRs.
5148 */
5149 if (intel_iommu_tboot_noforce) {
5150 for_each_iommu(iommu, drhd)
5151 iommu_disable_protect_mem_regions(iommu);
5152 }
5153
5154 /*
5155 * Make sure the IOMMUs are switched off, even when we
5156 * boot into a kexec kernel and the previous kernel left
5157 * them enabled
5158 */
5159 intel_disable_iommus();
5160 goto out_free_dmar;
5161 }
5162
5163 if (list_empty(&dmar_rmrr_units))
5164 pr_info("No RMRR found\n");
5165
5166 if (list_empty(&dmar_atsr_units))
5167 pr_info("No ATSR found\n");
5168
5169 if (dmar_init_reserved_ranges()) {
5170 if (force_on)
5171 panic("tboot: Failed to reserve iommu ranges\n");
5172 goto out_free_reserved_range;
5173 }
5174
5175 if (dmar_map_gfx)
5176 intel_iommu_gfx_mapped = 1;
5177
5178 init_no_remapping_devices();
5179
5180 ret = init_dmars();
5181 if (ret) {
5182 if (force_on)
5183 panic("tboot: Failed to initialize DMARs\n");
5184 pr_err("Initialization failed\n");
5185 goto out_free_reserved_range;
5186 }
5187 up_write(&dmar_global_lock);
5188
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
Re: [PATCH net-next 3/3] net: phy: mscc: implement RGMII skew delay configuration
by kbuild test robot
Hi Antoine,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
[also build test WARNING on robh/for-next net/master linus/master v5.6-rc3 next-20200227]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Antoine-Tenart/net-phy-mscc-add-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 2b99e54b30ed56201dedd91e6049ed83aa9d2302
config: arc-randconfig-a001-20200228 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/firmware.h:6,
from drivers/net/phy/mscc.c:10:
drivers/net/phy/mscc.c: In function 'vsc8584_config_init':
drivers/net/phy/mscc.c:2838:23: error: 'dev' undeclared (first use in this function); did you mean 'cdev'?
2838 | if (of_find_property(dev->of_node, "vsc8584,rgmii-skew-rx", NULL) ||
| ^~~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
>> drivers/net/phy/mscc.c:2838:2: note: in expansion of macro 'if'
2838 | if (of_find_property(dev->of_node, "vsc8584,rgmii-skew-rx", NULL) ||
| ^~
drivers/net/phy/mscc.c:2838:23: note: each undeclared identifier is reported only once for each function it appears in
2838 | if (of_find_property(dev->of_node, "vsc8584,rgmii-skew-rx", NULL) ||
| ^~~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
>> drivers/net/phy/mscc.c:2838:2: note: in expansion of macro 'if'
2838 | if (of_find_property(dev->of_node, "vsc8584,rgmii-skew-rx", NULL) ||
| ^~
vim +/if +2838 drivers/net/phy/mscc.c
2825
2826 phy_write(phydev, MSCC_EXT_PAGE_ACCESS, MSCC_PHY_PAGE_STANDARD);
2827
2828 val = phy_read(phydev, MSCC_PHY_EXT_PHY_CNTL_1);
2829 val &= ~(MEDIA_OP_MODE_MASK | VSC8584_MAC_IF_SELECTION_MASK);
2830 val |= (MEDIA_OP_MODE_COPPER << MEDIA_OP_MODE_POS) |
2831 (VSC8584_MAC_IF_SELECTION_SGMII << VSC8584_MAC_IF_SELECTION_POS);
2832 ret = phy_write(phydev, MSCC_PHY_EXT_PHY_CNTL_1, val);
2833
2834 ret = genphy_soft_reset(phydev);
2835 if (ret)
2836 return ret;
2837
> 2838 if (of_find_property(dev->of_node, "vsc8584,rgmii-skew-rx", NULL) ||
2839 of_find_property(dev->of_node, "vsc8584,rgmii-skew-tx", NULL)) {
2840 of_property_read_u32(dev->of_node, "vsc8584,rgmii-skew-rx", &skew_rx);
2841 of_property_read_u32(dev->of_node, "vsc8584,rgmii-skew-tx", &skew_tx);
2842
2843 phy_modify_paged(phydev, MSCC_PHY_PAGE_EXTENDED_2,
2844 MSCC_PHY_RGMII_SETTINGS,
2845 (0x7 << RGMII_SKEW_RX_POS) |
2846 (0x7 << RGMII_SKEW_TX_POS),
2847 (skew_rx << RGMII_SKEW_RX_POS) |
2848 (skew_tx << RGMII_SKEW_TX_POS));
2849 }
2850
2851 for (i = 0; i < vsc8531->nleds; i++) {
2852 ret = vsc85xx_led_cntl_set(phydev, i, vsc8531->leds_mode[i]);
2853 if (ret)
2854 return ret;
2855 }
2856
2857 return 0;
2858
2859 err:
2860 mutex_unlock(&phydev->mdio.bus->mdio_lock);
2861 return ret;
2862 }
2863
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[jpirko-mlxsw:jiri_devel_counters 11/11] net/sched/cls_api.c:3501:9: warning: 'last_hw_stats_type' may be used uninitialized in this function
by kbuild test robot
tree: https://github.com/jpirko/linux_mlxsw jiri_devel_counters
head: 16685c91fd428e68692046f3c1abffe2625e23df
commit: 16685c91fd428e68692046f3c1abffe2625e23df [11/11] sched: act: allow user to specify type of HW stats for a filter
config: x86_64-defconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-5) 7.5.0
reproduce:
git checkout 16685c91fd428e68692046f3c1abffe2625e23df
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings
All warnings (new ones prefixed by >>):
net/sched/cls_api.c: In function 'tc_setup_flow_action':
>> net/sched/cls_api.c:3501:9: warning: 'last_hw_stats_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
if (i && last_hw_stats_type != entry->hw_stats_type)
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/last_hw_stats_type +3501 net/sched/cls_api.c
3478
3479 int tc_setup_flow_action(struct flow_action *flow_action,
3480 const struct tcf_exts *exts)
3481 {
3482 enum flow_action_hw_stats_type last_hw_stats_type;
3483 struct tc_action *act;
3484 int i, j, k, err = 0;
3485
3486 if (!exts)
3487 return 0;
3488
3489 j = 0;
3490 tcf_exts_for_each_action(i, act, exts) {
3491 struct flow_action_entry *entry;
3492
3493 entry = &flow_action->entries[j];
3494 spin_lock_bh(&act->tcfa_lock);
3495 err = tcf_act_get_cookie(entry, act);
3496 if (err)
3497 goto err_out_locked;
3498
3499 entry->hw_stats_type =
3500 tcf_flow_action_hw_stats_type(act->hw_stats_type);
> 3501 if (i && last_hw_stats_type != entry->hw_stats_type)
3502 flow_action->mixed_hw_stats_types = true;
3503 last_hw_stats_type = entry->hw_stats_type;
3504
3505 if (is_tcf_gact_ok(act)) {
3506 entry->id = FLOW_ACTION_ACCEPT;
3507 } else if (is_tcf_gact_shot(act)) {
3508 entry->id = FLOW_ACTION_DROP;
3509 } else if (is_tcf_gact_trap(act)) {
3510 entry->id = FLOW_ACTION_TRAP;
3511 } else if (is_tcf_gact_goto_chain(act)) {
3512 entry->id = FLOW_ACTION_GOTO;
3513 entry->chain_index = tcf_gact_goto_chain_index(act);
3514 } else if (is_tcf_mirred_egress_redirect(act)) {
3515 entry->id = FLOW_ACTION_REDIRECT;
3516 tcf_mirred_get_dev(entry, act);
3517 } else if (is_tcf_mirred_egress_mirror(act)) {
3518 entry->id = FLOW_ACTION_MIRRED;
3519 tcf_mirred_get_dev(entry, act);
3520 } else if (is_tcf_mirred_ingress_redirect(act)) {
3521 entry->id = FLOW_ACTION_REDIRECT_INGRESS;
3522 tcf_mirred_get_dev(entry, act);
3523 } else if (is_tcf_mirred_ingress_mirror(act)) {
3524 entry->id = FLOW_ACTION_MIRRED_INGRESS;
3525 tcf_mirred_get_dev(entry, act);
3526 } else if (is_tcf_vlan(act)) {
3527 switch (tcf_vlan_action(act)) {
3528 case TCA_VLAN_ACT_PUSH:
3529 entry->id = FLOW_ACTION_VLAN_PUSH;
3530 entry->vlan.vid = tcf_vlan_push_vid(act);
3531 entry->vlan.proto = tcf_vlan_push_proto(act);
3532 entry->vlan.prio = tcf_vlan_push_prio(act);
3533 break;
3534 case TCA_VLAN_ACT_POP:
3535 entry->id = FLOW_ACTION_VLAN_POP;
3536 break;
3537 case TCA_VLAN_ACT_MODIFY:
3538 entry->id = FLOW_ACTION_VLAN_MANGLE;
3539 entry->vlan.vid = tcf_vlan_push_vid(act);
3540 entry->vlan.proto = tcf_vlan_push_proto(act);
3541 entry->vlan.prio = tcf_vlan_push_prio(act);
3542 break;
3543 default:
3544 err = -EOPNOTSUPP;
3545 goto err_out_locked;
3546 }
3547 } else if (is_tcf_tunnel_set(act)) {
3548 entry->id = FLOW_ACTION_TUNNEL_ENCAP;
3549 err = tcf_tunnel_encap_get_tunnel(entry, act);
3550 if (err)
3551 goto err_out_locked;
3552 } else if (is_tcf_tunnel_release(act)) {
3553 entry->id = FLOW_ACTION_TUNNEL_DECAP;
3554 } else if (is_tcf_pedit(act)) {
3555 for (k = 0; k < tcf_pedit_nkeys(act); k++) {
3556 switch (tcf_pedit_cmd(act, k)) {
3557 case TCA_PEDIT_KEY_EX_CMD_SET:
3558 entry->id = FLOW_ACTION_MANGLE;
3559 break;
3560 case TCA_PEDIT_KEY_EX_CMD_ADD:
3561 entry->id = FLOW_ACTION_ADD;
3562 break;
3563 default:
3564 err = -EOPNOTSUPP;
3565 goto err_out_locked;
3566 }
3567 entry->mangle.htype = tcf_pedit_htype(act, k);
3568 entry->mangle.mask = tcf_pedit_mask(act, k);
3569 entry->mangle.val = tcf_pedit_val(act, k);
3570 entry->mangle.offset = tcf_pedit_offset(act, k);
3571 entry = &flow_action->entries[++j];
3572 }
3573 } else if (is_tcf_csum(act)) {
3574 entry->id = FLOW_ACTION_CSUM;
3575 entry->csum_flags = tcf_csum_update_flags(act);
3576 } else if (is_tcf_skbedit_mark(act)) {
3577 entry->id = FLOW_ACTION_MARK;
3578 entry->mark = tcf_skbedit_mark(act);
3579 } else if (is_tcf_sample(act)) {
3580 entry->id = FLOW_ACTION_SAMPLE;
3581 entry->sample.trunc_size = tcf_sample_trunc_size(act);
3582 entry->sample.truncate = tcf_sample_truncate(act);
3583 entry->sample.rate = tcf_sample_rate(act);
3584 tcf_sample_get_group(entry, act);
3585 } else if (is_tcf_police(act)) {
3586 entry->id = FLOW_ACTION_POLICE;
3587 entry->police.burst = tcf_police_tcfp_burst(act);
3588 entry->police.rate_bytes_ps =
3589 tcf_police_rate_bytes_ps(act);
3590 } else if (is_tcf_ct(act)) {
3591 entry->id = FLOW_ACTION_CT;
3592 entry->ct.action = tcf_ct_action(act);
3593 entry->ct.zone = tcf_ct_zone(act);
3594 } else if (is_tcf_mpls(act)) {
3595 switch (tcf_mpls_action(act)) {
3596 case TCA_MPLS_ACT_PUSH:
3597 entry->id = FLOW_ACTION_MPLS_PUSH;
3598 entry->mpls_push.proto = tcf_mpls_proto(act);
3599 entry->mpls_push.label = tcf_mpls_label(act);
3600 entry->mpls_push.tc = tcf_mpls_tc(act);
3601 entry->mpls_push.bos = tcf_mpls_bos(act);
3602 entry->mpls_push.ttl = tcf_mpls_ttl(act);
3603 break;
3604 case TCA_MPLS_ACT_POP:
3605 entry->id = FLOW_ACTION_MPLS_POP;
3606 entry->mpls_pop.proto = tcf_mpls_proto(act);
3607 break;
3608 case TCA_MPLS_ACT_MODIFY:
3609 entry->id = FLOW_ACTION_MPLS_MANGLE;
3610 entry->mpls_mangle.label = tcf_mpls_label(act);
3611 entry->mpls_mangle.tc = tcf_mpls_tc(act);
3612 entry->mpls_mangle.bos = tcf_mpls_bos(act);
3613 entry->mpls_mangle.ttl = tcf_mpls_ttl(act);
3614 break;
3615 default:
3616 goto err_out_locked;
3617 }
3618 } else if (is_tcf_skbedit_ptype(act)) {
3619 entry->id = FLOW_ACTION_PTYPE;
3620 entry->ptype = tcf_skbedit_ptype(act);
3621 } else {
3622 err = -EOPNOTSUPP;
3623 goto err_out_locked;
3624 }
3625 spin_unlock_bh(&act->tcfa_lock);
3626
3627 if (!is_tcf_pedit(act))
3628 j++;
3629 }
3630
3631 err_out:
3632 if (err)
3633 tc_cleanup_flow_action(flow_action);
3634
3635 return err;
3636 err_out_locked:
3637 spin_unlock_bh(&act->tcfa_lock);
3638 goto err_out;
3639 }
3640 EXPORT_SYMBOL(tc_setup_flow_action);
3641
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
Re: [PATCH net-next 3/3] net: phy: mscc: implement RGMII skew delay configuration
by kbuild test robot
Hi Antoine,
I love your patch! Yet something to improve:
[auto build test ERROR on net-next/master]
[also build test ERROR on robh/for-next net/master linus/master v5.6-rc3 next-20200227]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Antoine-Tenart/net-phy-mscc-add-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 2b99e54b30ed56201dedd91e6049ed83aa9d2302
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=sh
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/net/phy/mscc.c: In function 'vsc8584_config_init':
>> drivers/net/phy/mscc.c:2838:23: error: 'dev' undeclared (first use in this function); did you mean 'cdev'?
if (of_find_property(dev->of_node, "vsc8584,rgmii-skew-rx", NULL) ||
^~~
cdev
drivers/net/phy/mscc.c:2838:23: note: each undeclared identifier is reported only once for each function it appears in
vim +2838 drivers/net/phy/mscc.c
2825
2826 phy_write(phydev, MSCC_EXT_PAGE_ACCESS, MSCC_PHY_PAGE_STANDARD);
2827
2828 val = phy_read(phydev, MSCC_PHY_EXT_PHY_CNTL_1);
2829 val &= ~(MEDIA_OP_MODE_MASK | VSC8584_MAC_IF_SELECTION_MASK);
2830 val |= (MEDIA_OP_MODE_COPPER << MEDIA_OP_MODE_POS) |
2831 (VSC8584_MAC_IF_SELECTION_SGMII << VSC8584_MAC_IF_SELECTION_POS);
2832 ret = phy_write(phydev, MSCC_PHY_EXT_PHY_CNTL_1, val);
2833
2834 ret = genphy_soft_reset(phydev);
2835 if (ret)
2836 return ret;
2837
> 2838 if (of_find_property(dev->of_node, "vsc8584,rgmii-skew-rx", NULL) ||
2839 of_find_property(dev->of_node, "vsc8584,rgmii-skew-tx", NULL)) {
2840 of_property_read_u32(dev->of_node, "vsc8584,rgmii-skew-rx", &skew_rx);
2841 of_property_read_u32(dev->of_node, "vsc8584,rgmii-skew-tx", &skew_tx);
2842
2843 phy_modify_paged(phydev, MSCC_PHY_PAGE_EXTENDED_2,
2844 MSCC_PHY_RGMII_SETTINGS,
2845 (0x7 << RGMII_SKEW_RX_POS) |
2846 (0x7 << RGMII_SKEW_TX_POS),
2847 (skew_rx << RGMII_SKEW_RX_POS) |
2848 (skew_tx << RGMII_SKEW_TX_POS));
2849 }
2850
2851 for (i = 0; i < vsc8531->nleds; i++) {
2852 ret = vsc85xx_led_cntl_set(phydev, i, vsc8531->leds_mode[i]);
2853 if (ret)
2854 return ret;
2855 }
2856
2857 return 0;
2858
2859 err:
2860 mutex_unlock(&phydev->mdio.bus->mdio_lock);
2861 return ret;
2862 }
2863
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months