From: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Fri, 25 Sep 2015 16:29:50 +0800 > @@ -191,9 +191,12 @@ static void hns_rcb_ring_init(struct ring_pair_cb *ring_pair, int ring_type) > if (ring_type == RX_RING) { > dsaf_write_dev(q, RCB_RING_RX_RING_BASEADDR_L_REG, > (u32)dma); > +#ifdef CONFIG_64BIT > dsaf_write_dev(q, RCB_RING_RX_RING_BASEADDR_H_REG, > (u32)(dma >> 32)); > - > +#else > + dsaf_write_dev(q, RCB_RING_RX_RING_BASEADDR_H_REG, 0); > +#endif > dsaf_write_dev(q, RCB_RING_RX_RING_BD_LEN_REG, > bd_size_type); > dsaf_write_dev(q, RCB_RING_RX_RING_BD_NUM_REG, CONFIG_64BIT doesn't tell you if _DMA_ addresses are 64-bit or not. Furthermore there is a portable way to shift a 32-bit value down 32-bits whilst avoiding warnings. (x >> 31) >> 1 So you should definitely use that instead of the CONFIG_64BIT test. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html