Re: [PATCH v5 3/4] dmaengine: dw-edma: Add support for native HDMA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Cai,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on pci/next]
[also build test WARNING on linus/master next-20230303]
[cannot apply to vkoul-dmaengine/next pci/for-linus v6.2]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Cai-Huoqing/dmaengine-dw-edma-Rename-dw_edma_core_ops-structure-to-dw_edma_plat_ops/20230303-204905
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link:    https://lore.kernel.org/r/20230303124642.5519-4-cai.huoqing%40linux.dev
patch subject: [PATCH v5 3/4] dmaengine: dw-edma: Add support for native HDMA
config: arm-randconfig-r016-20230303 (https://download.01.org/0day-ci/archive/20230304/202303041444.2M7BzjRU-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 67409911353323ca5edf2049ef0df54132fa1ca7)
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 arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://github.com/intel-lab-lkp/linux/commit/061ed1e9b9bf70de12d7885880ee6302865a72d0
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Cai-Huoqing/dmaengine-dw-edma-Rename-dw_edma_core_ops-structure-to-dw_edma_plat_ops/20230303-204905
        git checkout 061ed1e9b9bf70de12d7885880ee6302865a72d0
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/dma/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202303041444.2M7BzjRU-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

   In file included from drivers/dma/dw-edma/dw-hdma-v0-core.c:12:
>> drivers/dma/dw-edma/dw-hdma-v0-regs.h:71:4: warning: field msi_stop within 'struct dw_hdma_v0_ch_regs' is less aligned than 'union (unnamed union at drivers/dma/dw-edma/dw-hdma-v0-regs.h:65:2)' and is usually due to 'struct dw_hdma_v0_ch_regs' being packed, which can lead to unaligned accesses [-Wunaligned-access]
           } msi_stop;
             ^
>> drivers/dma/dw-edma/dw-hdma-v0-regs.h:78:4: warning: field msi_watermark within 'struct dw_hdma_v0_ch_regs' is less aligned than 'union (unnamed union at drivers/dma/dw-edma/dw-hdma-v0-regs.h:72:2)' and is usually due to 'struct dw_hdma_v0_ch_regs' being packed, which can lead to unaligned accesses [-Wunaligned-access]
           } msi_watermark;
             ^
>> drivers/dma/dw-edma/dw-hdma-v0-regs.h:85:4: warning: field msi_abort within 'struct dw_hdma_v0_ch_regs' is less aligned than 'union (unnamed union at drivers/dma/dw-edma/dw-hdma-v0-regs.h:79:2)' and is usually due to 'struct dw_hdma_v0_ch_regs' being packed, which can lead to unaligned accesses [-Wunaligned-access]
           } msi_abort;
             ^
   3 warnings generated.


vim +71 drivers/dma/dw-edma/dw-hdma-v0-regs.h

    26	
    27	struct dw_hdma_v0_ch_regs {
    28		u32 ch_en;				/* 0x0000 */
    29		u32 doorbell;				/* 0x0004 */
    30		u32 prefetch;				/* 0x0008 */
    31		u32 handshake;				/* 0x000c */
    32		union {
    33			u64 reg;			/* 0x0010..0x0014 */
    34			struct {
    35				u32 lsb;		/* 0x0010 */
    36				u32 msb;		/* 0x0014 */
    37			};
    38		} llp;
    39		u32 cycle_sync;				/* 0x0018 */
    40		u32 transfer_size;			/* 0x001c */
    41		union {
    42			u64 reg;			/* 0x0020..0x0024 */
    43			struct {
    44				u32 lsb;		/* 0x0020 */
    45				u32 msb;		/* 0x0024 */
    46			};
    47		} sar;
    48		union {
    49			u64 reg;			/* 0x0028..0x002c */
    50			struct {
    51				u32 lsb;		/* 0x0028 */
    52				u32 msb;		/* 0x002c */
    53			};
    54		} dar;
    55	
    56		u32 watermark_en;			/* 0x0030 */
    57		u32 control1;				/* 0x0034 */
    58		u32 func_num;				/* 0x0038 */
    59		u32 qos;				/* 0x003c */
    60		u32 reserved;				/* 0x0040..0x007c */
    61		u32 ch_stat;				/* 0x0080 */
    62		u32 int_stat;				/* 0x0084 */
    63		u32 int_setup;				/* 0x0088 */
    64		u32 int_clear;				/* 0x008c */
    65		union {
    66			u64 reg;			/* 0x0090..0x0094 */
    67			struct {
    68				u32 lsb;		/* 0x0090 */
    69				u32 msb;		/* 0x0094 */
    70			};
  > 71		} msi_stop;
    72		union {
    73			u64 reg;			/* 0x0098..0x009c */
    74			struct {
    75				u32 lsb;		/* 0x0098 */
    76				u32 msb;		/* 0x009c */
    77			};
  > 78		} msi_watermark;
    79		union {
    80			u64 reg;			/* 0x00a0..0x00a4 */
    81			struct {
    82				u32 lsb;		/* 0x00a0 */
    83				u32 msb;		/* 0x00a4 */
    84			};
  > 85		} msi_abort;
    86		u32 msi_msgdata;			/* 0x00a8 */
    87	} __packed;
    88	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux