* [leo:next 3/3] drivers/soc/fsl/dpio/qbman-portal.c:869:14: warning: cast from pointer to integer of different size
@ 2020-02-20 11:26 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-02-20 11:26 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3782 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/leo/linux.git next
head: 3b2abda7d28c69f564c1157b9b9c21ef40092ee9
commit: 3b2abda7d28c69f564c1157b9b9c21ef40092ee9 [3/3] soc: fsl: dpio: Replace QMAN array mode with ring mode enqueue
config: i386-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-5) 7.5.0
reproduce:
git checkout 3b2abda7d28c69f564c1157b9b9c21ef40092ee9
# 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@intel.com>
All warnings (new ones prefixed by >>):
drivers/soc/fsl/dpio/qbman-portal.c: In function 'qbman_swp_enqueue_multiple_desc_direct':
>> drivers/soc/fsl/dpio/qbman-portal.c:869:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
addr_cena = (uint64_t)s->addr_cena;
^
vim +869 drivers/soc/fsl/dpio/qbman-portal.c
804
805 /**
806 * qbman_swp_enqueue_multiple_desc_direct() - Issue a multi enqueue command
807 * using multiple enqueue descriptor
808 * @s: the software portal used for enqueue
809 * @d: table of minimal enqueue descriptor
810 * @fd: table pointer of frame descriptor table to be enqueued
811 * @num_frames: number of fd to be enqueued
812 *
813 * Return the number of fd enqueued, or a negative error number.
814 */
815 static
816 int qbman_swp_enqueue_multiple_desc_direct(struct qbman_swp *s,
817 const struct qbman_eq_desc *d,
818 const struct dpaa2_fd *fd,
819 int num_frames)
820 {
821 uint32_t *p;
822 const uint32_t *cl;
823 uint32_t eqcr_ci, eqcr_pi, half_mask, full_mask;
824 int i, num_enqueued = 0;
825 uint64_t addr_cena;
826
827 half_mask = (s->eqcr.pi_ci_mask>>1);
828 full_mask = s->eqcr.pi_ci_mask;
829 if (!s->eqcr.available) {
830 eqcr_ci = s->eqcr.ci;
831 p = s->addr_cena + QBMAN_CENA_SWP_EQCR_CI;
832 s->eqcr.ci = qbman_read_register(s, QBMAN_CINH_SWP_EQCR_CI);
833 s->eqcr.available = qm_cyc_diff(s->eqcr.pi_ring_size,
834 eqcr_ci, s->eqcr.ci);
835 if (!s->eqcr.available)
836 return 0;
837 }
838
839 eqcr_pi = s->eqcr.pi;
840 num_enqueued = (s->eqcr.available < num_frames) ?
841 s->eqcr.available : num_frames;
842 s->eqcr.available -= num_enqueued;
843 /* Fill in the EQCR ring */
844 for (i = 0; i < num_enqueued; i++) {
845 p = (s->addr_cena + QBMAN_CENA_SWP_EQCR(eqcr_pi & half_mask));
846 cl = (uint32_t *)(&d[i]);
847 /* Skip copying the verb */
848 memcpy(&p[1], &cl[1], EQ_DESC_SIZE_WITHOUT_FD - 1);
849 memcpy(&p[EQ_DESC_SIZE_FD_START/sizeof(uint32_t)],
850 &fd[i], sizeof(*fd));
851 eqcr_pi++;
852 }
853
854 dma_wmb();
855
856 /* Set the verb byte, have to substitute in the valid-bit */
857 eqcr_pi = s->eqcr.pi;
858 for (i = 0; i < num_enqueued; i++) {
859 p = (s->addr_cena + QBMAN_CENA_SWP_EQCR(eqcr_pi & half_mask));
860 cl = (uint32_t *)(&d[i]);
861 p[0] = cl[0] | s->eqcr.pi_vb;
862 eqcr_pi++;
863 if (!(eqcr_pi & half_mask))
864 s->eqcr.pi_vb ^= QB_VALID_BIT;
865 }
866
867 /* Flush all the cacheline without load/store in between */
868 eqcr_pi = s->eqcr.pi;
> 869 addr_cena = (uint64_t)s->addr_cena;
870 for (i = 0; i < num_enqueued; i++)
871 eqcr_pi++;
872 s->eqcr.pi = eqcr_pi & full_mask;
873
874 return num_enqueued;
875 }
876
---
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: 72054 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-02-20 11:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-20 11:26 [leo:next 3/3] drivers/soc/fsl/dpio/qbman-portal.c:869:14: warning: cast from pointer to integer of different size kbuild test robot
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.