Hi Shameer,

I love your patch! Perhaps something to improve:

[auto build test WARNING on joro-iommu/next]
[also build test WARNING on rafael-pm/linux-next arm/for-next 
arm64/for-next/core soc/for-next linus/master v5.18-rc3 next-20220422]
[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/intel-lab-lkp/linux/commits/Shameer-Kolothum/ACPI-IORT-Support-for-IORT-RMR-node/20220423-003822
base:   https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: arm64-allyesconfig 
(https://download.01.org/0day-ci/archive/20220423/202204232022.kmubee9l-...@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
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
        # 
https://github.com/intel-lab-lkp/linux/commit/5b73fd681a27e2ad450bac28f8a81f4b35fe4d68
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review 
Shameer-Kolothum/ACPI-IORT-Support-for-IORT-RMR-node/20220423-003822
        git checkout 5b73fd681a27e2ad450bac28f8a81f4b35fe4d68
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross W=1 
O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/acpi/arm64/

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

All warnings (new ones prefixed by >>):

>> drivers/acpi/arm64/iort.c:801:29: warning: no previous prototype for 
>> 'iort_rmr_alloc' [-Wmissing-prototypes]
     801 | struct iommu_iort_rmr_data *iort_rmr_alloc(struct acpi_iort_rmr_desc 
*rmr_desc,
         |                             ^~~~~~~~~~~~~~
   drivers/acpi/arm64/iort.c: In function 'iort_get_rmrs':
   drivers/acpi/arm64/iort.c:896:34: error: 'ACPI_IORT_RMR_REMAP_PERMITTED' 
undeclared (first use in this function)
     896 |                 if (rmr->flags & ACPI_IORT_RMR_REMAP_PERMITTED)
         |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/acpi/arm64/iort.c:896:34: note: each undeclared identifier is 
reported only once for each function it appears in
   drivers/acpi/arm64/iort.c:901:34: error: 'ACPI_IORT_RMR_ACCESS_PRIVILEGE' 
undeclared (first use in this function)
     901 |                 if (rmr->flags & ACPI_IORT_RMR_ACCESS_PRIVILEGE)
         |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/acpi/arm64/iort.c:905:21: error: implicit declaration of function 
'ACPI_IORT_RMR_ACCESS_ATTRIBUTES'; did you mean 'ACPI_IORT_MF_ATTRIBUTES'? 
[-Werror=implicit-function-declaration]
     905 |                 if (ACPI_IORT_RMR_ACCESS_ATTRIBUTES(rmr->flags) <=
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                     ACPI_IORT_MF_ATTRIBUTES
   drivers/acpi/arm64/iort.c:906:33: error: 'ACPI_IORT_RMR_ATTR_DEVICE_GRE' 
undeclared (first use in this function)
     906 |                                 ACPI_IORT_RMR_ATTR_DEVICE_GRE)
         |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/acpi/arm64/iort.c:909:33: error: 'ACPI_IORT_RMR_ATTR_NORMAL_IWB_OWB' 
undeclared (first use in this function)
     909 |                                 ACPI_IORT_RMR_ATTR_NORMAL_IWB_OWB)
         |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/iort_rmr_alloc +801 drivers/acpi/arm64/iort.c

   800  
 > 801  struct iommu_iort_rmr_data *iort_rmr_alloc(struct acpi_iort_rmr_desc 
 > *rmr_desc,
   802                                             int prot, enum 
iommu_resv_type type,
   803                                             u32 *sids, u32 num_sids)
   804  {
   805          struct iommu_iort_rmr_data *rmr_data;
   806          struct iommu_resv_region *region;
   807          u32 *sids_copy;
   808          u64 addr = rmr_desc->base_address, size = rmr_desc->length;
   809  
   810          rmr_data = kmalloc(sizeof(*rmr_data), GFP_KERNEL);
   811          if (!rmr_data)
   812                  return NULL;
   813  
   814          /* Create a copy of SIDs array to associate with this rmr_data 
*/
   815          sids_copy = kmemdup(sids, num_sids * sizeof(*sids), GFP_KERNEL);
   816          if (!sids_copy) {
   817                  kfree(rmr_data);
   818                  return NULL;
   819          }
   820          rmr_data->sids = sids_copy;
   821          rmr_data->num_sids = num_sids;
   822  
   823          if (!IS_ALIGNED(addr, SZ_64K) || !IS_ALIGNED(size, SZ_64K)) {
   824                  /* PAGE align base addr and size */
   825                  addr &= PAGE_MASK;
   826                  size = PAGE_ALIGN(size + 
offset_in_page(rmr_desc->base_address));
   827  
   828                  pr_err(FW_BUG "RMR descriptor[0x%llx - 0x%llx] not 
aligned to 64K, continue with [0x%llx - 0x%llx]\n",
   829                         rmr_desc->base_address,
   830                         rmr_desc->base_address + rmr_desc->length - 1,
   831                         addr, addr + size - 1);
   832          }
   833  
   834          region = &rmr_data->rr;
   835          INIT_LIST_HEAD(&region->list);
   836          region->start = addr;
   837          region->length = size;
   838          region->prot = prot;
   839          region->type = type;
   840          region->free = iort_rmr_free;
   841  
   842          return rmr_data;
   843  }
   844  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to